@hanzo/ui 4.4.3 → 4.5.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 (321) hide show
  1. package/MCP-INSTRUCTIONS.md +73 -0
  2. package/README-MCP.md +175 -0
  3. package/bin/cli.js +100 -0
  4. package/bin/create-registry.js +108 -0
  5. package/bin/mcp.js +403 -0
  6. package/bin/npx-registry-mcp.js +15 -0
  7. package/bin/registry-mcp-wrapper.sh +19 -0
  8. package/bin/registry-mcp.js +100 -0
  9. package/bin/start-mcp-server.sh +22 -0
  10. package/bin/test-mcp.sh +52 -0
  11. package/bin/update-registry.js +196 -0
  12. package/blocks/components/enh-heading-block.tsx +1 -2
  13. package/blocks/components/screenful-block/index.tsx +2 -0
  14. package/blocks/def/card-block.ts +1 -3
  15. package/blocks/def/enh-heading-block.ts +1 -2
  16. package/dist/blocks/components/accordian-block.d.ts +4 -0
  17. package/dist/blocks/components/accordian-block.jsx +25 -0
  18. package/dist/blocks/components/block-component-props.d.ts +7 -0
  19. package/dist/blocks/components/block-component-props.js +1 -0
  20. package/dist/blocks/components/bullet-cards-block.d.ts +4 -0
  21. package/dist/blocks/components/bullet-cards-block.jsx +25 -0
  22. package/dist/blocks/components/card-block/index.d.ts +6 -0
  23. package/dist/blocks/components/card-block/index.jsx +87 -0
  24. package/dist/blocks/components/card-block/link-out-button.d.ts +6 -0
  25. package/dist/blocks/components/card-block/link-out-button.jsx +4 -0
  26. package/dist/blocks/components/card-block/util.d.ts +4 -0
  27. package/dist/blocks/components/card-block/util.js +6 -0
  28. package/dist/blocks/components/carte-blanche-block/index.d.ts +4 -0
  29. package/dist/blocks/components/carte-blanche-block/index.jsx +82 -0
  30. package/dist/blocks/components/carte-blanche-block/variant-content-left.d.ts +10 -0
  31. package/dist/blocks/components/carte-blanche-block/variant-content-left.jsx +23 -0
  32. package/dist/blocks/components/content.d.ts +10 -0
  33. package/dist/blocks/components/content.jsx +47 -0
  34. package/dist/blocks/components/cta-block.d.ts +12 -0
  35. package/dist/blocks/components/cta-block.jsx +69 -0
  36. package/dist/blocks/components/enh-heading-block.d.ts +7 -0
  37. package/dist/blocks/components/enh-heading-block.jsx +142 -0
  38. package/dist/blocks/components/grid-block/grid-block-mutator.d.ts +5 -0
  39. package/dist/blocks/components/grid-block/grid-block-mutator.js +1 -0
  40. package/dist/blocks/components/grid-block/index.d.ts +9 -0
  41. package/dist/blocks/components/grid-block/index.jsx +56 -0
  42. package/dist/blocks/components/grid-block/mutator-registry.d.ts +3 -0
  43. package/dist/blocks/components/grid-block/mutator-registry.js +5 -0
  44. package/dist/blocks/components/grid-block/table-borders.mutator.d.ts +3 -0
  45. package/dist/blocks/components/grid-block/table-borders.mutator.js +36 -0
  46. package/dist/blocks/components/group-block.d.ts +7 -0
  47. package/dist/blocks/components/group-block.jsx +61 -0
  48. package/dist/blocks/components/heading-block.d.ts +4 -0
  49. package/dist/blocks/components/heading-block.jsx +99 -0
  50. package/dist/blocks/components/image-block.d.ts +7 -0
  51. package/dist/blocks/components/image-block.jsx +69 -0
  52. package/dist/blocks/components/index.d.ts +14 -0
  53. package/dist/blocks/components/index.js +13 -0
  54. package/dist/blocks/components/screenful-block/content.d.ts +8 -0
  55. package/dist/blocks/components/screenful-block/content.jsx +71 -0
  56. package/dist/blocks/components/screenful-block/index.d.ts +12 -0
  57. package/dist/blocks/components/screenful-block/index.jsx +57 -0
  58. package/dist/blocks/components/screenful-block/poster-background.d.ts +7 -0
  59. package/dist/blocks/components/screenful-block/poster-background.jsx +14 -0
  60. package/dist/blocks/components/screenful-block/video-background.d.ts +8 -0
  61. package/dist/blocks/components/screenful-block/video-background.jsx +20 -0
  62. package/dist/blocks/components/space-block.d.ts +4 -0
  63. package/dist/blocks/components/space-block.jsx +42 -0
  64. package/dist/blocks/components/video-block.d.ts +9 -0
  65. package/dist/blocks/components/video-block.jsx +83 -0
  66. package/dist/blocks/def/accordian-block.d.ts +10 -0
  67. package/dist/blocks/def/accordian-block.js +2 -0
  68. package/dist/blocks/def/block.d.ts +4 -0
  69. package/dist/blocks/def/block.js +1 -0
  70. package/dist/blocks/def/bullet-cards-block.d.ts +17 -0
  71. package/dist/blocks/def/bullet-cards-block.js +1 -0
  72. package/dist/blocks/def/card-block.d.ts +17 -0
  73. package/dist/blocks/def/card-block.js +2 -0
  74. package/dist/blocks/def/carte-blanche-block.d.ts +12 -0
  75. package/dist/blocks/def/carte-blanche-block.js +1 -0
  76. package/dist/blocks/def/cta-block.d.ts +8 -0
  77. package/dist/blocks/def/cta-block.js +1 -0
  78. package/dist/blocks/def/element-block.d.ts +7 -0
  79. package/dist/blocks/def/element-block.js +2 -0
  80. package/dist/blocks/def/enh-heading-block.d.ts +22 -0
  81. package/dist/blocks/def/enh-heading-block.js +1 -0
  82. package/dist/blocks/def/grid-block.d.ts +12 -0
  83. package/dist/blocks/def/grid-block.js +1 -0
  84. package/dist/blocks/def/group-block.d.ts +7 -0
  85. package/dist/blocks/def/group-block.js +1 -0
  86. package/dist/blocks/def/heading-block.d.ts +11 -0
  87. package/dist/blocks/def/heading-block.js +1 -0
  88. package/dist/blocks/def/image-block.d.ts +26 -0
  89. package/dist/blocks/def/image-block.js +1 -0
  90. package/dist/blocks/def/index.d.ts +17 -0
  91. package/dist/blocks/def/index.js +2 -0
  92. package/dist/blocks/def/screenful-block.d.ts +41 -0
  93. package/dist/blocks/def/screenful-block.js +1 -0
  94. package/dist/blocks/def/space-block.d.ts +47 -0
  95. package/dist/blocks/def/space-block.js +8 -0
  96. package/dist/blocks/def/video-block.d.ts +5 -0
  97. package/dist/blocks/def/video-block.js +1 -0
  98. package/dist/blocks/index.d.ts +2 -0
  99. package/dist/blocks/index.js +2 -0
  100. package/dist/mcp/enhanced-server.d.ts +29 -0
  101. package/dist/mcp/enhanced-server.js +1128 -0
  102. package/dist/mcp/index.d.ts +28 -0
  103. package/dist/mcp/index.js +436 -0
  104. package/dist/primitives/accordion.d.ts +10 -0
  105. package/dist/primitives/accordion.jsx +21 -0
  106. package/dist/primitives/action-button.d.ts +9 -0
  107. package/dist/primitives/action-button.jsx +16 -0
  108. package/dist/primitives/apply-typography.d.ts +7 -0
  109. package/dist/primitives/apply-typography.jsx +38 -0
  110. package/dist/primitives/aspect-ratio.d.ts +3 -0
  111. package/dist/primitives/aspect-ratio.jsx +4 -0
  112. package/dist/primitives/avatar.d.ts +6 -0
  113. package/dist/primitives/avatar.jsx +11 -0
  114. package/dist/primitives/badge.d.ts +9 -0
  115. package/dist/primitives/badge.jsx +18 -0
  116. package/dist/primitives/breadcrumb.d.ts +19 -0
  117. package/dist/primitives/breadcrumb.jsx +27 -0
  118. package/dist/primitives/breakpoint-indicator.d.ts +3 -0
  119. package/dist/primitives/breakpoint-indicator.jsx +14 -0
  120. package/dist/primitives/button.d.ts +12 -0
  121. package/dist/primitives/button.jsx +55 -0
  122. package/dist/primitives/calendar.d.ts +8 -0
  123. package/dist/primitives/calendar.jsx +40 -0
  124. package/dist/primitives/card.d.ts +8 -0
  125. package/dist/primitives/card.jsx +18 -0
  126. package/dist/primitives/carousel.d.ts +18 -0
  127. package/dist/primitives/carousel.jsx +106 -0
  128. package/dist/primitives/checkbox.d.ts +4 -0
  129. package/dist/primitives/checkbox.jsx +15 -0
  130. package/dist/primitives/combobox.d.ts +41 -0
  131. package/dist/primitives/combobox.jsx +77 -0
  132. package/dist/primitives/command.d.ts +17 -0
  133. package/dist/primitives/command.jsx +38 -0
  134. package/dist/primitives/context-menu.d.ts +27 -0
  135. package/dist/primitives/context-menu.jsx +57 -0
  136. package/dist/primitives/dialog-video-controller.d.ts +3 -0
  137. package/dist/primitives/dialog-video-controller.jsx +24 -0
  138. package/dist/primitives/dialog.d.ts +28 -0
  139. package/dist/primitives/dialog.jsx +37 -0
  140. package/dist/primitives/drawer.d.ts +29 -0
  141. package/dist/primitives/drawer.jsx +34 -0
  142. package/dist/primitives/form.d.ts +12 -0
  143. package/dist/primitives/form.jsx +69 -0
  144. package/dist/primitives/icons/github.d.ts +4 -0
  145. package/dist/primitives/icons/github.jsx +6 -0
  146. package/dist/primitives/icons/index.d.ts +4 -0
  147. package/dist/primitives/icons/index.js +4 -0
  148. package/dist/primitives/icons/youtube-logo.d.ts +4 -0
  149. package/dist/primitives/icons/youtube-logo.jsx +39 -0
  150. package/dist/primitives/index-common.d.ts +47 -0
  151. package/dist/primitives/index-common.js +46 -0
  152. package/dist/primitives/index-next.d.ts +2 -0
  153. package/dist/primitives/index-next.js +2 -0
  154. package/dist/primitives/input-otp.d.ts +7 -0
  155. package/dist/primitives/input-otp.jsx +24 -0
  156. package/dist/primitives/input.d.ts +5 -0
  157. package/dist/primitives/input.jsx +11 -0
  158. package/dist/primitives/label.d.ts +5 -0
  159. package/dist/primitives/label.jsx +11 -0
  160. package/dist/primitives/list-adaptor.d.ts +9 -0
  161. package/dist/primitives/list-adaptor.js +1 -0
  162. package/dist/primitives/list-box.d.ts +10 -0
  163. package/dist/primitives/list-box.jsx +14 -0
  164. package/dist/primitives/loading-spinner.d.ts +5 -0
  165. package/dist/primitives/loading-spinner.jsx +8 -0
  166. package/dist/primitives/navigation-menu.d.ts +12 -0
  167. package/dist/primitives/navigation-menu.jsx +38 -0
  168. package/dist/primitives/next/image.d.ts +11 -0
  169. package/dist/primitives/next/image.jsx +42 -0
  170. package/dist/primitives/next/index.d.ts +7 -0
  171. package/dist/primitives/next/index.js +7 -0
  172. package/dist/primitives/next/inline-icon.d.ts +13 -0
  173. package/dist/primitives/next/inline-icon.jsx +15 -0
  174. package/dist/primitives/next/link-element.d.ts +23 -0
  175. package/dist/primitives/next/link-element.jsx +56 -0
  176. package/dist/primitives/next/mdx-link.d.ts +3 -0
  177. package/dist/primitives/next/mdx-link.jsx +12 -0
  178. package/dist/primitives/next/media-stack.d.ts +8 -0
  179. package/dist/primitives/next/media-stack.jsx +28 -0
  180. package/dist/primitives/next/nav-items.d.ts +10 -0
  181. package/dist/primitives/next/nav-items.jsx +24 -0
  182. package/dist/primitives/next/youtube-embed.d.ts +11 -0
  183. package/dist/primitives/next/youtube-embed.jsx +23 -0
  184. package/dist/primitives/popover.d.ts +9 -0
  185. package/dist/primitives/popover.jsx +18 -0
  186. package/dist/primitives/progress.d.ts +4 -0
  187. package/dist/primitives/progress.jsx +9 -0
  188. package/dist/primitives/radio-group.d.ts +7 -0
  189. package/dist/primitives/radio-group.jsx +18 -0
  190. package/dist/primitives/scroll-area.d.ts +5 -0
  191. package/dist/primitives/scroll-area.jsx +19 -0
  192. package/dist/primitives/select.d.ts +13 -0
  193. package/dist/primitives/select.jsx +62 -0
  194. package/dist/primitives/separator.d.ts +4 -0
  195. package/dist/primitives/separator.jsx +7 -0
  196. package/dist/primitives/sheet.d.ts +30 -0
  197. package/dist/primitives/sheet.jsx +56 -0
  198. package/dist/primitives/skeleton.d.ts +4 -0
  199. package/dist/primitives/skeleton.jsx +3 -0
  200. package/dist/primitives/slider.d.ts +9 -0
  201. package/dist/primitives/slider.jsx +30 -0
  202. package/dist/primitives/sonner.d.ts +5 -0
  203. package/dist/primitives/sonner.jsx +16 -0
  204. package/dist/primitives/step-indicator.d.ts +9 -0
  205. package/dist/primitives/step-indicator.jsx +23 -0
  206. package/dist/primitives/switch.d.ts +6 -0
  207. package/dist/primitives/switch.jsx +14 -0
  208. package/dist/primitives/table.d.ts +10 -0
  209. package/dist/primitives/table.jsx +21 -0
  210. package/dist/primitives/tabs.d.ts +7 -0
  211. package/dist/primitives/tabs.jsx +18 -0
  212. package/dist/primitives/text-area.d.ts +5 -0
  213. package/dist/primitives/text-area.jsx +9 -0
  214. package/dist/primitives/toggle-group.d.ts +14 -0
  215. package/dist/primitives/toggle-group.jsx +28 -0
  216. package/dist/primitives/toggle.d.ts +14 -0
  217. package/dist/primitives/toggle.jsx +52 -0
  218. package/dist/primitives/tooltip.d.ts +11 -0
  219. package/dist/primitives/tooltip.jsx +18 -0
  220. package/dist/primitives/video-player.d.ts +6 -0
  221. package/dist/primitives/video-player.jsx +8 -0
  222. package/dist/registry/api.d.ts +37 -0
  223. package/dist/registry/api.js +130 -0
  224. package/dist/registry/index.d.ts +9 -0
  225. package/dist/registry/index.js +45 -0
  226. package/dist/style/theme-provider.d.ts +4 -0
  227. package/dist/style/theme-provider.jsx +11 -0
  228. package/dist/tailwind/fontFamily.tailwind.d.ts +8 -0
  229. package/dist/tailwind/fontFamily.tailwind.js +7 -0
  230. package/dist/tailwind/fontSize.tailwind.d.ts +36 -0
  231. package/dist/tailwind/fontSize.tailwind.js +13 -0
  232. package/dist/tailwind/index.d.ts +3 -0
  233. package/dist/tailwind/index.js +2 -0
  234. package/dist/tailwind/screens.tailwind.d.ts +9 -0
  235. package/dist/tailwind/screens.tailwind.js +8 -0
  236. package/dist/tailwind/tw-font-desc.d.ts +6 -0
  237. package/dist/tailwind/tw-font-desc.js +6 -0
  238. package/dist/types/animation-def.d.ts +2 -0
  239. package/dist/types/animation-def.js +1 -0
  240. package/dist/types/breakpoints.d.ts +4 -0
  241. package/dist/types/breakpoints.js +4 -0
  242. package/dist/types/bullet-item.d.ts +6 -0
  243. package/dist/types/bullet-item.js +2 -0
  244. package/dist/types/button-def.d.ts +29 -0
  245. package/dist/types/button-def.js +2 -0
  246. package/dist/types/dimensions.d.ts +5 -0
  247. package/dist/types/dimensions.js +1 -0
  248. package/dist/types/grid-def.d.ts +36 -0
  249. package/dist/types/grid-def.js +33 -0
  250. package/dist/types/image-def.d.ts +27 -0
  251. package/dist/types/image-def.js +1 -0
  252. package/dist/types/index.d.ts +13 -0
  253. package/dist/types/index.js +2 -0
  254. package/dist/types/link-def.d.ts +44 -0
  255. package/dist/types/link-def.js +1 -0
  256. package/dist/types/media-stack-def.d.ts +25 -0
  257. package/dist/types/media-stack-def.js +1 -0
  258. package/dist/types/t-shirt-size.d.ts +2 -0
  259. package/dist/types/t-shirt-size.js +1 -0
  260. package/dist/types/tshirt-dimensions.d.ts +12 -0
  261. package/dist/types/tshirt-dimensions.js +1 -0
  262. package/dist/types/video-def.d.ts +9 -0
  263. package/dist/types/video-def.js +1 -0
  264. package/dist/util/format-and-abbreviate-as-currency.d.ts +11 -0
  265. package/dist/util/format-and-abbreviate-as-currency.js +91 -0
  266. package/dist/util/format-to-max-char.d.ts +5 -0
  267. package/dist/util/format-to-max-char.js +57 -0
  268. package/dist/util/index-client.d.ts +2 -0
  269. package/dist/util/index-client.js +3 -0
  270. package/dist/util/index.d.ts +17 -0
  271. package/dist/util/index.js +41 -0
  272. package/dist/util/number-abbreviate.d.ts +9 -0
  273. package/dist/util/number-abbreviate.js +30 -0
  274. package/dist/util/specifier.d.ts +7 -0
  275. package/dist/util/specifier.js +31 -0
  276. package/dist/util/spread-to-transform.d.ts +7 -0
  277. package/dist/util/spread-to-transform.js +18 -0
  278. package/dist/util/step-animation.d.ts +5 -0
  279. package/dist/util/step-animation.js +60 -0
  280. package/dist/util/two-way-map.d.ts +8 -0
  281. package/dist/util/two-way-map.js +16 -0
  282. package/mcp/README.md +141 -0
  283. package/mcp/enhanced-server.ts +1208 -0
  284. package/mcp/index.ts +518 -0
  285. package/mcp/package.json +10 -0
  286. package/package.json +24 -4
  287. package/primitives/accordion.tsx +5 -5
  288. package/primitives/button.tsx +6 -3
  289. package/primitives/dialog.tsx +12 -7
  290. package/primitives/next/inline-icon.tsx +2 -3
  291. package/primitives/next/link-element.tsx +2 -2
  292. package/primitives/tabs.tsx +1 -1
  293. package/primitives/tooltip.tsx +1 -1
  294. package/public/r/accordion.json +11 -0
  295. package/public/r/alert.json +11 -0
  296. package/public/r/avatar.json +11 -0
  297. package/public/r/badge.json +11 -0
  298. package/public/r/button.json +11 -0
  299. package/public/r/card.json +11 -0
  300. package/public/r/checkbox.json +11 -0
  301. package/public/r/default.json +6 -0
  302. package/public/r/dialog.json +11 -0
  303. package/public/r/input.json +11 -0
  304. package/public/r/label.json +11 -0
  305. package/public/r/new-york.json +6 -0
  306. package/public/r/popover.json +11 -0
  307. package/public/r/select.json +11 -0
  308. package/public/r/table.json +11 -0
  309. package/public/r/tabs.json +11 -0
  310. package/public/r/toast.json +11 -0
  311. package/registry/api.ts +164 -0
  312. package/registry/index.ts +60 -0
  313. package/registry/package.json +10 -0
  314. package/registry.json +184 -0
  315. package/tailwind/typography-test.mdx +0 -1
  316. package/test/test-registry.js +73 -0
  317. package/tsconfig.json +8 -1
  318. package/types/bullet-item.ts +2 -2
  319. package/types/index.ts +0 -1
  320. package/types/link-def.ts +8 -14
  321. package/types/icon.ts +0 -10
