@hanzo/ui 5.0.2 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/dist/accordion.js +1 -0
  2. package/dist/accordion.mjs +1 -0
  3. package/dist/alert-dialog.js +1 -0
  4. package/dist/alert-dialog.mjs +1 -0
  5. package/dist/alert.js +1 -0
  6. package/dist/alert.mjs +1 -0
  7. package/dist/avatar.js +1 -0
  8. package/dist/avatar.mjs +1 -0
  9. package/dist/badge.js +1 -0
  10. package/dist/badge.mjs +1 -0
  11. package/dist/breadcrumb.js +1 -0
  12. package/dist/breadcrumb.mjs +1 -0
  13. package/dist/calendar.js +1 -0
  14. package/dist/calendar.mjs +1 -0
  15. package/dist/carousel.js +1 -0
  16. package/dist/carousel.mjs +1 -0
  17. package/dist/checkbox.js +1 -0
  18. package/dist/checkbox.mjs +1 -0
  19. package/dist/chunk-3H5S2OQ3.mjs +1 -0
  20. package/dist/chunk-5GRJ7UQX.js +1 -0
  21. package/dist/chunk-63HNMH7C.js +1 -0
  22. package/dist/chunk-72TOQ4DM.mjs +1 -0
  23. package/dist/chunk-7AEFTV5R.mjs +1 -0
  24. package/dist/chunk-7M4AVV2R.js +1 -0
  25. package/dist/chunk-DKPVJSBC.js +1 -0
  26. package/dist/chunk-EI7MMDWY.js +1 -0
  27. package/dist/chunk-GANGDIZG.mjs +1 -0
  28. package/dist/chunk-GRGT2Z4K.js +1 -0
  29. package/dist/chunk-JCUUC6NY.mjs +1 -0
  30. package/dist/chunk-JUQMWLIN.js +1 -0
  31. package/dist/chunk-PRVEIITE.js +1 -0
  32. package/dist/chunk-SH52AKNZ.js +1 -0
  33. package/dist/chunk-TU67EJEW.mjs +1 -0
  34. package/dist/chunk-WN5KN73U.mjs +1 -0
  35. package/dist/chunk-YSXGDEY5.mjs +1 -0
  36. package/dist/chunk-Z76OOVUE.mjs +1 -0
  37. package/dist/collapsible.js +1 -0
  38. package/dist/collapsible.mjs +1 -0
  39. package/dist/command.js +1 -0
  40. package/dist/command.mjs +1 -0
  41. package/dist/context-menu.js +1 -0
  42. package/dist/context-menu.mjs +1 -0
  43. package/dist/dialog.js +1 -0
  44. package/dist/dialog.mjs +1 -0
  45. package/dist/drawer.js +1 -0
  46. package/dist/drawer.mjs +1 -0
  47. package/dist/dropdown-menu.js +1 -0
  48. package/dist/dropdown-menu.mjs +1 -0
  49. package/dist/form.js +1 -0
  50. package/dist/form.mjs +1 -0
  51. package/dist/hover-card.js +1 -0
  52. package/dist/hover-card.mjs +1 -0
  53. package/dist/index.js +1 -9079
  54. package/dist/index.mjs +1 -8700
  55. package/dist/input-otp.js +1 -0
  56. package/dist/input-otp.mjs +1 -0
  57. package/dist/lib/utils.js +1 -0
  58. package/dist/lib/utils.mjs +1 -0
  59. package/dist/navigation-menu.js +1 -0
  60. package/dist/navigation-menu.mjs +1 -0
  61. package/dist/popover.js +1 -0
  62. package/dist/popover.mjs +1 -0
  63. package/dist/progress.js +1 -0
  64. package/dist/progress.mjs +1 -0
  65. package/dist/radio-group.js +1 -0
  66. package/dist/radio-group.mjs +1 -0
  67. package/dist/resizable.js +1 -0
  68. package/dist/resizable.mjs +1 -0
  69. package/dist/scroll-area.js +1 -0
  70. package/dist/scroll-area.mjs +1 -0
  71. package/dist/select.js +1 -0
  72. package/dist/select.mjs +1 -0
  73. package/dist/separator.js +1 -0
  74. package/dist/separator.mjs +1 -0
  75. package/dist/sheet.js +1 -0
  76. package/dist/sheet.mjs +1 -0
  77. package/dist/skeleton.js +1 -0
  78. package/dist/skeleton.mjs +1 -0
  79. package/dist/slider.js +1 -0
  80. package/dist/slider.mjs +1 -0
  81. package/dist/sonner.js +1 -0
  82. package/dist/sonner.mjs +1 -0
  83. package/dist/src/utils.js +1 -0
  84. package/dist/src/utils.mjs +1 -0
  85. package/dist/switch.js +1 -0
  86. package/dist/switch.mjs +1 -0
  87. package/dist/table.js +1 -0
  88. package/dist/table.mjs +1 -0
  89. package/dist/tabs.js +1 -0
  90. package/dist/tabs.mjs +1 -0
  91. package/dist/tailwind/index.js +1 -0
  92. package/dist/tailwind/index.mjs +1 -0
  93. package/dist/textarea.js +1 -0
  94. package/dist/textarea.mjs +1 -0
  95. package/dist/toggle-group.js +1 -0
  96. package/dist/toggle-group.mjs +1 -0
  97. package/dist/toggle.js +1 -0
  98. package/dist/toggle.mjs +1 -0
  99. package/dist/tooltip.js +1 -0
  100. package/dist/tooltip.mjs +1 -0
  101. package/dist/types/index.js +1 -0
  102. package/dist/types/index.mjs +1 -0
  103. package/package.json +110 -81
  104. package/assets/ai-icons.tsx +0 -207
  105. package/assets/crypto.tsx +0 -33
  106. package/assets/file-type-icon.tsx +0 -66
  107. package/assets/file.tsx +0 -45
  108. package/assets/general.tsx +0 -2318
  109. package/assets/hanzo-logo.svg +0 -9
  110. package/assets/hanzo-logo.tsx +0 -17
  111. package/assets/index.ts +0 -122
  112. package/assets/index.tsx +0 -4
  113. package/assets/llm-provider.tsx +0 -1094
  114. package/blocks/auth/index.ts +0 -6
  115. package/blocks/auth/login-2fa.tsx +0 -165
  116. package/blocks/auth/login-basic.tsx +0 -94
  117. package/blocks/auth/login-social.tsx +0 -148
  118. package/blocks/auth/magic-link.tsx +0 -129
  119. package/blocks/auth/password-reset.tsx +0 -97
  120. package/blocks/auth/signup.tsx +0 -157
  121. package/blocks/components/accordian-block.tsx +0 -48
  122. package/blocks/components/block-component-props.ts +0 -11
  123. package/blocks/components/bullet-cards-block.tsx +0 -46
  124. package/blocks/components/card-block/index.tsx +0 -171
  125. package/blocks/components/card-block/link-out-button.tsx +0 -20
  126. package/blocks/components/card-block/util.ts +0 -28
  127. package/blocks/components/carte-blanche-block/index.tsx +0 -127
  128. package/blocks/components/carte-blanche-block/variant-content-left.tsx +0 -49
  129. package/blocks/components/content.tsx +0 -70
  130. package/blocks/components/cta-block.tsx +0 -115
  131. package/blocks/components/enh-heading-block.tsx +0 -204
  132. package/blocks/components/grid-block/grid-block-mutator.ts +0 -12
  133. package/blocks/components/grid-block/index.tsx +0 -83
  134. package/blocks/components/grid-block/mutator-registry.ts +0 -10
  135. package/blocks/components/grid-block/table-borders.mutator.ts +0 -47
  136. package/blocks/components/group-block.tsx +0 -83
  137. package/blocks/components/heading-block.tsx +0 -88
  138. package/blocks/components/image-block.tsx +0 -111
  139. package/blocks/components/index.ts +0 -30
  140. package/blocks/components/screenful-block/content.tsx +0 -123
  141. package/blocks/components/screenful-block/index.tsx +0 -107
  142. package/blocks/components/screenful-block/poster-background.tsx +0 -34
  143. package/blocks/components/screenful-block/video-background.tsx +0 -45
  144. package/blocks/components/space-block.tsx +0 -66
  145. package/blocks/components/video-block.tsx +0 -138
  146. package/blocks/data-display/activity-feed.tsx +0 -242
  147. package/blocks/data-display/data-table.tsx +0 -235
  148. package/blocks/data-display/stats-grid.tsx +0 -194
  149. package/blocks/def/accordian-block.ts +0 -14
  150. package/blocks/def/block.ts +0 -7
  151. package/blocks/def/bullet-cards-block.ts +0 -22
  152. package/blocks/def/card-block.ts +0 -22
  153. package/blocks/def/carte-blanche-block.ts +0 -21
  154. package/blocks/def/cta-block.ts +0 -19
  155. package/blocks/def/element-block.ts +0 -11
  156. package/blocks/def/enh-heading-block.ts +0 -44
  157. package/blocks/def/grid-block.ts +0 -16
  158. package/blocks/def/group-block.ts +0 -11
  159. package/blocks/def/heading-block.ts +0 -15
  160. package/blocks/def/image-block.ts +0 -31
  161. package/blocks/def/index.ts +0 -35
  162. package/blocks/def/screenful-block.ts +0 -54
  163. package/blocks/def/space-block.ts +0 -64
  164. package/blocks/def/video-block.ts +0 -9
  165. package/blocks/ecommerce/checkout.tsx +0 -242
  166. package/blocks/ecommerce/index.ts +0 -7
  167. package/blocks/ecommerce/product-detail.tsx +0 -257
  168. package/blocks/ecommerce/product-grid.tsx +0 -148
  169. package/blocks/ecommerce/shopping-cart.tsx +0 -181
  170. package/blocks/index.ts +0 -2
  171. package/blocks/marketing/cta-section.tsx +0 -207
  172. package/blocks/marketing/faq.tsx +0 -159
  173. package/blocks/marketing/features-grid.tsx +0 -156
  174. package/blocks/marketing/hero-section.tsx +0 -192
  175. package/blocks/marketing/index.ts +0 -6
  176. package/blocks/marketing/pricing-table.tsx +0 -121
  177. package/blocks/marketing/testimonials.tsx +0 -196
  178. package/components/index.ts +0 -9
  179. package/dist/index.js.map +0 -1
  180. package/dist/index.mjs.map +0 -1
  181. package/dist/tailwind.js +0 -2025
  182. package/dist/tailwind.js.map +0 -1
  183. package/dist/tailwind.mjs +0 -2013
  184. package/dist/tailwind.mjs.map +0 -1
  185. package/dist/types.js +0 -59
  186. package/dist/types.js.map +0 -1
  187. package/dist/types.mjs +0 -53
  188. package/dist/types.mjs.map +0 -1
  189. package/dist/utils.js +0 -30
  190. package/dist/utils.js.map +0 -1
  191. package/dist/utils.mjs +0 -26
  192. package/dist/utils.mjs.map +0 -1
  193. package/frameworks/core/index.ts +0 -6
  194. package/frameworks/core/utils/index.ts +0 -64
  195. package/frameworks/react/components/button.tsx +0 -26
  196. package/frameworks/react/components/index.ts +0 -5
  197. package/frameworks/react/hooks/index.ts +0 -5
  198. package/frameworks/react/index.ts +0 -9
  199. package/frameworks/react/package.json +0 -8
  200. package/frameworks/react/utils/index.ts +0 -2
  201. package/frameworks/react-native/index.ts +0 -9
  202. package/frameworks/react-native/package.json +0 -8
  203. package/frameworks/registry.json +0 -371
  204. package/frameworks/setup.sh +0 -69
  205. package/frameworks/svelte/index.ts +0 -9
  206. package/frameworks/svelte/package.json +0 -8
  207. package/frameworks/tracker.json +0 -1854
  208. package/frameworks/vue/index.ts +0 -9
  209. package/frameworks/vue/package.json +0 -8
  210. package/helpers/file.ts +0 -33
  211. package/helpers/memoization.ts +0 -40
  212. package/primitives/accordion.tsx +0 -74
  213. package/primitives/action-button.tsx +0 -42
  214. package/primitives/alert-dialog.tsx +0 -185
  215. package/primitives/alert.tsx +0 -74
  216. package/primitives/apply-typography.tsx +0 -55
  217. package/primitives/aspect-ratio.tsx +0 -5
  218. package/primitives/avatar.tsx +0 -57
  219. package/primitives/background-beams.tsx +0 -142
  220. package/primitives/badge.tsx +0 -45
  221. package/primitives/breadcrumb.tsx +0 -130
  222. package/primitives/breakpoint-indicator.tsx +0 -19
  223. package/primitives/button.tsx +0 -72
  224. package/primitives/calendar.tsx +0 -72
  225. package/primitives/card.tsx +0 -97
  226. package/primitives/carousel.tsx +0 -238
  227. package/primitives/chat/chat-input-area.tsx +0 -88
  228. package/primitives/chat/chat-input.tsx +0 -71
  229. package/primitives/chat/files-preview.tsx +0 -331
  230. package/primitives/chat/index.ts +0 -6
  231. package/primitives/chat/json-form.tsx +0 -8
  232. package/primitives/chat/message-list.tsx +0 -308
  233. package/primitives/chat/message.tsx +0 -569
  234. package/primitives/chat/sqlite-preview.tsx +0 -215
  235. package/primitives/checkbox.tsx +0 -32
  236. package/primitives/collapsible.tsx +0 -9
  237. package/primitives/combobox.tsx +0 -239
  238. package/primitives/command.tsx +0 -151
  239. package/primitives/context-menu.tsx +0 -206
  240. package/primitives/copy-to-clipboard-icon.tsx +0 -60
  241. package/primitives/dialog-video-controller.tsx +0 -38
  242. package/primitives/dialog.tsx +0 -128
  243. package/primitives/dot-pattern.tsx +0 -57
  244. package/primitives/dots-loader.tsx +0 -13
  245. package/primitives/drawer.tsx +0 -113
  246. package/primitives/dropdown-menu.tsx +0 -199
  247. package/primitives/error-message.tsx +0 -19
  248. package/primitives/file-uploader.tsx +0 -203
  249. package/primitives/form.tsx +0 -185
  250. package/primitives/hover-card.tsx +0 -28
  251. package/primitives/icons/github.tsx +0 -14
  252. package/primitives/icons/index.ts +0 -18
  253. package/primitives/icons/youtube-logo.tsx +0 -59
  254. package/primitives/index-client.ts +0 -4
  255. package/primitives/index-common.ts +0 -304
  256. package/primitives/index-next.ts +0 -4
  257. package/primitives/input-otp.tsx +0 -65
  258. package/primitives/input.tsx +0 -128
  259. package/primitives/label.tsx +0 -21
  260. package/primitives/list-adaptor.ts +0 -12
  261. package/primitives/list-box.tsx +0 -74
  262. package/primitives/loading-spinner.tsx +0 -33
  263. package/primitives/markdown-preview.tsx +0 -612
  264. package/primitives/mermaid.tsx +0 -196
  265. package/primitives/navigation-menu.tsx +0 -147
  266. package/primitives/next/image.tsx +0 -91
  267. package/primitives/next/index.ts +0 -7
  268. package/primitives/next/inline-icon.tsx +0 -36
  269. package/primitives/next/link-element.tsx +0 -109
  270. package/primitives/next/mdx-link.tsx +0 -22
  271. package/primitives/next/media-stack.tsx +0 -52
  272. package/primitives/next/nav-items.tsx +0 -45
  273. package/primitives/next/youtube-embed.tsx +0 -83
  274. package/primitives/pagination.tsx +0 -117
  275. package/primitives/popover.tsx +0 -34
  276. package/primitives/pretty-json-print.tsx +0 -28
  277. package/primitives/progress.tsx +0 -27
  278. package/primitives/prompt-textarea.tsx +0 -72
  279. package/primitives/qr-code.tsx +0 -112
  280. package/primitives/radio-group.tsx +0 -42
  281. package/primitives/resizable.tsx +0 -47
  282. package/primitives/scroll-area.tsx +0 -57
  283. package/primitives/search-input.tsx +0 -66
  284. package/primitives/select.tsx +0 -122
  285. package/primitives/separator.tsx +0 -26
  286. package/primitives/sheet.tsx +0 -139
  287. package/primitives/skeleton.tsx +0 -18
  288. package/primitives/slider.tsx +0 -63
  289. package/primitives/sonner.tsx +0 -35
  290. package/primitives/step-indicator.tsx +0 -69
  291. package/primitives/stepper.tsx +0 -272
  292. package/primitives/switch.tsx +0 -27
  293. package/primitives/table.tsx +0 -105
  294. package/primitives/tabs.tsx +0 -50
  295. package/primitives/text-area.tsx +0 -26
  296. package/primitives/text-link.tsx +0 -27
  297. package/primitives/textarea.tsx +0 -64
  298. package/primitives/textfield.tsx +0 -78
  299. package/primitives/toast.tsx +0 -30
  300. package/primitives/toggle-group.tsx +0 -63
  301. package/primitives/toggle.tsx +0 -44
  302. package/primitives/tooltip.tsx +0 -47
  303. package/primitives/video-player.tsx +0 -23
  304. package/src/button.ts +0 -1
  305. package/src/hooks/index.ts +0 -7
  306. package/src/hooks/use-click-away.ts +0 -31
  307. package/src/hooks/use-combined-refs.ts +0 -22
  308. package/src/hooks/use-copy-clipboard.ts +0 -30
  309. package/src/hooks/use-debounce.ts +0 -17
  310. package/src/hooks/use-fill-ids.ts +0 -25
  311. package/src/hooks/use-map.ts +0 -26
  312. package/src/hooks/use-measure.ts +0 -42
  313. package/src/hooks/use-reverse-video-playback.ts +0 -43
  314. package/src/hooks/use-scroll-restoration.ts +0 -50
  315. package/src/index-lean.ts +0 -87
  316. package/src/index.ts +0 -54
  317. package/src/mcp/README.md +0 -141
  318. package/src/mcp/enhanced-server.ts +0 -1208
  319. package/src/mcp/index.ts +0 -518
  320. package/src/mcp/package.json +0 -10
  321. package/src/registry/api.ts +0 -164
  322. package/src/registry/index.ts +0 -60
  323. package/src/registry/package.json +0 -10
  324. package/src/utils.ts +0 -19
  325. package/tailwind/colors.tailwind.js +0 -53
  326. package/tailwind/fontFamily.tailwind.ts +0 -7
  327. package/tailwind/fontSize.tailwind.ts +0 -13
  328. package/tailwind/index.ts +0 -7
  329. package/tailwind/safelist.tailwind.js +0 -26
  330. package/tailwind/screens.tailwind.js +0 -8
  331. package/tailwind/spacing.tailwind.js +0 -65
  332. package/tailwind/tailwind.config.hanzo-preset.d.ts +0 -5
  333. package/tailwind/tailwind.config.hanzo-preset.js +0 -915
  334. package/tailwind/tw-font-desc.ts +0 -15
  335. package/tailwind/typo-plugin/get-plugin-styles.js +0 -679
  336. package/tailwind/typo-plugin/index.d.ts +0 -9
  337. package/tailwind/typo-plugin/index.js +0 -141
  338. package/tailwind/typo-plugin/utils.js +0 -60
  339. package/tailwind/typography-test.mdx +0 -35
  340. package/tailwind/z-index.tailwind.js +0 -71
  341. package/types/animation-def.ts +0 -3
  342. package/types/breakpoints.ts +0 -11
  343. package/types/bullet-item.ts +0 -10
  344. package/types/button-def.ts +0 -39
  345. package/types/dimensions.ts +0 -8
  346. package/types/grid-def.ts +0 -56
  347. package/types/image-def.ts +0 -32
  348. package/types/index.ts +0 -30
  349. package/types/link-def.ts +0 -56
  350. package/types/media-stack-def.ts +0 -31
  351. package/types/t-shirt-size.ts +0 -5
  352. package/types/tshirt-dimensions.ts +0 -20
  353. package/types/video-def.ts +0 -25
  354. package/util/blob.ts +0 -33
  355. package/util/copy-to-clipboard.ts +0 -17
  356. package/util/create-shadow-root.ts +0 -22
  357. package/util/date.ts +0 -84
  358. package/util/debounce.ts +0 -11
  359. package/util/file.ts +0 -15
  360. package/util/format-and-abbreviate-as-currency.ts +0 -125
  361. package/util/format-text.ts +0 -34
  362. package/util/format-to-max-char.ts +0 -68
  363. package/util/index-client.ts +0 -3
  364. package/util/index.ts +0 -112
  365. package/util/number-abbreviate.ts +0 -49
  366. package/util/specifier.ts +0 -43
  367. package/util/spread-to-transform.ts +0 -25
  368. package/util/step-animation.ts +0 -90
  369. package/util/timing.ts +0 -3
  370. package/util/toasts.tsx +0 -17
  371. package/util/two-way-map.ts +0 -19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "5.0.2",
