@hanzo/ui 4.6.0 → 4.7.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 (290) hide show
  1. package/dist/index.d.mts +16 -0
  2. package/dist/index.d.ts +16 -0
  3. package/dist/index.js +9458 -0
  4. package/dist/index.mjs +9449 -0
  5. package/dist/lib/utils.d.mts +2 -0
  6. package/dist/lib/utils.d.ts +2 -0
  7. package/dist/lib/utils.js +47 -0
  8. package/dist/lib/utils.mjs +28 -0
  9. package/dist/src/utils.d.mts +7 -0
  10. package/dist/src/utils.d.ts +7 -0
  11. package/dist/src/utils.js +47 -0
  12. package/dist/src/utils.mjs +28 -0
  13. package/dist/tailwind/index.d.mts +2 -0
  14. package/dist/tailwind/index.d.ts +2 -0
  15. package/dist/tailwind/index.js +2048 -0
  16. package/dist/tailwind/index.mjs +2017 -0
  17. package/dist/types/index.d.mts +12 -0
  18. package/dist/types/index.d.ts +12 -0
  19. package/dist/types/index.js +79 -0
  20. package/dist/types/index.mjs +56 -0
  21. package/package.json +151 -25
  22. package/MCP-INSTRUCTIONS.md +0 -73
  23. package/README-MCP.md +0 -175
  24. package/assets/ai-icons.tsx +0 -207
  25. package/assets/crypto.tsx +0 -33
  26. package/assets/file-type-icon.tsx +0 -66
  27. package/assets/file.tsx +0 -45
  28. package/assets/general.tsx +0 -2318
  29. package/assets/hanzo-logo.svg +0 -9
  30. package/assets/hanzo-logo.tsx +0 -15
  31. package/assets/index.ts +0 -8
  32. package/assets/index.tsx +0 -4
  33. package/assets/llm-provider.tsx +0 -1094
  34. package/blocks/components/accordian-block.tsx +0 -48
  35. package/blocks/components/block-component-props.ts +0 -11
  36. package/blocks/components/bullet-cards-block.tsx +0 -46
  37. package/blocks/components/card-block/index.tsx +0 -171
  38. package/blocks/components/card-block/link-out-button.tsx +0 -20
  39. package/blocks/components/card-block/util.ts +0 -28
  40. package/blocks/components/carte-blanche-block/index.tsx +0 -127
  41. package/blocks/components/carte-blanche-block/variant-content-left.tsx +0 -49
  42. package/blocks/components/content.tsx +0 -70
  43. package/blocks/components/cta-block.tsx +0 -115
  44. package/blocks/components/enh-heading-block.tsx +0 -204
  45. package/blocks/components/grid-block/grid-block-mutator.ts +0 -12
  46. package/blocks/components/grid-block/index.tsx +0 -83
  47. package/blocks/components/grid-block/mutator-registry.ts +0 -10
  48. package/blocks/components/grid-block/table-borders.mutator.ts +0 -47
  49. package/blocks/components/group-block.tsx +0 -83
  50. package/blocks/components/heading-block.tsx +0 -88
  51. package/blocks/components/image-block.tsx +0 -111
  52. package/blocks/components/index.ts +0 -30
  53. package/blocks/components/screenful-block/content.tsx +0 -123
  54. package/blocks/components/screenful-block/index.tsx +0 -107
  55. package/blocks/components/screenful-block/poster-background.tsx +0 -34
  56. package/blocks/components/screenful-block/video-background.tsx +0 -45
  57. package/blocks/components/space-block.tsx +0 -66
  58. package/blocks/components/video-block.tsx +0 -138
  59. package/blocks/def/accordian-block.ts +0 -14
  60. package/blocks/def/block.ts +0 -7
  61. package/blocks/def/bullet-cards-block.ts +0 -22
  62. package/blocks/def/card-block.ts +0 -22
  63. package/blocks/def/carte-blanche-block.ts +0 -21
  64. package/blocks/def/cta-block.ts +0 -19
  65. package/blocks/def/element-block.ts +0 -11
  66. package/blocks/def/enh-heading-block.ts +0 -44
  67. package/blocks/def/grid-block.ts +0 -16
  68. package/blocks/def/group-block.ts +0 -11
  69. package/blocks/def/heading-block.ts +0 -15
  70. package/blocks/def/image-block.ts +0 -31
  71. package/blocks/def/index.ts +0 -35
  72. package/blocks/def/screenful-block.ts +0 -54
  73. package/blocks/def/space-block.ts +0 -64
  74. package/blocks/def/video-block.ts +0 -9
  75. package/blocks/index.ts +0 -2
  76. package/components/index.ts +0 -56
  77. package/dist/button.d.ts +0 -1
  78. package/dist/button.js +0 -1
  79. package/dist/hooks/index.d.ts +0 -7
  80. package/dist/hooks/index.js +0 -7
  81. package/dist/hooks/use-click-away.d.ts +0 -2
  82. package/dist/hooks/use-click-away.js +0 -23
  83. package/dist/hooks/use-combined-refs.d.ts +0 -3
  84. package/dist/hooks/use-combined-refs.js +0 -18
  85. package/dist/hooks/use-copy-clipboard.d.ts +0 -9
  86. package/dist/hooks/use-copy-clipboard.js +0 -21
  87. package/dist/hooks/use-debounce.d.ts +0 -1
  88. package/dist/hooks/use-debounce.js +0 -13
  89. package/dist/hooks/use-fill-ids.d.ts +0 -8
  90. package/dist/hooks/use-fill-ids.js +0 -20
  91. package/dist/hooks/use-map.d.ts +0 -1
  92. package/dist/hooks/use-map.js +0 -20
  93. package/dist/hooks/use-measure.d.ts +0 -8
  94. package/dist/hooks/use-measure.js +0 -25
  95. package/dist/hooks/use-reverse-video-playback.d.ts +0 -1
  96. package/dist/hooks/use-reverse-video-playback.js +0 -41
  97. package/dist/hooks/use-scroll-restoration.d.ts +0 -8
  98. package/dist/hooks/use-scroll-restoration.js +0 -36
  99. package/dist/mcp/enhanced-server.d.ts +0 -29
  100. package/dist/mcp/enhanced-server.js +0 -1128
  101. package/dist/mcp/index.d.ts +0 -28
  102. package/dist/mcp/index.js +0 -436
  103. package/dist/registry/api.d.ts +0 -37
  104. package/dist/registry/api.js +0 -129
  105. package/dist/registry/index.d.ts +0 -353
  106. package/dist/registry/index.js +0 -45
  107. package/dist/utils.d.ts +0 -1
  108. package/dist/utils.js +0 -1
  109. package/environment.d.ts +0 -6
  110. package/helpers/file.ts +0 -33
  111. package/helpers/memoization.ts +0 -40
  112. package/primitives/accordion.tsx +0 -74
  113. package/primitives/action-button.tsx +0 -42
  114. package/primitives/alert-dialog.tsx +0 -185
  115. package/primitives/alert.tsx +0 -74
  116. package/primitives/apply-typography.tsx +0 -55
  117. package/primitives/aspect-ratio.tsx +0 -5
  118. package/primitives/avatar.tsx +0 -57
  119. package/primitives/background-beams.tsx +0 -142
  120. package/primitives/badge.tsx +0 -44
  121. package/primitives/breadcrumb.tsx +0 -130
  122. package/primitives/breakpoint-indicator.tsx +0 -19
  123. package/primitives/button.tsx +0 -82
  124. package/primitives/calendar.tsx +0 -72
  125. package/primitives/card.tsx +0 -97
  126. package/primitives/carousel.tsx +0 -237
  127. package/primitives/chat/chat-input-area.tsx +0 -87
  128. package/primitives/chat/chat-input.tsx +0 -71
  129. package/primitives/chat/files-preview.tsx +0 -330
  130. package/primitives/chat/index.ts +0 -6
  131. package/primitives/chat/json-form.tsx +0 -8
  132. package/primitives/chat/message-list.tsx +0 -307
  133. package/primitives/chat/message.tsx +0 -569
  134. package/primitives/chat/sqlite-preview.tsx +0 -215
  135. package/primitives/checkbox.tsx +0 -31
  136. package/primitives/collapsible.tsx +0 -9
  137. package/primitives/combobox.tsx +0 -239
  138. package/primitives/command.tsx +0 -149
  139. package/primitives/context-menu.tsx +0 -206
  140. package/primitives/copy-to-clipboard-icon.tsx +0 -60
  141. package/primitives/dialog-video-controller.tsx +0 -38
  142. package/primitives/dialog.tsx +0 -123
  143. package/primitives/dot-pattern.tsx +0 -57
  144. package/primitives/dots-loader.tsx +0 -13
  145. package/primitives/drawer.tsx +0 -110
  146. package/primitives/dropdown-menu.tsx +0 -199
  147. package/primitives/error-message.tsx +0 -19
  148. package/primitives/file-uploader.tsx +0 -200
  149. package/primitives/form.tsx +0 -183
  150. package/primitives/hover-card.tsx +0 -28
  151. package/primitives/icons/github.tsx +0 -14
  152. package/primitives/icons/index.ts +0 -18
  153. package/primitives/icons/youtube-logo.tsx +0 -59
  154. package/primitives/index-common.ts +0 -303
  155. package/primitives/index-next.ts +0 -4
  156. package/primitives/input-otp.tsx +0 -65
  157. package/primitives/input.tsx +0 -125
  158. package/primitives/label.tsx +0 -20
  159. package/primitives/list-adaptor.ts +0 -12
  160. package/primitives/list-box.tsx +0 -74
  161. package/primitives/loading-spinner.tsx +0 -33
  162. package/primitives/markdown-preview.tsx +0 -609
  163. package/primitives/mermaid.tsx +0 -196
  164. package/primitives/navigation-menu.tsx +0 -147
  165. package/primitives/next/image.tsx +0 -90
  166. package/primitives/next/index.ts +0 -7
  167. package/primitives/next/inline-icon.tsx +0 -36
  168. package/primitives/next/link-element.tsx +0 -109
  169. package/primitives/next/mdx-link.tsx +0 -22
  170. package/primitives/next/media-stack.tsx +0 -69
  171. package/primitives/next/nav-items.tsx +0 -45
  172. package/primitives/next/youtube-embed.tsx +0 -83
  173. package/primitives/pagination.tsx +0 -117
  174. package/primitives/popover.tsx +0 -32
  175. package/primitives/pretty-json-print.tsx +0 -28
  176. package/primitives/progress.tsx +0 -26
  177. package/primitives/prompt-textarea.tsx +0 -72
  178. package/primitives/qr-code.tsx +0 -112
  179. package/primitives/radio-group.tsx +0 -42
  180. package/primitives/resizable.tsx +0 -47
  181. package/primitives/scroll-area.tsx +0 -57
  182. package/primitives/search-input.tsx +0 -66
  183. package/primitives/select.tsx +0 -122
  184. package/primitives/separator.tsx +0 -25
  185. package/primitives/sheet.tsx +0 -139
  186. package/primitives/skeleton.tsx +0 -17
  187. package/primitives/slider.tsx +0 -62
  188. package/primitives/sonner.tsx +0 -35
  189. package/primitives/step-indicator.tsx +0 -69
  190. package/primitives/stepper.tsx +0 -272
  191. package/primitives/switch.tsx +0 -26
  192. package/primitives/table.tsx +0 -105
  193. package/primitives/tabs.tsx +0 -50
  194. package/primitives/text-area.tsx +0 -26
  195. package/primitives/text-link.tsx +0 -25
  196. package/primitives/textarea.tsx +0 -61
  197. package/primitives/textfield.tsx +0 -75
  198. package/primitives/toast.tsx +0 -30
  199. package/primitives/toggle-group.tsx +0 -63
  200. package/primitives/toggle.tsx +0 -44
  201. package/primitives/tooltip.tsx +0 -47
  202. package/primitives/video-player.tsx +0 -23
  203. package/public/r/accordion.json +0 -11
  204. package/public/r/alert.json +0 -11
  205. package/public/r/avatar.json +0 -11
  206. package/public/r/badge.json +0 -11
  207. package/public/r/button.json +0 -11
  208. package/public/r/card.json +0 -11
  209. package/public/r/checkbox.json +0 -11
  210. package/public/r/default.json +0 -6
  211. package/public/r/dialog.json +0 -11
  212. package/public/r/input.json +0 -11
  213. package/public/r/label.json +0 -11
  214. package/public/r/new-york.json +0 -6
  215. package/public/r/popover.json +0 -11
  216. package/public/r/select.json +0 -11
  217. package/public/r/table.json +0 -11
  218. package/public/r/tabs.json +0 -11
  219. package/public/r/toast.json +0 -11
  220. package/registry.json +0 -184
  221. package/src/button.ts +0 -1
  222. package/src/hooks/index.ts +0 -7
  223. package/src/hooks/use-click-away.ts +0 -31
  224. package/src/hooks/use-combined-refs.ts +0 -22
  225. package/src/hooks/use-copy-clipboard.ts +0 -30
  226. package/src/hooks/use-debounce.ts +0 -17
  227. package/src/hooks/use-fill-ids.ts +0 -25
  228. package/src/hooks/use-map.ts +0 -26
  229. package/src/hooks/use-measure.ts +0 -42
  230. package/src/hooks/use-reverse-video-playback.ts +0 -43
  231. package/src/hooks/use-scroll-restoration.ts +0 -50
  232. package/src/mcp/README.md +0 -141
  233. package/src/mcp/enhanced-server.ts +0 -1208
  234. package/src/mcp/index.ts +0 -518
  235. package/src/mcp/package.json +0 -10
  236. package/src/registry/api.ts +0 -164
  237. package/src/registry/index.ts +0 -60
  238. package/src/registry/package.json +0 -10
  239. package/src/utils.ts +0 -1
  240. package/tailwind/colors.tailwind.js +0 -53
  241. package/tailwind/fontFamily.tailwind.ts +0 -7
  242. package/tailwind/fontSize.tailwind.ts +0 -13
  243. package/tailwind/index.ts +0 -7
  244. package/tailwind/safelist.tailwind.js +0 -26
  245. package/tailwind/screens.tailwind.js +0 -8
  246. package/tailwind/spacing.tailwind.js +0 -65
  247. package/tailwind/tailwind.config.hanzo-preset.d.ts +0 -5
  248. package/tailwind/tailwind.config.hanzo-preset.js +0 -915
  249. package/tailwind/tw-font-desc.ts +0 -15
  250. package/tailwind/typo-plugin/get-plugin-styles.js +0 -679
  251. package/tailwind/typo-plugin/index.d.ts +0 -9
  252. package/tailwind/typo-plugin/index.js +0 -141
  253. package/tailwind/typo-plugin/utils.js +0 -60
  254. package/tailwind/typography-test.mdx +0 -35
  255. package/tailwind/z-index.tailwind.js +0 -71
  256. package/test/test-registry.js +0 -73
  257. package/test-imports.mjs +0 -19
  258. package/tsconfig.json +0 -22
  259. package/types/animation-def.ts +0 -3
  260. package/types/breakpoints.ts +0 -11
  261. package/types/bullet-item.ts +0 -10
  262. package/types/button-def.ts +0 -39
  263. package/types/dimensions.ts +0 -8
  264. package/types/grid-def.ts +0 -56
  265. package/types/image-def.ts +0 -32
  266. package/types/index.ts +0 -29
  267. package/types/link-def.ts +0 -56
  268. package/types/media-stack-def.ts +0 -31
  269. package/types/t-shirt-size.ts +0 -5
  270. package/types/tshirt-dimensions.ts +0 -20
  271. package/types/video-def.ts +0 -25
  272. package/util/blob.ts +0 -28
  273. package/util/copy-to-clipboard.ts +0 -17
  274. package/util/create-shadow-root.ts +0 -22
  275. package/util/date.ts +0 -83
  276. package/util/debounce.ts +0 -11
  277. package/util/file.ts +0 -15
  278. package/util/format-and-abbreviate-as-currency.ts +0 -125
  279. package/util/format-text.ts +0 -33
  280. package/util/format-to-max-char.ts +0 -68
  281. package/util/index-client.ts +0 -3
  282. package/util/index.ts +0 -9
  283. package/util/number-abbreviate.ts +0 -49
  284. package/util/specifier.ts +0 -43
  285. package/util/spread-to-transform.ts +0 -24
  286. package/util/step-animation.ts +0 -90
  287. package/util/timing.ts +0 -3
  288. package/util/toasts.tsx +0 -17
  289. package/util/two-way-map.ts +0 -19
  290. package/utils.ts +0 -9