package/registry.json ADDED
@@ -0,0 +1,184 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry.json",
3
+ "name": "hanzo",
4
+ "homepage": "https://ui.hanzo.ai",
5
+ "items": [
6
+ {
7
+ "name": "default",
8
+ "type": "registry:style",
9
+ "description": "The default style for Hanzo UI components.",
10
+ "files": []
11
+ },
12
+ {
13
+ "name": "new-york",
14
+ "type": "registry:style",
15
+ "description": "The new-york style for Hanzo UI components.",
16
+ "files": []
17
+ },
18
+ {
19
+ "name": "accordion",
20
+ "type": "registry:component",
21
+ "description": "A accordion component for your UI.",
22
+ "files": [
23
+ {
24
+ "path": "default/ui/accordion/accordion.tsx",
25
+ "type": "registry:component"
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ "name": "alert",
31
+ "type": "registry:component",
32
+ "description": "A alert component for your UI.",
33
+ "files": [
34
+ {
35
+ "path": "default/ui/alert/alert.tsx",
36
+ "type": "registry:component"
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "name": "avatar",
42
+ "type": "registry:component",
43
+ "description": "A avatar component for your UI.",
44
+ "files": [
45
+ {
46
+ "path": "default/ui/avatar/avatar.tsx",
47
+ "type": "registry:component"
48
+ }
49
+ ]
50
+ },
51
+ {
52
+ "name": "badge",
53
+ "type": "registry:component",
54
+ "description": "A badge component for your UI.",
55
+ "files": [
56
+ {
57
+ "path": "default/ui/badge/badge.tsx",
58
+ "type": "registry:component"
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "name": "button",
64
+ "type": "registry:component",
65
+ "description": "A button component for your UI.",
66
+ "files": [
67
+ {
68
+ "path": "default/ui/button/button.tsx",
69
+ "type": "registry:component"
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "name": "card",
75
+ "type": "registry:component",
76
+ "description": "A card component for your UI.",
77
+ "files": [
78
+ {
79
+ "path": "default/ui/card/card.tsx",
80
+ "type": "registry:component"
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "name": "checkbox",
86
+ "type": "registry:component",
87
+ "description": "A checkbox component for your UI.",
88
+ "files": [
89
+ {
90
+ "path": "default/ui/checkbox/checkbox.tsx",
91
+ "type": "registry:component"
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "name": "dialog",
97
+ "type": "registry:component",
98
+ "description": "A dialog component for your UI.",
99
+ "files": [
100
+ {
101
+ "path": "default/ui/dialog/dialog.tsx",
102
+ "type": "registry:component"
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ "name": "input",
108
+ "type": "registry:component",
109
+ "description": "A input component for your UI.",
110
+ "files": [
111
+ {
112
+ "path": "default/ui/input/input.tsx",
113
+ "type": "registry:component"
114
+ }
115
+ ]
116
+ },
117
+ {
118
+ "name": "label",
119
+ "type": "registry:component",
120
+ "description": "A label component for your UI.",
121
+ "files": [
122
+ {
123
+ "path": "default/ui/label/label.tsx",
124
+ "type": "registry:component"
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "name": "popover",
130
+ "type": "registry:component",
131
+ "description": "A popover component for your UI.",
132
+ "files": [
133
+ {
134
+ "path": "default/ui/popover/popover.tsx",
135
+ "type": "registry:component"
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "name": "select",
141
+ "type": "registry:component",
142
+ "description": "A select component for your UI.",
143
+ "files": [
144
+ {
145
+ "path": "default/ui/select/select.tsx",
146
+ "type": "registry:component"
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ "name": "table",
152
+ "type": "registry:component",
153
+ "description": "A table component for your UI.",
154
+ "files": [
155
+ {
156
+ "path": "default/ui/table/table.tsx",
157
+ "type": "registry:component"
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "name": "tabs",
163
+ "type": "registry:component",
164
+ "description": "A tabs component for your UI.",
165
+ "files": [
166
+ {
167
+ "path": "default/ui/tabs/tabs.tsx",
168
+ "type": "registry:component"
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ "name": "toast",
174
+ "type": "registry:component",
175
+ "description": "A toast component for your UI.",
176
+ "files": [
177
+ {
178
+ "path": "default/ui/toast/toast.tsx",
179
+ "type": "registry:component"
180
+ }
181
+ ]
182
+ }
183
+ ]
184
+ }
@@ -29,7 +29,6 @@ Lorem ipsum dolor sit [amet]('/'), adipiscing elit, sed do eiusmod tempor incidi
29
29
  def={{
30
30
  title: 'Enter App',
31
31
  href: 'https://app.lux.market',
32
- external: 'true',
33
32
  variant: 'primary',
34
33
  }}
35
34
  size='lg'
@@ -0,0 +1,73 @@
1
+ // Small test for the registry functionality
2
+ // This script checks if the registry is accessible
3
+ const https = require('https');
4
+
5
+ function fetchJson(url) {
6
+ return new Promise((resolve, reject) => {
7
+ https.get(url, (res) => {
8
+ let data = '';
9
+
10
+ // Handle HTTP errors
11
+ if (res.statusCode !== 200) {
12
+ reject(new Error(`HTTP error: ${res.statusCode} ${res.statusMessage}`));
13
+ return;
14
+ }
15
+
16
+ // Collect data chunks
17
+ res.on('data', (chunk) => {
18
+ data += chunk;
19
+ });
20
+
21
+ // Process complete response
22
+ res.on('end', () => {
23
+ try {
24
+ const parsed = JSON.parse(data);
25
+ resolve(parsed);
26
+ } catch (error) {
27
+ reject(new Error(`Invalid JSON: ${error.message}`));
28
+ }
29
+ });
30
+
31
+ }).on('error', (err) => {
32
+ reject(err);
33
+ });
34
+ });
35
+ }
36
+
37
+ async function main() {
38
+ try {
39
+ // Define registry URL
40
+ const registryUrl = "https://ui.hanzo.ai/registry/registry.json";
41
+
42
+ // Fetch the registry
43
+ console.log(`Fetching registry from ${registryUrl}...`);
44
+ const registry = await fetchJson(registryUrl);
45
+
46
+ console.log(`Successfully fetched registry with ${registry.items.length} items`);
47
+
48
+ // Display some basic information
49
+ console.log(`Registry name: ${registry.name}`);
50
+ console.log(`Homepage: ${registry.homepage || 'Not specified'}`);
51
+
52
+ // Count items by type
53
+ const typeCount = {};
54
+ registry.items.forEach(item => {
55
+ const type = item.type;
56
+ typeCount[type] = (typeCount[type] || 0) + 1;
57
+ });
58
+
59
+ console.log("Items by type:");
60
+ Object.entries(typeCount).forEach(([type, count]) => {
61
+ console.log(` ${type}: ${count} items`);
62
+ });
63
+
64
+ // Test complete
65
+ console.log("Registry test completed successfully!");
66
+ } catch (error) {
67
+ console.error("Error testing registry:", error);
68
+ process.exit(1);
69
+ }
70
+ }
71
+
72
+ // Run the test
73
+ main();
package/tsconfig.json CHANGED
@@ -6,5 +6,12 @@
6
6
  ],
7
7
  "exclude": [
8
8
  "node_modules",
9
- ]
9
+ "dist",
10
+ "registry/index.d.ts"
11
+ ],
12
+ "compilerOptions": {
13
+ "noEmit": false,
14
+ "declaration": true,
15
+ "outDir": "./dist"
16
+ }
10
17
  }
@@ -1,8 +1,8 @@
1
- import type Icon from './icon'
1
+ import React from 'react'
2
2
 
3
3
  interface BulletItem {
4
4
  text: string,
5
- icon?: Icon | string // Icon = ReactNode; ReactNode can be a string
5
+ icon?: React.ReactNode // Icon = ReactNode; ReactNode can be a string
6
6
  }
7
7
 
8
8
  export {
package/types/index.ts CHANGED
@@ -20,7 +20,6 @@ export {
20
20
  COMMON_GRID_4_COL
21
21
  } from './grid-def'
22
22
 
23
- export type { default as Icon } from './icon'
24
23
  export type { default as ImageDef } from './image-def'
25
24
  export type { default as LinkDef } from './link-def'
26
25
  export type { default as TShirtDimensions } from './tshirt-dimensions'
package/types/link-def.ts CHANGED
@@ -1,12 +1,10 @@
1
1
  import type { VariantProps } from 'class-variance-authority'
2
2
  import type { buttonVariants } from '../primitives/button'
3
- import type Icon from './icon'
4
3
 
5
- /**
6
- * A Conf object for the LinkElement primitive.
7
- *
8
- *
9
- */
4
+
5
+ /**
6
+ * A Conf object for the LinkElement primitive.
7
+ */
10
8
  interface LinkDef extends VariantProps<typeof buttonVariants> {
11
9
  /**
12
10
  * If the LinkElement is rendered directly and has children,
@@ -20,7 +18,7 @@ interface LinkDef extends VariantProps<typeof buttonVariants> {
20
18
  * the title, icon, iconAfter fields in the supplied LinkDef
21
19
  * will be ignored.
22
20
  */
23
- icon?: Icon
21
+ icon?: React.ReactNode
24
22
 
25
23
  /**
26
24
  * If the LinkElement is rendered directly and has children,
@@ -31,13 +29,6 @@ interface LinkDef extends VariantProps<typeof buttonVariants> {
31
29
 
32
30
  href: string
33
31
 
34
- /**
35
- * @deprecated This field no longer has an effect as
36
- * the related logic just checks for the presence of 'http'
37
- * at the start of the URL string
38
- */
39
- external?: boolean
40
-
41
32
  /**
42
33
  * External links will open in a new tab (via target='_blank') by default,
43
34
  * while internal ones will open in the same tab.
@@ -55,8 +46,11 @@ interface LinkDef extends VariantProps<typeof buttonVariants> {
55
46
  */
56
47
  contents?: string
57
48
 
49
+ childMenu?: LinkDef[]
50
+ groupName?: string
58
51
  }
59
52
 
53
+
60
54
  export {
61
55
  type LinkDef as default
62
56
  }
package/types/icon.ts DELETED
@@ -1,10 +0,0 @@
1
- import type { ReactNode } from 'react'
2
-
3
- //import type { LucideIcon} from 'lucide-react'
4
- //import type { SocialIconProps } from '@/components/icons/social-icon'
5
-
6
- type Icon = ReactNode
7
-
8
- export {
9
- type Icon as default
10
- }