3
+ "version": "5.1.0",
4
4
  "description": "Multi-framework UI library with React, Vue, Svelte, and React Native support. Based on shadcn/ui with comprehensive framework coverage.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",
@@ -17,16 +17,6 @@
17
17
  "dist",
18
18
  "style",
19
19
  "bin",
20
- "primitives",
21
- "blocks",
22
- "components",
23
- "assets",
24
- "frameworks",
25
- "helpers",
26
- "types",
27
- "util",
28
- "src",
29
- "tailwind",
30
20
  "README.md",
31
21
  "LICENSE"
32
22
  ],
@@ -53,9 +43,8 @@
53
43
  "lat": "npm show @hanzo/ui version",
54
44
  "pub": "npm publish",
55
45
  "tc": "tsc --project tsconfig.build.json",
56
- "build": "npm run clean && npm run build:tsup && npm run postbuild",
46
+ "build": "npm run clean && npm run build:tsup",
57
47
  "build:tsup": "tsup --config tsup.config.minimal.ts",
58
- "postbuild": "node scripts/add-use-client.js",
59
48
  "build:full": "tsup --config tsup.config.production.ts",
60
49
  "build:frameworks": "npm run build",
61
50
  "build:watch": "tsup --watch",
@@ -74,35 +63,61 @@
74
63
  "hanzo-ui": "./bin/cli.js"