@@ -1,63 +0,0 @@
1
- import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
2
- import { VariantProps } from 'class-variance-authority';
3
- import * as React from 'react';
4
-
5
- import { cn } from '../src/utils';
6
- import { toggleVariants } from './toggle';
7
-
8
- const ToggleGroupContext = React.createContext<
9
- VariantProps<typeof toggleVariants>
10
- >({
11
- size: 'default',
12
- variant: 'default',
13
- });
14
-
15
- const ToggleGroup = ({
16
- className,
17
- variant,
18
- size,
19
- children,
20
- ...props
21
- }: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &
22
- VariantProps<typeof toggleVariants>) => (
23
- <ToggleGroupPrimitive.Root
24
- className={cn('flex items-center justify-center gap-1', className)}
25
- {...props}
26
- >
27
- <ToggleGroupContext.Provider value={{ variant, size }}>
28
- {children}
29
- </ToggleGroupContext.Provider>
30
- </ToggleGroupPrimitive.Root>
31
- );
32
-
33
- ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
34
-
35
- const ToggleGroupItem = ({
36
- className,
37
- children,
38
- variant,
39
- size,
40
- ...props
41
- }: React.ComponentProps<typeof ToggleGroupPrimitive.Item> &
42
- VariantProps<typeof toggleVariants>) => {
43
- const context = React.useContext(ToggleGroupContext);
44
-
45
- return (
46
- <ToggleGroupPrimitive.Item
47
- className={cn(
48
- toggleVariants({
49
- variant: context.variant || variant,
50
- size: context.size || size,
51
- }),
52
- className,
53
- )}
54
- {...props}
55
- >
56
- {children}
57
- </ToggleGroupPrimitive.Item>
58
- );
59
- };
60
-
61
- ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
62
-
63
- export { ToggleGroup, ToggleGroupItem };
@@ -1,44 +0,0 @@
1
- import * as TogglePrimitive from '@radix-ui/react-toggle';
2
- import { cva, type VariantProps } from 'class-variance-authority';
3
- import * as React from 'react';
4
-
5
- import { cn } from '../src/utils';
6
-
7
- const toggleVariants = cva(
8
- 'ring-offset-background hover:bg-muted hover:text-text-secondary focus-visible:ring-ring data-[state=on]:bg-bg-quaternary inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-[state=on]:text-white',
9
- {
10
- variants: {
11
- variant: {
12
- default: 'bg-bg-tertiary',
13
- outline:
14
- 'border-divider hover:bg-bg-tertiary border bg-transparent hover:text-white',
15
- },
16
- size: {
17
- default: 'h-10 px-3',
18
- sm: 'h-9 px-2.5',
19
- lg: 'h-11 px-5',
20
- },
21
- },
22
- defaultVariants: {
23
- variant: 'default',
24
- size: 'default',
25
- },
26
- },
27
- );
28
-
29
- const Toggle = ({
30
- className,
31
- variant,
32
- size,
33
- ...props
34
- }: React.ComponentProps<typeof TogglePrimitive.Root> &
35
- VariantProps<typeof toggleVariants>) => (
36
- <TogglePrimitive.Root
37
- className={cn(toggleVariants({ variant, size, className }))}
38
- {...props}
39
- />
40
- );
41
-
42
- Toggle.displayName = TogglePrimitive.Root.displayName;
43
-
44
- export { Toggle, toggleVariants };
@@ -1,47 +0,0 @@
1
- import * as TooltipPrimitive from '@radix-ui/react-tooltip';
2
- import * as React from 'react';
3
-
4
- import { cn } from '../src/utils';
5
-
6
- const TooltipProvider = TooltipPrimitive.Provider;
7
-
8
- const Tooltip = TooltipPrimitive.Root;
9
-
10
- const TooltipTrigger = TooltipPrimitive.Trigger;
11
-
12
- const TooltipPortal = TooltipPrimitive.Portal;
13
- const TooltipArrow = TooltipPrimitive.TooltipArrow;
14
-
15
- const TooltipContent = ({
16
- className,
17
- sideOffset = 4,
18
- showArrow = true,
19
- ...props
20
- }: React.ComponentProps<typeof TooltipPrimitive.Content> & {
21
- showArrow?: boolean;
22
- }) => (
23
- <TooltipPrimitive.Content
24
- className={cn(
25
- 'border-divider bg-bg-dark animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-w-[280px] rounded-lg border px-3 py-1.5 text-xs text-white',
26
- className,
27
- )}
28
- sideOffset={sideOffset}
29
- {...props}
30
- >
31
- {props.children}
32
-
33
- {showArrow && (
34
- <TooltipPrimitive.Arrow className="fill-bg-dark -my-px drop-shadow-[0_1px_0_#313336]" />
35
- )}
36
- </TooltipPrimitive.Content>
37
- );
38
- TooltipContent.displayName = TooltipPrimitive.Content.displayName;
39
-
40
- export {
41
- Tooltip,
42
- TooltipTrigger,
43
- TooltipContent,
44
- TooltipProvider,
45
- TooltipPortal,
46
- TooltipArrow,
47
- };
@@ -1,23 +0,0 @@
1
- 'use client'
2
- import React from 'react'
3
-
4
- interface VideoProps extends React.ComponentPropsWithoutRef<"video"> {
5
- sources: string[]
6
- }
7
-
8
- const VideoPlayer = React.forwardRef<HTMLVideoElement, VideoProps>(
9
- ({
10
- sources,
11
- ...rest
12
- }, ref) => {
13
-
14
- return (
15
- <video ref={ref} {...rest} >
16
- {sources.map((source, index) => (
17
- <source key={index} src={source} />
18
- ))}
19
- </video>
20
- )
21
- })
22
-
23
- export default VideoPlayer
@@ -1,11 +0,0 @@
1
- {
2
- "name": "accordion",
3
- "type": "registry:component",
4
- "description": "A accordion component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/accordion/accordion.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "alert",
3
- "type": "registry:component",
4
- "description": "A alert component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/alert/alert.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "avatar",
3
- "type": "registry:component",
4
- "description": "A avatar component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/avatar/avatar.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "badge",
3
- "type": "registry:component",
4
- "description": "A badge component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/badge/badge.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "button",
3
- "type": "registry:component",
4
- "description": "A button component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/button/button.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "card",
3
- "type": "registry:component",
4
- "description": "A card component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/card/card.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "checkbox",
3
- "type": "registry:component",
4
- "description": "A checkbox component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/checkbox/checkbox.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,6 +0,0 @@
1
- {
2
- "name": "default",
3
- "type": "registry:style",
4
- "description": "The default style for Hanzo UI components.",
5
- "files": []
6
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "dialog",
3
- "type": "registry:component",
4
- "description": "A dialog component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/dialog/dialog.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "input",
3
- "type": "registry:component",
4
- "description": "A input component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/input/input.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "label",
3
- "type": "registry:component",
4
- "description": "A label component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/label/label.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,6 +0,0 @@
1
- {
2
- "name": "new-york",
3
- "type": "registry:style",
4
- "description": "The new-york style for Hanzo UI components.",
5
- "files": []
6
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "popover",
3
- "type": "registry:component",
4
- "description": "A popover component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/popover/popover.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "select",
3
- "type": "registry:component",
4
- "description": "A select component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/select/select.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "table",
3
- "type": "registry:component",
4
- "description": "A table component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/table/table.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "tabs",
3
- "type": "registry:component",
4
- "description": "A tabs component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/tabs/tabs.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "name": "toast",
3
- "type": "registry:component",
4
- "description": "A toast component for your UI.",
5
- "files": [
6
- {
7
- "path": "default/ui/toast/toast.tsx",
8
- "type": "registry:component"
9
- }
10
- ]
11
- }
package/registry.json DELETED
@@ -1,184 +0,0 @@
1
- {
2
- "$schema": "https://ui.hanzo.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
- }
package/src/button.ts DELETED
@@ -1 +0,0 @@
1
- export * from '../../../app/registry/new-york/ui/button'
@@ -1,7 +0,0 @@
1
- export * from './use-debounce';
2
- export * from './use-map';
3
- export * from './use-measure';
4
- export * from './use-click-away';
5
- export * from './use-copy-clipboard';
6
- export * from './use-reverse-video-playback';
7
- export * from './use-scroll-restoration';
@@ -1,31 +0,0 @@
1
- import React from 'react';
2
-
3
- export function useClickAway<T extends Element>(
4
- cb: (e: Event) => void,
5
- ): React.RefObject<T | null> {
6
- const ref = React.useRef<T | null>(null);
7
- const refCb = React.useRef(cb);
8
-
9
- React.useLayoutEffect(() => {
10
- refCb.current = cb;
11
- });
12
-
13
- React.useEffect(() => {
14
- const handler = (e: Event) => {
15
- const element = ref.current;
16
- if (element && !element.contains(e.target as Node)) {
17
- refCb.current(e);
18
- }
19
- };
20
-
21
- document.addEventListener('mousedown', handler);
22
- document.addEventListener('touchstart', handler);
23
-
24
- return () => {
25
- document.removeEventListener('mousedown', handler);
26
- document.removeEventListener('touchstart', handler);
27
- };
28
- }, []);
29
-
30
- return ref;
31
- }
@@ -1,22 +0,0 @@
1
- import type React from 'react';
2
- import { useEffect, useRef } from 'react';
3
-
4
- function useCombinedRefs<T>(
5
- ...refs: React.ForwardedRef<T>[]
6
- ): React.RefObject<T | null> {
7
- const targetRef = useRef<T>(null);
8
- useEffect(() => {
9
- refs.forEach((ref) => {
10
- if (!ref) return;
11
-
12
- if (typeof ref === 'function') {
13
- ref(targetRef.current);
14
- } else {
15
- ref.current = targetRef.current;
16
- }
17
- });
18
- }, [refs]);
19
- return targetRef;
20
- }
21
-
22
- export { useCombinedRefs };
@@ -1,30 +0,0 @@
1
- import { useState } from 'react';
2
- import { copyToClipboard } from '../helpers';
3
-
4
- type UseCopyClipboardProps = {
5
- string?: string;
6
- onCopyClipboard?: () => void;
7
- };
8
-
9
- export const useCopyClipboard = ({
10
- string,
11
- onCopyClipboard,
12
- }: UseCopyClipboardProps) => {
13
- const [isCopied, setIsCopied] = useState(false);
14
-
15
- let timeout: ReturnType<typeof setTimeout>;
16
- const onCopy = async () => {
17
- if (!string) return;
18
- const string_ = string.trim();
19
- if (onCopyClipboard && typeof onCopyClipboard === 'function') {
20
- onCopyClipboard();
21
- } else {
22
- await copyToClipboard(string_);
23
- }
24
- setIsCopied(true);
25
- clearTimeout(timeout);
26
- timeout = setTimeout(() => setIsCopied(false), 1000);
27
- };
28
-
29
- return { isCopied, onCopy };
30
- };