75
64
  },
76
65
  "exports": {
66
+ "./package.json": "./package.json",
77
67
  ".": {
78
68
  "types": "./dist/index.d.ts",
79
69
  "import": "./dist/index.mjs",
80
70
  "require": "./dist/index.js"
81
71
  },
82
- "./utils": {
83
- "types": "./dist/utils.d.ts",
84
- "import": "./dist/utils.mjs",
85
- "require": "./dist/utils.js"
72
+ "./calendar": {
73
+ "types": "./dist/calendar.d.ts",
74
+ "import": "./dist/calendar.mjs",
75
+ "require": "./dist/calendar.js"
86
76
  },
87
- "./types": {
88
- "types": "./dist/types.d.ts",
89
- "import": "./dist/types.mjs",
90
- "require": "./dist/types.js"
77
+ "./command": {
78
+ "types": "./dist/command.d.ts",
79
+ "import": "./dist/command.mjs",
80
+ "require": "./dist/command.js"
91
81
  },
92
- "./tailwind": {
93
- "types": "./dist/tailwind.d.ts",
94
- "import": "./dist/tailwind.mjs",
95
- "require": "./dist/tailwind.js"
82
+ "./carousel": {
83
+ "types": "./dist/carousel.d.ts",
84
+ "import": "./dist/carousel.mjs",
85
+ "require": "./dist/carousel.js"
86
+ },
87
+ "./form": {
88
+ "types": "./dist/form.d.ts",
89
+ "import": "./dist/form.mjs",
90
+ "require": "./dist/form.js"
91
+ },
92
+ "./drawer": {
93
+ "types": "./dist/drawer.d.ts",
94
+ "import": "./dist/drawer.mjs",
95
+ "require": "./dist/drawer.js"
96
+ },
97
+ "./sonner": {
98
+ "types": "./dist/sonner.d.ts",
99
+ "import": "./dist/sonner.mjs",
100
+ "require": "./dist/sonner.js"
101
+ },
102
+ "./input-otp": {
103
+ "types": "./dist/input-otp.d.ts",
104
+ "import": "./dist/input-otp.mjs",
105
+ "require": "./dist/input-otp.js"
106
+ },
107
+ "./resizable": {
108
+ "types": "./dist/resizable.d.ts",
109
+ "import": "./dist/resizable.mjs",
110
+ "require": "./dist/resizable.js"
96
111
  },
97
112
  "./assets": {
98
- "types": "./assets/index.ts",
99
- "import": "./assets/index.ts",
100
- "require": "./assets/index.ts"
113
+ "types": "./dist/assets/index.d.ts",
114
+ "import": "./dist/assets/index.mjs",
115
+ "require": "./dist/assets/index.js"
101
116
  },
102
- "./helpers": {
103
- "types": "./helpers/index.ts",
104
- "import": "./helpers/index.ts",
105
- "require": "./helpers/index.ts"
117
+ "./assets/*": {
118
+ "types": "./dist/assets/*.d.ts",
119
+ "import": "./dist/assets/*.mjs",
120
+ "require": "./dist/assets/*.js"
106
121
  },
107
122
  "./blocks": {
108
123
  "types": "./dist/blocks/index.d.ts",
@@ -144,22 +159,21 @@
144
159
  "import": "./dist/src/registry/index.mjs",
145
160
  "require": "./dist/src/registry/index.js"
146
161
  },
147
- "./hooks": {
148
- "types": "./dist/src/hooks/index.d.ts",
149
- "import": "./dist/src/hooks/index.mjs",
150
- "require": "./dist/src/hooks/index.js"
151
- },
152
- "./style": "./style",
153
162
  "./style/*": "./style/*",
163
+ "./tailwind": {
164
+ "types": "./dist/tailwind/index.d.ts",
165
+ "import": "./dist/tailwind/index.mjs",
166
+ "require": "./dist/tailwind/index.js"
167
+ },
154
168
  "./tailwind/*": {
155
169
  "types": "./dist/tailwind/*.d.ts",
156
170
  "import": "./dist/tailwind/*.mjs",
157
171
  "require": "./dist/tailwind/*.js"
158
172
  },
159
- "./tailwind/config": {
160
- "types": "./dist/tailwind/tailwind.config.hanzo-preset.d.ts",
161
- "import": "./tailwind/tailwind.config.hanzo-preset.js",
162
- "require": "./tailwind/tailwind.config.hanzo-preset.js"
173
+ "./types": {
174
+ "types": "./dist/types/index.d.ts",
175
+ "import": "./dist/types/index.mjs",
176
+ "require": "./dist/types/index.js"
163
177
  },
164
178
  "./types/*": {
165
179
  "types": "./dist/types/*.d.ts",
@@ -176,17 +190,16 @@
176
190
  "import": "./dist/util/*.mjs",
177
191
  "require": "./dist/util/*.js"
178
192
  },
179
- "./util/format-text": {
180
- "types": "./dist/util/format-text.d.ts",
181
- "import": "./dist/util/format-text.mjs",
182
- "require": "./dist/util/format-text.js"
183
- },
184
193
  "./util-client": {
185
194
  "types": "./dist/util/index-client.d.ts",
186
195
  "import": "./dist/util/index-client.mjs",
187
196
  "require": "./dist/util/index-client.js"
188
197
  },
189
-
198
+ "./utils": {
199
+ "types": "./dist/src/utils.d.ts",
200
+ "import": "./dist/src/utils.mjs",
201
+ "require": "./dist/src/utils.js"
202
+ },
190
203
  "./lib/utils": {
191
204
  "types": "./dist/src/utils.d.ts",
192
205
  "import": "./dist/src/utils.mjs",
@@ -197,11 +210,6 @@
197
210
  "import": "./dist/src/mcp/index.mjs",
198
211
  "require": "./dist/src/mcp/index.js"
199
212
  },
200
- "./theme-provider": {
201
- "types": "./dist/style/theme-provider.d.ts",
202
- "import": "./dist/style/theme-provider.mjs",
203
- "require": "./dist/style/theme-provider.js"
204
- },
205
213
  "./react": {
206
214
  "types": "./dist/frameworks/react/index.d.ts",
207
215
  "import": "./dist/frameworks/react/index.mjs",
@@ -222,21 +230,20 @@
222
230
  "types": "./dist/frameworks/react-native/index.d.ts",
223
231
  "import": "./dist/frameworks/react-native/index.mjs",
224
232
  "require": "./dist/frameworks/react-native/index.js"
225
- },
226
- "./package.json": "./package.json"
233
+ }
227
234
  },
228
235
  "dependencies": {
229
236
  "@hanzo/react-drawer": "^0.1.8",
230
237
  "@modelcontextprotocol/sdk": "^1.10.2",
231
238
  "@next/third-parties": "^15.0.1",
232
- "@radix-ui/react-accordion": "^1.1.2",
239
+ "@radix-ui/react-accordion": "^1.2.11",
233
240
  "@radix-ui/react-alert-dialog": "^1.1.15",
234
241
  "@radix-ui/react-aspect-ratio": "^1.0.3",
235
242
  "@radix-ui/react-avatar": "^1.0.3",
236
243
  "@radix-ui/react-checkbox": "^1.0.4",
237
244
  "@radix-ui/react-collapsible": "^1.1.12",
238
245
  "@radix-ui/react-context-menu": "^2.2.2",
239
- "@radix-ui/react-dialog": "^1.0.5",
246
+ "@radix-ui/react-dialog": "^1.1.15",
240
247
  "@radix-ui/react-dropdown-menu": "^2.1.16",
241
248
  "@radix-ui/react-hover-card": "^1.1.15",
242
249
  "@radix-ui/react-icons": "^1.3.0",
@@ -249,7 +256,7 @@
249
256
  "@radix-ui/react-select": "^2.0.0",
250
257
  "@radix-ui/react-separator": "^1.0.3",
251
258
  "@radix-ui/react-slider": "^1.1.2",
252
- "@radix-ui/react-slot": "^1.0.2",
259
+ "@radix-ui/react-slot": "^1.2.3",
253
260
  "@radix-ui/react-switch": "^1.0.3",
254
261
  "@radix-ui/react-tabs": "^1.0.4",
255
262
  "@radix-ui/react-toast": "^1.1.5",
@@ -262,50 +269,72 @@
262
269
  "clsx": "^2.1.1",
263
270
  "cmdk": "^0.2.0",
264
271
  "commander": "^12.1.0",
265
- "date-fns": "^3.6.0",
266
- "embla-carousel-react": "8.5.1",
267
- "filesize": "^11.0.2",
268
- "framer-motion": "^11.15.0",
269
- "input-otp": "^1.0.1",
272
+ "date-fns": "^3.0.0",
273
+ "embla-carousel-react": "^8.0.0",
274
+ "input-otp": "^1.2.4",
270
275
  "lodash.castarray": "^4.4.0",
271
276
  "lodash.isplainobject": "^4.0.6",
272
277
  "lodash.merge": "^4.6.2",
273
- "lucide-react": "0.456.0",
274
- "markdown-to-jsx": "^7.7.13",
275
- "mermaid": "^11.12.0",
276
278
  "postcss-selector-parser": "^6.0.16",
277
- "qrcode.react": "^4.2.0",
278
- "react-day-picker": "^8.10.1",
279
- "react-dropzone": "^14.3.5",
279
+ "react-day-picker": "^9.0.0",
280
+ "react-hook-form": "^7.49.0",
280
281
  "react-intersection-observer": "^9.8.2",
281
- "react-markdown": "^9.0.3",
282
- "react-resizable-panels": "^3.0.6",
283
- "react-syntax-highlighter": "^15.6.1",
284
- "rehype-katex": "^7.0.1",
285
- "remark-gfm": "^4.0.0",
286
- "remark-math": "^6.0.0",
287
- "sonner": "^1.4.41",
288
- "sql.js": "^1.13.0",
282
+ "react-resizable-panels": "^1.0.5",
283
+ "recharts": "^2.10.0",
284
+ "sonner": "^1.3.1",
289
285
  "svg-pan-zoom": "^3.6.2",
290
286
  "tailwind-merge": "^2.6.0",
291
287
  "tailwindcss-animate": "^1.0.7",
292
288
  "tailwindcss-interaction-media": "^0.1.0",
293
- "vaul": "^1.1.2",
294
- "zod": "^3.23.8",
289
+ "vaul": "^0.9.0",
290
+ "zod": "^3.25.76",
295
291
  "zod-to-json-schema": "^3.23.2"
296
292
  },
297
293
  "peerDependencies": {
298
294
  "@hookform/resolvers": "^3.3.2",
299
- "embla-carousel": "^8.1.6",
300
295
  "lucide-react": "0.456.0",
301
296
  "mobx": "^6.12.3",
302
297
  "next": "14.2.16",
303
298
  "next-themes": "^0.2.1",
304
299
  "react": "18.3.1",
305
300
  "react-dom": "18.3.1",
306
- "react-hook-form": "7.51.4",
307
301
  "validator": "^13.11.0"
308
302
  },
303
+ "peerDependenciesMeta": {
304
+ "cmdk": {
305
+ "optional": true
306
+ },
307
+ "date-fns": {
308
+ "optional": true
309
+ },
310
+ "embla-carousel": {
311
+ "optional": true
312
+ },
313
+ "embla-carousel-react": {
314
+ "optional": true
315
+ },
316
+ "input-otp": {
317
+ "optional": true
318
+ },
319
+ "react-day-picker": {
320
+ "optional": true
321
+ },
322
+ "react-hook-form": {
323
+ "optional": true
324
+ },
325
+ "react-resizable-panels": {
326
+ "optional": true
327
+ },
328
+ "recharts": {
329
+ "optional": true
330
+ },
331
+ "sonner": {
332
+ "optional": true
333
+ },
334
+ "vaul": {
335
+ "optional": true
336
+ }
337
+ },
309
338
  "devDependencies": {
310
339
  "@mdx-js/loader": "^3.0.0",
311
340
  "@mdx-js/react": "^3.0.0",
@@ -1,207 +0,0 @@
1
- // AI provider icon implementations
2
- import React from 'react';
3
- import { cn } from '../src/utils';
4
- import { BrainIcon, ServerIcon, BotIcon, SparklesIcon, CpuIcon, ZapIcon, RocketIcon, ActivityIcon, NetworkIcon } from 'lucide-react';
5
-
6
- // Simple placeholder icons for AI providers - replace with actual brand icons when available
7
- export const AnthropicIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
8
- ({ className, ...props }, ref) => (
9
- <BrainIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
10
- )
11
- );
12
- AnthropicIcon.displayName = 'AnthropicIcon';
13
-
14
- export const AyaCohereIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
15
- ({ className, ...props }, ref) => (
16
- <SparklesIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
17
- )
18
- );
19
- AyaCohereIcon.displayName = 'AyaCohereIcon';
20
-
21
- export const DeepSeekIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
22
- ({ className, ...props }, ref) => (
23
- <CpuIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
24
- )
25
- );
26
- DeepSeekIcon.displayName = 'DeepSeekIcon';
27
-
28
- export const ExoIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
29
- ({ className, ...props }, ref) => (
30
- <ServerIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
31
- )
32
- );
33
- ExoIcon.displayName = 'ExoIcon';
34
-
35
- export const GeminiIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
36
- ({ className, ...props }, ref) => (
37
- <SparklesIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
38
- )
39
- );
40
- GeminiIcon.displayName = 'GeminiIcon';
41
-
42
- export const GoogleIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
43
- ({ className, ...props }, ref) => (
44
- <svg ref={ref} className={cn("h-4 w-4", className)} viewBox="0 0 24 24" fill="currentColor" {...props}>
45
- <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>
46
- </svg>
47
- )
48
- );
49
- GoogleIcon.displayName = 'GoogleIcon';
50
-
51
- export const GrokIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
52
- ({ className, ...props }, ref) => (
53
- <ZapIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
54
- )
55
- );
56
- GrokIcon.displayName = 'GrokIcon';
57
-
58
- export const GroqIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
59
- ({ className, ...props }, ref) => (
60
- <RocketIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
61
- )
62
- );
63
- GroqIcon.displayName = 'GroqIcon';
64
-
65
- export const LmStudioIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
66
- ({ className, ...props }, ref) => (
67
- <ServerIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
68
- )
69
- );
70
- LmStudioIcon.displayName = 'LmStudioIcon';
71
-
72
- export const MetaIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
73
- ({ className, ...props }, ref) => (
74
- <svg ref={ref} className={cn("h-4 w-4", className)} viewBox="0 0 24 24" fill="currentColor" {...props}>
75
- <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 2c4.41 0 8 3.59 8 8s-3.59 8-8 8-8-3.59-8-8 3.59-8 8-8z"/>
76
- </svg>
77
- )
78
- );
79
- MetaIcon.displayName = 'MetaIcon';
80
-
81
- export const MistralIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
82
- ({ className, ...props }, ref) => (
83
- <ActivityIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
84
- )
85
- );
86
- MistralIcon.displayName = 'MistralIcon';
87
-
88
- export const OllamaIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
89
- ({ className, ...props }, ref) => (
90
- <ServerIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
91
- )
92
- );
93
- OllamaIcon.displayName = 'OllamaIcon';
94
-
95
- export const OpenAIIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
96
- ({ className, ...props }, ref) => (
97
- <BotIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
98
- )
99
- );
100
- OpenAIIcon.displayName = 'OpenAIIcon';
101
-
102
- export const OpenRouterIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
103
- ({ className, ...props }, ref) => (
104
- <NetworkIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
105
- )
106
- );
107
- OpenRouterIcon.displayName = 'OpenRouterIcon';
108
-
109
- export const PerplexityIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
110
- ({ className, ...props }, ref) => (
111
- <SparklesIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
112
- )
113
- );
114
- PerplexityIcon.displayName = 'PerplexityIcon';
115
-
116
- export const QwenIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
117
- ({ className, ...props }, ref) => (
118
- <CpuIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
119
- )
120
- );
121
- QwenIcon.displayName = 'QwenIcon';
122
-
123
- export const HanzoIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
124
- ({ className, ...props }, ref) => (
125
- <svg ref={ref} className={cn("h-4 w-4", className)} viewBox="0 0 24 24" fill="currentColor" {...props}>
126
- <path d="M12 2L2 7v10c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V7l-10-5z"/>
127
- </svg>
128
- )
129
- );
130
- HanzoIcon.displayName = 'HanzoIcon';
131
-
132
- export const TogetherAI = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
133
- ({ className, ...props }, ref) => (
134
- <NetworkIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
135
- )
136
- );
137
- TogetherAI.displayName = 'TogetherAI';
138
-
139
- // Generic AI icon for providers without specific icons
140
- export const AisIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
141
- ({ className, ...props }, ref) => (
142
- <BrainIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
143
- )
144
- );
145
- AisIcon.displayName = 'AisIcon';
146
-
147
- // Also export the ScheduledTasksIcon and SendIcon that might be needed
148
- export const ScheduledTasksIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
149
- ({ className, ...props }, ref) => (
150
- <ActivityIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
151
- )
152
- );
153
- ScheduledTasksIcon.displayName = 'ScheduledTasksIcon';
154
-
155
- export const SendIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
156
- ({ className, ...props }, ref) => (
157
- <svg ref={ref} className={cn("h-4 w-4", className)} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" {...props}>
158
- <line x1="22" y1="2" x2="11" y2="13"></line>
159
- <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>
160
- </svg>
161
- )
162
- );
163
- SendIcon.displayName = 'SendIcon';
164
-
165
- export const ReactJsIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
166
- ({ className, ...props }, ref) => (
167
- <svg ref={ref} className={cn("h-4 w-4", className)} viewBox="0 0 24 24" fill="currentColor" {...props}>
168
- <circle cx="12" cy="12" r="10" fill="none" stroke="currentColor" strokeWidth="2"/>
169
- <circle cx="12" cy="12" r="3" fill="currentColor"/>
170
- <circle cx="12" cy="6" r="2" fill="currentColor"/>
171
- <circle cx="18" cy="15" r="2" fill="currentColor"/>
172
- <circle cx="6" cy="15" r="2" fill="currentColor"/>
173
- <path d="M12 12 L12 6 M12 12 L18 15 M12 12 L6 15" stroke="currentColor" strokeWidth="1.5"/>
174
- </svg>
175
- )
176
- );
177
- ReactJsIcon.displayName = 'ReactJsIcon';
178
-
179
- export const ReasoningIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
180
- ({ className, ...props }, ref) => (
181
- <BrainIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
182
- )
183
- );
184
- ReasoningIcon.displayName = 'ReasoningIcon';
185
-
186
- export const ToolsIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
187
- ({ className, ...props }, ref) => (
188
- <svg ref={ref} className={cn("h-4 w-4", className)} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" {...props}>
189
- <path d="M14 2l1.5 1.5v5.5L21 9v6l-5.5-.5V21L14 22l-2-7-2 7-1.5-1V14.5L3 15V9l5.5.5V4L10 2h4z"/>
190
- </svg>
191
- )
192
- );
193
- ToolsIcon.displayName = 'ToolsIcon';
194
-
195
- export const AIAgentIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
196
- ({ className, ...props }, ref) => (
197
- <BotIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
198
- )
199
- );
200
- AIAgentIcon.displayName = 'AIAgentIcon';
201
-
202
- export const TracingIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(
203
- ({ className, ...props }, ref) => (
204
- <ActivityIcon ref={ref} className={cn("h-4 w-4", className)} {...props} />
205
- )
206
- );
207
- TracingIcon.displayName = 'TracingIcon';
package/assets/crypto.tsx DELETED
@@ -1,33 +0,0 @@
1
- import { cn } from '../src/utils';
2
-
3
- export const EthereumIcon = ({ className }: { className?: string }) => (
4
- <svg
5
- className={cn('shrink-0', className)}
6
- width="16"
7
- height="16"
8
- fill="none"
9
- viewBox="0 0 24 24"
10
- >
11
- <path
12
- fill="#fff"
13
- d="M12 3v6.65l5.625 2.516zm0 0-5.625 9.166L12 9.651zm0 13.477v4.522l5.625-7.784zM12 21v-4.523l-5.625-3.262z"
14
- />
15
- </svg>
16
- );
17
-
18
- export const USDCIcon = ({ className }: { className?: string }) => (
19
- <svg
20
- width="16"
21
- className={cn('shrink-0', className)}
22
- height="16"
23
- fill="none"
24
- viewBox="0 0 24 24"
25
- >
26
- <path
27
- fill="#fff"
28
- fillRule="evenodd"
29
- d="M12 21c4.99 0 9-4.01 9-9s-4.01-9-9-9-9 4.01-9 9 4.01 9 9 9m2.475-7.578c0-1.31-.787-1.76-2.362-1.946-1.125-.152-1.35-.45-1.35-.978 0-.523.377-.86 1.125-.86.675 0 1.052.224 1.237.787.04.112.152.185.265.185h.596a.256.256 0 0 0 .264-.259v-.039c-.152-.827-.827-1.614-1.687-1.687v-.827c0-.152-.113-.265-.298-.298h-.495c-.152 0-.293.112-.332.298v.827c-1.125.151-1.873 1.012-1.873 1.951 0 1.238.748 1.722 2.323 1.913 1.052.185 1.39.41 1.39 1.012 0 .597-.53 1.013-1.238 1.013-.98 0-1.316-.416-1.429-.979-.034-.146-.146-.225-.259-.225h-.641a.256.256 0 0 0-.259.264v.04c.146.934.748 1.575 1.986 1.76v.833c0 .152.112.253.298.293h.54c.146 0 .248-.102.287-.293v-.833c1.125-.185 1.912-.939 1.912-1.952"
30
- clipRule="evenodd"
31
- />
32
- </svg>
33
- );
@@ -1,66 +0,0 @@
1
- // FileTypeIcon component
2
- import React from 'react';
3
- import { cn } from '../src/utils';
4
- import { FileIcon, FolderIcon, ImageIcon, FileTextIcon, FileCodeIcon, FileArchiveIcon } from 'lucide-react';
5
-
6
- export interface FileTypeIconProps extends React.SVGProps<SVGSVGElement> {
7
- type?: string;
8
- }
9
-
10
- const getIconForType = (type?: string) => {
11
- if (!type) return FileIcon;
12
-
13
- const lowerType = type.toLowerCase();
14
-
15
- // Image files
16
- if (['png', 'jpg', 'jpeg', 'gif', 'svg', 'webp', 'ico', 'bmp'].includes(lowerType)) {
17
- return ImageIcon;
18
- }
19
-
20
- // Document files
21
- if (['pdf', 'doc', 'docx', 'txt', 'md', 'rtf'].includes(lowerType)) {
22
- return FileTextIcon;
23
- }
24
-
25
- // Code files
26
- if (['js', 'jsx', 'ts', 'tsx', 'html', 'css', 'scss', 'json', 'xml', 'py', 'java', 'c', 'cpp', 'rs', 'go'].includes(lowerType)) {
27
- return FileCodeIcon;
28
- }
29
-
30
- // Archive files
31
- if (['zip', 'rar', '7z', 'tar', 'gz', 'bz2', 'xz'].includes(lowerType)) {
32
- return FileArchiveIcon;
33
- }
34
-
35
- return FileIcon;
36
- };
37
-
38
- export const FileTypeIcon = React.forwardRef<SVGSVGElement, FileTypeIconProps>(
39
- ({ type, className, ...props }, ref) => {
40
- const Icon = getIconForType(type);
41
-
42
- return (
43
- <Icon
44
- ref={ref}
45
- className={cn("h-4 w-4", className)}
46
- {...props}
47
- />
48
- );
49
- }
50
- );
51
-
52
- FileTypeIcon.displayName = 'FileTypeIcon';
53
-
54
- export const DirectoryTypeIcon = React.forwardRef<SVGSVGElement, Omit<FileTypeIconProps, 'type'>>(
55
- ({ className, ...props }, ref) => {
56
- return (
57
- <FolderIcon
58
- ref={ref}
59
- className={cn("h-4 w-4", className)}
60
- {...props}
61
- />
62
- );
63
- }
64
- );
65
-
66
- DirectoryTypeIcon.displayName = 'DirectoryTypeIcon';
package/assets/file.tsx DELETED
@@ -1,45 +0,0 @@
1
- // File icon map - placeholder for now
2
- // TODO: Add actual file icons when SVG assets are available
3
-
4
- export const fileIconMap: Record<string, string> = {
5
- aep: '',
6
- ai: '',
7
- avi: '',
8
- css: '',
9
- csv: '',
10
- dmg: '',
11
- doc: '',
12
- docx: '',
13
- gif: '',
14
- html: '',
15
- jpeg: '',
16
- jpg: '',
17
- js: '',
18
- json: '',
19
- pdf: '',
20
- png: '',
21
- ppt: '',
22
- pptx: '',
23
- psd: '',
24
- svg: '',
25
- xls: '',
26
- xlsx: '',
27
- xml: '',
28
- };
29
-
30
- export const PaperClipIcon = ({ className }: { className?: string }) => (
31
- <svg
32
- xmlns="http://www.w3.org/2000/svg"
33
- fill="none"
34
- viewBox="0 0 24 24"
35
- strokeWidth={1.5}
36
- stroke="currentColor"
37
- className={className}
38
- >
39
- <path
40
- strokeLinecap="round"
41
- strokeLinejoin="round"
42
- d="m18.375 12.739-7.693 7.693a4.5 4.5 0 0 1-6.364-6.364l10.94-10.94A3 3 0 1 1 19.5 7.372L8.552 18.32m.009-.01-.01.01m5.699-9.941-7.81 7.81a1.5 1.5 0 0 0 2.112 2.13"
43
- />
44
- </svg>
45
- );