@hanzo/ui 8.7.4 → 8.8.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 (63) hide show
  1. package/dist/backends/gui/form.cjs +143 -0
  2. package/dist/backends/gui/form.d.ts +68 -0
  3. package/dist/backends/gui/form.d.ts.map +1 -0
  4. package/dist/backends/gui/form.js +101 -0
  5. package/dist/backends/gui/form.js.map +1 -0
  6. package/dist/backends/gui/index.cjs +10 -1
  7. package/dist/backends/gui/index.d.ts +1 -0
  8. package/dist/backends/gui/index.d.ts.map +1 -1
  9. package/dist/backends/gui/index.js +1 -0
  10. package/dist/backends/gui/index.js.map +1 -1
  11. package/dist/core/cn.cjs +5 -0
  12. package/dist/core/cn.d.ts +2 -0
  13. package/dist/core/cn.d.ts.map +1 -1
  14. package/dist/core/cn.js +4 -0
  15. package/dist/core/cn.js.map +1 -1
  16. package/dist/gallery.html +1 -1
  17. package/dist/index.cjs +14 -2
  18. package/dist/index.d.ts +2 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +5 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.node.js +5 -2
  23. package/dist/primitives/Form.cjs +8 -0
  24. package/dist/primitives/Form.d.ts +2 -0
  25. package/dist/primitives/Form.d.ts.map +1 -0
  26. package/dist/primitives/Form.js +5 -0
  27. package/dist/primitives/Form.js.map +1 -0
  28. package/dist/primitives/FormControl.cjs +8 -0
  29. package/dist/primitives/FormControl.d.ts +2 -0
  30. package/dist/primitives/FormControl.d.ts.map +1 -0
  31. package/dist/primitives/FormControl.js +5 -0
  32. package/dist/primitives/FormControl.js.map +1 -0
  33. package/dist/primitives/FormDescription.cjs +8 -0
  34. package/dist/primitives/FormDescription.d.ts +2 -0
  35. package/dist/primitives/FormDescription.d.ts.map +1 -0
  36. package/dist/primitives/FormDescription.js +5 -0
  37. package/dist/primitives/FormDescription.js.map +1 -0
  38. package/dist/primitives/FormField.cjs +8 -0
  39. package/dist/primitives/FormField.d.ts +2 -0
  40. package/dist/primitives/FormField.d.ts.map +1 -0
  41. package/dist/primitives/FormField.js +5 -0
  42. package/dist/primitives/FormField.js.map +1 -0
  43. package/dist/primitives/FormItem.cjs +8 -0
  44. package/dist/primitives/FormItem.d.ts +2 -0
  45. package/dist/primitives/FormItem.d.ts.map +1 -0
  46. package/dist/primitives/FormItem.js +5 -0
  47. package/dist/primitives/FormItem.js.map +1 -0
  48. package/dist/primitives/FormLabel.cjs +8 -0
  49. package/dist/primitives/FormLabel.d.ts +2 -0
  50. package/dist/primitives/FormLabel.d.ts.map +1 -0
  51. package/dist/primitives/FormLabel.js +5 -0
  52. package/dist/primitives/FormLabel.js.map +1 -0
  53. package/dist/primitives/FormMessage.cjs +8 -0
  54. package/dist/primitives/FormMessage.d.ts +2 -0
  55. package/dist/primitives/FormMessage.d.ts.map +1 -0
  56. package/dist/primitives/FormMessage.js +5 -0
  57. package/dist/primitives/FormMessage.js.map +1 -0
  58. package/dist/primitives/useFormField.cjs +8 -0
  59. package/dist/primitives/useFormField.d.ts +2 -0
  60. package/dist/primitives/useFormField.d.ts.map +1 -0
  61. package/dist/primitives/useFormField.js +5 -0
  62. package/dist/primitives/useFormField.js.map +1 -0
  63. package/package.json +7 -2
@@ -0,0 +1,143 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.FormMessage = exports.FormDescription = exports.FormControl = exports.FormLabel = exports.FormItem = exports.FormField = exports.Form = void 0;
38
+ exports.useFormField = useFormField;
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ /**
41
+ * Form — the five pieces that connect react-hook-form to a rendered field.
42
+ *
43
+ * <Form {...form}>
44
+ * <FormField name="email" control={form.control} render={({ field }) => (
45
+ * <FormItem>
46
+ * <FormLabel>Email</FormLabel>
47
+ * <FormControl><Input {...field} /></FormControl>
48
+ * <FormMessage />
49
+ * </FormItem>
50
+ * )} />
51
+ * </Form>
52
+ *
53
+ * What they buy is the ACCESSIBILITY wiring, which is the part hand-written
54
+ * forms get wrong: the control is described by its message, the message has an
55
+ * id to be described BY, `aria-invalid` follows the field's error state, and a
56
+ * message renders only when there is one to render. Each is one id agreeing in
57
+ * three places, and each is a place for the three to drift apart.
58
+ *
59
+ * react-hook-form is an OPTIONAL peer, like `next`. This subpath is the only
60
+ * thing here that reaches for it, so an app with no forms never installs it.
61
+ */
62
+ const React = __importStar(require("react"));
63
+ const react_hook_form_1 = require("react-hook-form");
64
+ const box_1 = require("../../box.cjs");
65
+ const cn_1 = require("../../core/cn.cjs");
66
+ const label_1 = require("./label.cjs");
67
+ /** The provider. Spread a `useForm()` result straight into it. */
68
+ exports.Form = react_hook_form_1.FormProvider;
69
+ const Field = /* @__PURE__ */ React.createContext({});
70
+ const Item = /* @__PURE__ */ React.createContext({});
71
+ /**
72
+ * One field's worth of state, plus the three ids the pieces below agree on.
73
+ *
74
+ * The ids are derived from ONE `useId`, so the control, its description and its
75
+ * message cannot disagree about what they are pointing at.
76
+ */
77
+ function useFormField() {
78
+ const field = React.useContext(Field);
79
+ const item = React.useContext(Item);
80
+ const { getFieldState } = (0, react_hook_form_1.useFormContext)();
81
+ const formState = (0, react_hook_form_1.useFormState)({ name: field.name });
82
+ const state = getFieldState(field.name, formState);
83
+ if (!field.name) {
84
+ throw new Error('useFormField must be used inside a <FormField>');
85
+ }
86
+ return {
87
+ name: field.name,
88
+ formItemId: `${item.id}-item`,
89
+ formDescriptionId: `${item.id}-description`,
90
+ formMessageId: `${item.id}-message`,
91
+ ...state,
92
+ };
93
+ }
94
+ const FormField = ({ ...props }) => ((0, jsx_runtime_1.jsx)(Field.Provider, { value: { name: props.name }, children: (0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { ...props }) }));
95
+ exports.FormField = FormField;
96
+ const FormItem = ({ className, ...props }) => {
97
+ const id = React.useId();
98
+ return ((0, jsx_runtime_1.jsx)(Item.Provider, { value: { id }, children: (0, jsx_runtime_1.jsx)(box_1.Box, { className: (0, cn_1.cn)('grid grid-cols-1 gap-2', className), ...props }) }));
99
+ };
100
+ exports.FormItem = FormItem;
101
+ const FormLabel = ({ className, ...props }) => {
102
+ const { error, formItemId } = useFormField();
103
+ return ((0, jsx_runtime_1.jsx)(label_1.Label, { "data-error": !!error, className: (0, cn_1.cn)(error && 'text-destructive', className), htmlFor: formItemId, ...props }));
104
+ };
105
+ exports.FormLabel = FormLabel;
106
+ /**
107
+ * Wires the control it wraps to its own ids without rendering anything.
108
+ *
109
+ * `asChild` on Slot would be the shadcn shape; this clones instead, because
110
+ * gui's Slot participates in its own styled context and a bare input is not one
111
+ * of its children.
112
+ */
113
+ const FormControl = ({ children }) => {
114
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
115
+ return React.cloneElement(children, {
116
+ id: formItemId,
117
+ 'aria-describedby': error
118
+ ? `${formDescriptionId} ${formMessageId}`
119
+ : formDescriptionId,
120
+ 'aria-invalid': !!error,
121
+ });
122
+ };
123
+ exports.FormControl = FormControl;
124
+ const FormDescription = ({ className, ...props }) => {
125
+ const { formDescriptionId } = useFormField();
126
+ return ((0, jsx_runtime_1.jsx)(box_1.Box, { tag: "p", id: formDescriptionId, className: (0, cn_1.cn)('text-sm text-muted-foreground', className), ...props }));
127
+ };
128
+ exports.FormDescription = FormDescription;
129
+ /**
130
+ * The field's error, or nothing.
131
+ *
132
+ * Rendering an empty element when there is no error would reserve space that
133
+ * then jumps when a message arrives, and would leave an `aria-describedby`
134
+ * pointing at a node with no text in it.
135
+ */
136
+ const FormMessage = ({ className, children, ...props }) => {
137
+ const { error, formMessageId } = useFormField();
138
+ const body = error ? String(error?.message ?? '') : children;
139
+ if (!body)
140
+ return null;
141
+ return ((0, jsx_runtime_1.jsx)(box_1.Box, { tag: "p", id: formMessageId, className: (0, cn_1.cn)('text-sm text-destructive', className), ...props, children: body }));
142
+ };
143
+ exports.FormMessage = FormMessage;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Form — the five pieces that connect react-hook-form to a rendered field.
3
+ *
4
+ * <Form {...form}>
5
+ * <FormField name="email" control={form.control} render={({ field }) => (
6
+ * <FormItem>
7
+ * <FormLabel>Email</FormLabel>
8
+ * <FormControl><Input {...field} /></FormControl>
9
+ * <FormMessage />
10
+ * </FormItem>
11
+ * )} />
12
+ * </Form>
13
+ *
14
+ * What they buy is the ACCESSIBILITY wiring, which is the part hand-written
15
+ * forms get wrong: the control is described by its message, the message has an
16
+ * id to be described BY, `aria-invalid` follows the field's error state, and a
17
+ * message renders only when there is one to render. Each is one id agreeing in
18
+ * three places, and each is a place for the three to drift apart.
19
+ *
20
+ * react-hook-form is an OPTIONAL peer, like `next`. This subpath is the only
21
+ * thing here that reaches for it, so an app with no forms never installs it.
22
+ */
23
+ import * as React from 'react';
24
+ import { type ControllerProps, type FieldPath, type FieldValues } from 'react-hook-form';
25
+ import { Box } from '../../box.js';
26
+ import { Label } from './label.js';
27
+ /** The provider. Spread a `useForm()` result straight into it. */
28
+ export declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>({ children, watch, getValues, getFieldState, setError, clearErrors, setValue, setValues, trigger, formState, resetField, reset, resetDefaultValues, handleSubmit, unregister, control, register, setFocus, subscribe, }: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
29
+ /**
30
+ * One field's worth of state, plus the three ids the pieces below agree on.
31
+ *
32
+ * The ids are derived from ONE `useId`, so the control, its description and its
33
+ * message cannot disagree about what they are pointing at.
34
+ */
35
+ export declare function useFormField(): {
36
+ invalid: boolean;
37
+ isDirty: boolean;
38
+ isTouched: boolean;
39
+ isValidating: boolean;
40
+ error?: import("react-hook-form").FieldError | undefined;
41
+ name: string;
42
+ formItemId: string;
43
+ formDescriptionId: string;
44
+ formMessageId: string;
45
+ };
46
+ export declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
47
+ export declare const FormItem: ({ className, ...props }: React.ComponentProps<typeof Box>) => import("react/jsx-runtime").JSX.Element;
48
+ export declare const FormLabel: ({ className, ...props }: React.ComponentProps<typeof Label>) => import("react/jsx-runtime").JSX.Element;
49
+ /**
50
+ * Wires the control it wraps to its own ids without rendering anything.
51
+ *
52
+ * `asChild` on Slot would be the shadcn shape; this clones instead, because
53
+ * gui's Slot participates in its own styled context and a bare input is not one
54
+ * of its children.
55
+ */
56
+ export declare const FormControl: ({ children }: {
57
+ children: React.ReactElement;
58
+ }) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
59
+ export declare const FormDescription: ({ className, ...props }: React.ComponentProps<typeof Box>) => import("react/jsx-runtime").JSX.Element;
60
+ /**
61
+ * The field's error, or nothing.
62
+ *
63
+ * Rendering an empty element when there is no error would reserve space that
64
+ * then jumps when a message arrives, and would leave an `aria-describedby`
65
+ * pointing at a node with no text in it.
66
+ */
67
+ export declare const FormMessage: ({ className, children, ...props }: React.ComponentProps<typeof Box>) => import("react/jsx-runtime").JSX.Element | null;
68
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/form.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,kEAAkE;AAClE,eAAO,MAAM,IAAI,8ZAAe,CAAA;AAQhC;;;;;GAKG;AACH,wBAAgB,YAAY;;;;;;;;;;EAkB3B;AAED,eAAO,MAAM,SAAS,GACpB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,gBAG9D,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,4CAItC,CAAA;AAED,eAAO,MAAM,QAAQ,4BAA6B,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,4CASjF,CAAA;AAED,eAAO,MAAM,SAAS,4BAGnB,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,4CAUpC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,iBAAkB;IAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAA;CAAE,2EASzE,CAAA;AAED,eAAO,MAAM,eAAe,4BAA6B,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,4CAUxF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,sCAAuC,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,mDAc9F,CAAA"}
@@ -0,0 +1,101 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ /**
4
+ * Form — the five pieces that connect react-hook-form to a rendered field.
5
+ *
6
+ * <Form {...form}>
7
+ * <FormField name="email" control={form.control} render={({ field }) => (
8
+ * <FormItem>
9
+ * <FormLabel>Email</FormLabel>
10
+ * <FormControl><Input {...field} /></FormControl>
11
+ * <FormMessage />
12
+ * </FormItem>
13
+ * )} />
14
+ * </Form>
15
+ *
16
+ * What they buy is the ACCESSIBILITY wiring, which is the part hand-written
17
+ * forms get wrong: the control is described by its message, the message has an
18
+ * id to be described BY, `aria-invalid` follows the field's error state, and a
19
+ * message renders only when there is one to render. Each is one id agreeing in
20
+ * three places, and each is a place for the three to drift apart.
21
+ *
22
+ * react-hook-form is an OPTIONAL peer, like `next`. This subpath is the only
23
+ * thing here that reaches for it, so an app with no forms never installs it.
24
+ */
25
+ import * as React from 'react';
26
+ import { Controller, FormProvider, useFormContext, useFormState, } from 'react-hook-form';
27
+ import { Box } from '../../box.js';
28
+ import { cn } from '../../core/cn.js';
29
+ import { Label } from './label.js';
30
+ /** The provider. Spread a `useForm()` result straight into it. */
31
+ export const Form = FormProvider;
32
+ const Field = /* @__PURE__ */ React.createContext({});
33
+ const Item = /* @__PURE__ */ React.createContext({});
34
+ /**
35
+ * One field's worth of state, plus the three ids the pieces below agree on.
36
+ *
37
+ * The ids are derived from ONE `useId`, so the control, its description and its
38
+ * message cannot disagree about what they are pointing at.
39
+ */
40
+ export function useFormField() {
41
+ const field = React.useContext(Field);
42
+ const item = React.useContext(Item);
43
+ const { getFieldState } = useFormContext();
44
+ const formState = useFormState({ name: field.name });
45
+ const state = getFieldState(field.name, formState);
46
+ if (!field.name) {
47
+ throw new Error('useFormField must be used inside a <FormField>');
48
+ }
49
+ return {
50
+ name: field.name,
51
+ formItemId: `${item.id}-item`,
52
+ formDescriptionId: `${item.id}-description`,
53
+ formMessageId: `${item.id}-message`,
54
+ ...state,
55
+ };
56
+ }
57
+ export const FormField = ({ ...props }) => (_jsx(Field.Provider, { value: { name: props.name }, children: _jsx(Controller, { ...props }) }));
58
+ export const FormItem = ({ className, ...props }) => {
59
+ const id = React.useId();
60
+ return (_jsx(Item.Provider, { value: { id }, children: _jsx(Box, { className: cn('grid grid-cols-1 gap-2', className), ...props }) }));
61
+ };
62
+ export const FormLabel = ({ className, ...props }) => {
63
+ const { error, formItemId } = useFormField();
64
+ return (_jsx(Label, { "data-error": !!error, className: cn(error && 'text-destructive', className), htmlFor: formItemId, ...props }));
65
+ };
66
+ /**
67
+ * Wires the control it wraps to its own ids without rendering anything.
68
+ *
69
+ * `asChild` on Slot would be the shadcn shape; this clones instead, because
70
+ * gui's Slot participates in its own styled context and a bare input is not one
71
+ * of its children.
72
+ */
73
+ export const FormControl = ({ children }) => {
74
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
75
+ return React.cloneElement(children, {
76
+ id: formItemId,
77
+ 'aria-describedby': error
78
+ ? `${formDescriptionId} ${formMessageId}`
79
+ : formDescriptionId,
80
+ 'aria-invalid': !!error,
81
+ });
82
+ };
83
+ export const FormDescription = ({ className, ...props }) => {
84
+ const { formDescriptionId } = useFormField();
85
+ return (_jsx(Box, { tag: "p", id: formDescriptionId, className: cn('text-sm text-muted-foreground', className), ...props }));
86
+ };
87
+ /**
88
+ * The field's error, or nothing.
89
+ *
90
+ * Rendering an empty element when there is no error would reserve space that
91
+ * then jumps when a message arrives, and would leave an `aria-describedby`
92
+ * pointing at a node with no text in it.
93
+ */
94
+ export const FormMessage = ({ className, children, ...props }) => {
95
+ const { error, formMessageId } = useFormField();
96
+ const body = error ? String(error?.message ?? '') : children;
97
+ if (!body)
98
+ return null;
99
+ return (_jsx(Box, { tag: "p", id: formMessageId, className: cn('text-sm text-destructive', className), ...props, children: body }));
100
+ };
101
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../src/backends/gui/form.tsx"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.ContextMenuRadioItem = exports.ContextMenuCheckboxItem = exports.ContextMenuItem = exports.ContextMenuContent = exports.ContextMenuTrigger = exports.ContextMenu = exports.CommandSeparator = exports.CommandShortcut = exports.CommandItem = exports.CommandGroup = exports.CommandEmpty = exports.CommandList = exports.CommandInput = exports.CommandDialog = exports.Command = exports.CollapsibleContent = exports.CollapsibleTrigger = exports.Collapsible = exports.Checkbox = exports.CardMedia = exports.CardContent = exports.CardDescription = exports.CardAction = exports.CardTitle = exports.CardFooter = exports.CardHeader = exports.Card = exports.buttonVariants = exports.Button = exports.badgeVariants = exports.Badge = exports.AvatarFallback = exports.AvatarImage = exports.Avatar = exports.AspectRatio = exports.AlertDialogCancel = exports.AlertDialogAction = exports.AlertDialogDescription = exports.AlertDialogTitle = exports.AlertDialogFooter = exports.AlertDialogHeader = exports.AlertDialogContent = exports.AlertDialogOverlay = exports.AlertDialogPortal = exports.AlertDialogTrigger = exports.AlertDialog = exports.AccordionContent = exports.AccordionTrigger = exports.AccordionItem = exports.Accordion = void 0;
20
20
  exports.ResizablePanel = exports.ResizablePanelGroup = exports.RadioGroupItem = exports.RadioGroup = exports.Progress = exports.PopoverClose = exports.PopoverAnchor = exports.PopoverContent = exports.PopoverTrigger = exports.Popover = exports.Label = exports.Input = exports.HoverCardContent = exports.HoverCardTrigger = exports.HoverCard = exports.Glass = exports.DropdownMenuRadioGroup = exports.DropdownMenuSubTrigger = exports.DropdownMenuSubContent = exports.DropdownMenuSub = exports.DropdownMenuPortal = exports.DropdownMenuGroup = exports.DropdownMenuShortcut = exports.DropdownMenuSeparator = exports.DropdownMenuLabel = exports.DropdownMenuRadioItem = exports.DropdownMenuCheckboxItem = exports.DropdownMenuItem = exports.DropdownMenuContent = exports.DropdownMenuTrigger = exports.DropdownMenu = exports.DialogTrigger = exports.DialogTitle = exports.DialogPortal = exports.DialogOverlay = exports.DialogHeader = exports.DialogFooter = exports.DialogDescription = exports.DialogContent = exports.DialogClose = exports.Dialog = exports.ContextMenuRadioGroup = exports.ContextMenuSubTrigger = exports.ContextMenuSubContent = exports.ContextMenuSub = exports.ContextMenuPortal = exports.ContextMenuGroup = exports.ContextMenuShortcut = exports.ContextMenuSeparator = exports.ContextMenuLabel = void 0;
21
21
  exports.ToggleGroupItem = exports.ToggleGroup = exports.toast = exports.Toaster = exports.Textarea = exports.TabsContent = exports.TabsTrigger = exports.TabsList = exports.Tabs = exports.Switch = exports.Spinner = exports.Slider = exports.Fill = exports.Screen = exports.Band = exports.SelectScrollDownButton = exports.SelectScrollUpButton = exports.SelectSeparator = exports.SelectItem = exports.SelectLabel = exports.SelectContent = exports.SelectTrigger = exports.SelectValue = exports.SelectGroup = exports.Select = exports.ScrollBar = exports.ScrollArea = exports.Text = exports.View = exports.ScrollView = exports.Spacer = exports.Separator = exports.Image = exports.Anchor = exports.Em = exports.Strong = exports.Span = exports.H6 = exports.H5 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Heading = exports.Paragraph = exports.SizableText = exports.ZStack = exports.YStack = exports.XStack = exports.ResizableHandle = void 0;
22
- exports.YouTubeEmbed = exports.VideoPlayer = exports.LinkElement = exports.MDXLink = exports.useLink = exports.Link = exports.ApplyTypography = exports.TooltipProvider = exports.TooltipContent = exports.TooltipTrigger = exports.Tooltip = void 0;
22
+ exports.YouTubeEmbed = exports.VideoPlayer = exports.LinkElement = exports.MDXLink = exports.useLink = exports.Link = exports.ApplyTypography = exports.useFormField = exports.FormMessage = exports.FormDescription = exports.FormControl = exports.FormLabel = exports.FormItem = exports.FormField = exports.Form = exports.TooltipProvider = exports.TooltipContent = exports.TooltipTrigger = exports.Tooltip = void 0;
23
23
  var accordion_1 = require("./accordion.cjs");
24
24
  Object.defineProperty(exports, "Accordion", { enumerable: true, get: function () { return accordion_1.Accordion; } });
25
25
  Object.defineProperty(exports, "AccordionItem", { enumerable: true, get: function () { return accordion_1.AccordionItem; } });
@@ -218,6 +218,15 @@ Object.defineProperty(exports, "Tooltip", { enumerable: true, get: function () {
218
218
  Object.defineProperty(exports, "TooltipTrigger", { enumerable: true, get: function () { return tooltip_1.TooltipTrigger; } });
219
219
  Object.defineProperty(exports, "TooltipContent", { enumerable: true, get: function () { return tooltip_1.TooltipContent; } });
220
220
  Object.defineProperty(exports, "TooltipProvider", { enumerable: true, get: function () { return tooltip_1.TooltipProvider; } });
221
+ var form_1 = require("./form.cjs");
222
+ Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return form_1.Form; } });
223
+ Object.defineProperty(exports, "FormField", { enumerable: true, get: function () { return form_1.FormField; } });
224
+ Object.defineProperty(exports, "FormItem", { enumerable: true, get: function () { return form_1.FormItem; } });
225
+ Object.defineProperty(exports, "FormLabel", { enumerable: true, get: function () { return form_1.FormLabel; } });
226
+ Object.defineProperty(exports, "FormControl", { enumerable: true, get: function () { return form_1.FormControl; } });
227
+ Object.defineProperty(exports, "FormDescription", { enumerable: true, get: function () { return form_1.FormDescription; } });
228
+ Object.defineProperty(exports, "FormMessage", { enumerable: true, get: function () { return form_1.FormMessage; } });
229
+ Object.defineProperty(exports, "useFormField", { enumerable: true, get: function () { return form_1.useFormField; } });
221
230
  var prose_1 = require("./prose.cjs");
222
231
  Object.defineProperty(exports, "ApplyTypography", { enumerable: true, get: function () { return prose_1.ApplyTypography; } });
223
232
  var link_1 = require("./link.cjs");
@@ -32,6 +32,7 @@ export { Textarea } from './textarea.js';
32
32
  export { Toaster, toast } from './toaster.js';
33
33
  export { ToggleGroup, ToggleGroupItem, type ToggleGroupProps, type ToggleGroupItemProps, type ToggleGroupVariant, type ToggleGroupSize, } from './toggle-group.js';
34
34
  export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './tooltip.js';
35
+ export { Form, FormField, FormItem, FormLabel, FormControl, FormDescription, FormMessage, useFormField, } from './form.js';
35
36
  export { ApplyTypography, type ApplyTypographyProps, type ProseTag, type TypographySize, } from './prose.js';
36
37
  export { Link, useLink, MDXLink, LinkElement, type LinkComponent, type LinkElementProps, } from './link.js';
37
38
  export { VideoPlayer, YouTubeEmbed, type VideoPlayerProps, type YouTubeEmbedProps, } from './video.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ export { Textarea } from './textarea.js';
58
58
  export { Toaster, toast } from './toaster.js';
59
59
  export { ToggleGroup, ToggleGroupItem, } from './toggle-group.js';
60
60
  export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './tooltip.js';
61
+ export { Form, FormField, FormItem, FormLabel, FormControl, FormDescription, FormMessage, useFormField, } from './form.js';
61
62
  export { ApplyTypography, } from './prose.js';
62
63
  export { Link, useLink, MDXLink, LinkElement, } from './link.js';
63
64
  export { VideoPlayer, YouTubeEmbed, } from './video.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"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"}
package/dist/core/cn.cjs CHANGED
@@ -15,6 +15,7 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.flatten = flatten;
17
17
  exports.cn = cn;
18
+ exports.capitalize = capitalize;
18
19
  /**
19
20
  * Every class in the input, in order, as individual tokens.
20
21
  *
@@ -52,3 +53,7 @@ function flatten(v, out = []) {
52
53
  function cn(...inputs) {
53
54
  return flatten(inputs).join(' ');
54
55
  }
56
+ /** First letter up, rest untouched — a label from a machine-readable name. */
57
+ function capitalize(s) {
58
+ return s ? s.charAt(0).toUpperCase() + s.slice(1) : s;
59
+ }
package/dist/core/cn.d.ts CHANGED
@@ -28,4 +28,6 @@ export type ClassValue = string | number | bigint | boolean | null | undefined |
28
28
  */
29
29
  export declare function flatten(v: ClassValue, out?: string[]): string[];
30
30
  export declare function cn(...inputs: ClassValue[]): string;
31
+ /** First letter up, rest untouched — a label from a machine-readable name. */
32
+ export declare function capitalize(s: string): string;
31
33
  //# sourceMappingURL=cn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../src/core/cn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GACrD,UAAU,EAAE,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3B;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAWnE;AAED,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD"}
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../src/core/cn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GACrD,UAAU,EAAE,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3B;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAWnE;AAED,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C"}
package/dist/core/cn.js CHANGED
@@ -48,4 +48,8 @@ export function flatten(v, out = []) {
48
48
  export function cn(...inputs) {
49
49
  return flatten(inputs).join(' ');
50
50
  }
51
+ /** First letter up, rest untouched — a label from a machine-readable name. */
52
+ export function capitalize(s) {
53
+ return s ? s.charAt(0).toUpperCase() + s.slice(1) : s;
54
+ }
51
55
  //# sourceMappingURL=cn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/core/cn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,CAAa,EAAE,GAAG,GAAa,EAAE;IACvD,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAA;IAClB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,GAAG,CAAA;IAAC,CAAC;IAC7F,4EAA4E;IAC5E,2EAA2E;IAC3E,8DAA8D;IAC9D,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IACtC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,GAAG,CAAA;IAAC,CAAC;IACvF,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,KAAK,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAAC,OAAO,GAAG,CAAA;IAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,IAAK,CAA6B,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrE,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/core/cn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,CAAa,EAAE,GAAG,GAAa,EAAE;IACvD,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAA;IAClB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,GAAG,CAAA;IAAC,CAAC;IAC7F,4EAA4E;IAC5E,2EAA2E;IAC3E,8DAA8D;IAC9D,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IACtC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,GAAG,CAAA;IAAC,CAAC;IACvF,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,KAAK,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAAC,OAAO,GAAG,CAAA;IAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,IAAK,CAA6B,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrE,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC"}
package/dist/gallery.html CHANGED
@@ -1,4 +1,4 @@
1
- <!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.7.4</title><style>/* @hanzo/ui — generated by scripts/gen-css.mjs. Do not edit. */
1
+ <!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.8.0</title><style>/* @hanzo/ui — generated by scripts/gen-css.mjs. Do not edit. */
2
2
  :root { --hanzo-ui-styles: 1; }
3
3
  /* Hanzo Design System — the entry point. Import THIS one file.
4
4
  *
package/dist/index.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DropdownMenuSubContent = exports.DropdownMenuSub = exports.DropdownMenuShortcut = exports.DropdownMenuSeparator = exports.DropdownMenuRadioItem = exports.DropdownMenuRadioGroup = exports.DropdownMenuPortal = exports.DropdownMenuLabel = exports.DropdownMenuItem = exports.DropdownMenuGroup = exports.DropdownMenuContent = exports.DropdownMenuCheckboxItem = exports.DropdownMenu = exports.DialogTrigger = exports.DialogTitle = exports.DialogPortal = exports.DialogOverlay = exports.DialogHeader = exports.DialogFooter = exports.DialogDescription = exports.DialogContent = exports.DialogClose = exports.Dialog = exports.CommandShortcut = exports.CommandSeparator = exports.CommandList = exports.CommandItem = exports.CommandInput = exports.CommandGroup = exports.CommandEmpty = exports.CommandDialog = exports.Command = exports.CollapsibleTrigger = exports.CollapsibleContent = exports.Collapsible = exports.Checkbox = exports.CardTitle = exports.CardMedia = exports.CardHeader = exports.CardFooter = exports.CardDescription = exports.CardContent = exports.CardAction = exports.Card = exports.Button = exports.Badge = exports.AvatarImage = exports.AvatarFallback = exports.Avatar = exports.AspectRatio = void 0;
4
4
  exports.TabsContent = exports.Tabs = exports.Switch = exports.Strong = exports.Spinner = exports.Span = exports.Spacer = exports.Slider = exports.SizableText = exports.Separator = exports.Band = exports.ScrollView = exports.Screen = exports.Paragraph = exports.SelectValue = exports.SelectTrigger = exports.SelectSeparator = exports.SelectScrollUpButton = exports.SelectScrollDownButton = exports.SelectLabel = exports.SelectItem = exports.SelectGroup = exports.SelectContent = exports.Select = exports.ScrollBar = exports.ScrollArea = exports.ResizablePanelGroup = exports.ResizablePanel = exports.ResizableHandle = exports.Progress = exports.PopoverTrigger = exports.PopoverContent = exports.PopoverClose = exports.PopoverAnchor = exports.Popover = exports.Label = exports.Input = exports.Image = exports.Heading = exports.H6 = exports.H5 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Fill = exports.Glass = exports.Em = exports.DropdownMenuTrigger = exports.DropdownMenuSubTrigger = void 0;
5
- exports.ContextMenuSub = exports.ContextMenuShortcut = exports.ContextMenuSeparator = exports.ContextMenuRadioItem = exports.ContextMenuRadioGroup = exports.ContextMenuPortal = exports.ContextMenuLabel = exports.ContextMenuItem = exports.ContextMenuGroup = exports.ContextMenuContent = exports.ContextMenuCheckboxItem = exports.ContextMenu = exports.AlertDialogTrigger = exports.AlertDialogTitle = exports.AlertDialogPortal = exports.AlertDialogOverlay = exports.AlertDialogHeader = exports.AlertDialogFooter = exports.AlertDialogDescription = exports.AlertDialogContent = exports.AlertDialogCancel = exports.AlertDialogAction = exports.AlertDialog = exports.AccordionTrigger = exports.AccordionItem = exports.AccordionContent = exports.Accordion = exports.useLink = exports.YouTubeEmbed = exports.VideoPlayer = exports.MDXLink = exports.LinkElement = exports.Link = exports.ApplyTypography = exports.toast = exports.buttonVariants = exports.badgeVariants = exports.ZStack = exports.YStack = exports.XStack = exports.View = exports.TooltipTrigger = exports.TooltipProvider = exports.TooltipContent = exports.Tooltip = exports.Text = exports.Toaster = exports.Textarea = exports.TabsTrigger = exports.TabsList = void 0;
6
- exports.sx = exports.Box = exports.tw = exports.cn = exports.Hanzo = exports.Anchor = exports.ToggleGroupItem = exports.ToggleGroup = exports.RadioGroupItem = exports.RadioGroup = exports.HoverCardTrigger = exports.HoverCardContent = exports.HoverCard = exports.ContextMenuTrigger = exports.ContextMenuSubTrigger = exports.ContextMenuSubContent = void 0;
5
+ exports.ContextMenuGroup = exports.ContextMenuContent = exports.ContextMenuCheckboxItem = exports.ContextMenu = exports.AlertDialogTrigger = exports.AlertDialogTitle = exports.AlertDialogPortal = exports.AlertDialogOverlay = exports.AlertDialogHeader = exports.AlertDialogFooter = exports.AlertDialogDescription = exports.AlertDialogContent = exports.AlertDialogCancel = exports.AlertDialogAction = exports.AlertDialog = exports.AccordionTrigger = exports.AccordionItem = exports.AccordionContent = exports.Accordion = exports.useFormField = exports.FormMessage = exports.FormDescription = exports.FormControl = exports.FormLabel = exports.FormItem = exports.FormField = exports.Form = exports.useLink = exports.YouTubeEmbed = exports.VideoPlayer = exports.MDXLink = exports.LinkElement = exports.Link = exports.ApplyTypography = exports.toast = exports.buttonVariants = exports.badgeVariants = exports.ZStack = exports.YStack = exports.XStack = exports.View = exports.TooltipTrigger = exports.TooltipProvider = exports.TooltipContent = exports.Tooltip = exports.Text = exports.Toaster = exports.Textarea = exports.TabsTrigger = exports.TabsList = void 0;
6
+ exports.sx = exports.Box = exports.tw = exports.capitalize = exports.cn = exports.Hanzo = exports.Anchor = exports.ToggleGroupItem = exports.ToggleGroup = exports.RadioGroupItem = exports.RadioGroup = exports.HoverCardTrigger = exports.HoverCardContent = exports.HoverCard = exports.ContextMenuTrigger = exports.ContextMenuSubTrigger = exports.ContextMenuSubContent = exports.ContextMenuSub = exports.ContextMenuShortcut = exports.ContextMenuSeparator = exports.ContextMenuRadioItem = exports.ContextMenuRadioGroup = exports.ContextMenuPortal = exports.ContextMenuLabel = exports.ContextMenuItem = void 0;
7
7
  // @hanzo/ui — the one Hanzo component library, on @hanzo/gui + @hanzo/design.
8
8
  //
9
9
  // ONE substrate: every component renders through @hanzo/gui primitives, so the
@@ -163,6 +163,14 @@ Object.defineProperty(exports, "MDXLink", { enumerable: true, get: function () {
163
163
  Object.defineProperty(exports, "VideoPlayer", { enumerable: true, get: function () { return gui_1.VideoPlayer; } });
164
164
  Object.defineProperty(exports, "YouTubeEmbed", { enumerable: true, get: function () { return gui_1.YouTubeEmbed; } });
165
165
  Object.defineProperty(exports, "useLink", { enumerable: true, get: function () { return gui_1.useLink; } });
166
+ Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return gui_1.Form; } });
167
+ Object.defineProperty(exports, "FormField", { enumerable: true, get: function () { return gui_1.FormField; } });
168
+ Object.defineProperty(exports, "FormItem", { enumerable: true, get: function () { return gui_1.FormItem; } });
169
+ Object.defineProperty(exports, "FormLabel", { enumerable: true, get: function () { return gui_1.FormLabel; } });
170
+ Object.defineProperty(exports, "FormControl", { enumerable: true, get: function () { return gui_1.FormControl; } });
171
+ Object.defineProperty(exports, "FormDescription", { enumerable: true, get: function () { return gui_1.FormDescription; } });
172
+ Object.defineProperty(exports, "FormMessage", { enumerable: true, get: function () { return gui_1.FormMessage; } });
173
+ Object.defineProperty(exports, "useFormField", { enumerable: true, get: function () { return gui_1.useFormField; } });
166
174
  Object.defineProperty(exports, "Accordion", { enumerable: true, get: function () { return gui_1.Accordion; } });
167
175
  Object.defineProperty(exports, "AccordionContent", { enumerable: true, get: function () { return gui_1.AccordionContent; } });
168
176
  Object.defineProperty(exports, "AccordionItem", { enumerable: true, get: function () { return gui_1.AccordionItem; } });
@@ -224,8 +232,12 @@ Object.defineProperty(exports, "Anchor", { enumerable: true, get: function () {
224
232
  var root_1 = require("./root.cjs");
225
233
  Object.defineProperty(exports, "Hanzo", { enumerable: true, get: function () { return root_1.Hanzo; } });
226
234
  // `cn` — the class-name composer, surfaced for convenience.
235
+ // The type goes with the function. `cn(...inputs: ClassValue[])` cannot be
236
+ // typed at a call site without it, so exporting one and not the other left
237
+ // every consumer reaching into a subpath for half of a pair.
227
238
  var cn_1 = require("./core/cn.cjs");
228
239
  Object.defineProperty(exports, "cn", { enumerable: true, get: function () { return cn_1.cn; } });
240
+ Object.defineProperty(exports, "capitalize", { enumerable: true, get: function () { return cn_1.capitalize; } });
229
241
  // The design-token scale (colors, dark/light themes, radii, spacing, typography)
230
242
  // lives on the `@hanzo/ui/core` / `@hanzo/ui/tokens` subpath — pure data, no
231
243
  // runtime.
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export { AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardMedia, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Em, Glass, Fill, H1, H2, H3, H4, H5, H6, Heading, Image, Input, Label, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Paragraph, Screen, ScrollView, Band, Separator, SizableText, Slider, Spacer, Span, Spinner, Strong, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Text, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, View, XStack, YStack, ZStack, badgeVariants, buttonVariants, toast, ApplyTypography, Link, LinkElement, MDXLink, VideoPlayer, YouTubeEmbed, useLink, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, HoverCard, HoverCardContent, HoverCardTrigger, RadioGroup, RadioGroupItem, ToggleGroup, ToggleGroupItem, } from './backends/gui/index.js';
1
+ export { AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardMedia, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Em, Glass, Fill, H1, H2, H3, H4, H5, H6, Heading, Image, Input, Label, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Paragraph, Screen, ScrollView, Band, Separator, SizableText, Slider, Spacer, Span, Spinner, Strong, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Text, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, View, XStack, YStack, ZStack, badgeVariants, buttonVariants, toast, ApplyTypography, Link, LinkElement, MDXLink, VideoPlayer, YouTubeEmbed, useLink, Form, FormField, FormItem, FormLabel, FormControl, FormDescription, FormMessage, useFormField, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, HoverCard, HoverCardContent, HoverCardTrigger, RadioGroup, RadioGroupItem, ToggleGroup, ToggleGroupItem, } from './backends/gui/index.js';
2
2
  export type { AspectRatioProps, BadgeProps, BadgeVariant, ButtonProps, ButtonSize, ButtonVariant, CommandFilter, CommandProps, DropdownMenuProps, InputProps, ResizableHandleProps, SpinnerProps, ResizablePanelGroupProps, ResizablePanelProps, AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps, AlertDialogContentProps, AlertDialogOverlayProps, AlertDialogProps, AlertDialogSectionProps, ContextMenuContentProps, ContextMenuItemProps, ContextMenuSubContentProps, HoverCardContentProps, HoverCardProps, HoverCardTriggerProps, RadioGroupItemProps, RadioGroupProps, ToggleGroupItemProps, ToggleGroupProps, ToggleGroupSize, ToggleGroupVariant, } from './backends/gui/index.js';
3
3
  export { Anchor, type GuiElement, } from './backends/gui/index.js';
4
4
  export { Hanzo, type HanzoProps } from './root.js';
5
- export { cn } from './core/cn.js';
5
+ export { cn, capitalize, type ClassValue } from './core/cn.js';
6
6
  export { tw, type Parsed, type Props as TwProps } from './tw.js';
7
7
  export { Box, type BoxProps } from './box.js';
8
8
  export { sx } from './sx.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@
33
33
  // absent here, which means a consumer could not import them AT ALL: the component
34
34
  // existed, the docs named it, and `import { Grid } from '@hanzo/ui'` was undefined.
35
35
  // `src/__tests__/barrel.test.ts` now fails when the two disagree.
36
- export { AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardMedia, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Em, Glass, Fill, H1, H2, H3, H4, H5, H6, Heading, Image, Input, Label, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Paragraph, Screen, ScrollView, Band, Separator, SizableText, Slider, Spacer, Span, Spinner, Strong, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Text, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, View, XStack, YStack, ZStack, badgeVariants, buttonVariants, toast, ApplyTypography, Link, LinkElement, MDXLink, VideoPlayer, YouTubeEmbed, useLink, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, HoverCard, HoverCardContent, HoverCardTrigger, RadioGroup, RadioGroupItem, ToggleGroup, ToggleGroupItem, } from './backends/gui/index.js';
36
+ export { AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardMedia, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Em, Glass, Fill, H1, H2, H3, H4, H5, H6, Heading, Image, Input, Label, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Paragraph, Screen, ScrollView, Band, Separator, SizableText, Slider, Spacer, Span, Spinner, Strong, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Text, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, View, XStack, YStack, ZStack, badgeVariants, buttonVariants, toast, ApplyTypography, Link, LinkElement, MDXLink, VideoPlayer, YouTubeEmbed, useLink, Form, FormField, FormItem, FormLabel, FormControl, FormDescription, FormMessage, useFormField, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, HoverCard, HoverCardContent, HoverCardTrigger, RadioGroup, RadioGroupItem, ToggleGroup, ToggleGroupItem, } from './backends/gui/index.js';
37
37
  // LAYOUT — the stacks and the type scale reach consumers through the component
38
38
  // barrel above, which already names XStack/YStack/ZStack, the type scale
39
39
  // (SizableText, Paragraph, Heading, H1-H6, Span, Strong, Em) and Image, Spacer,
@@ -56,7 +56,10 @@ export { Anchor, } from './backends/gui/index.js';
56
56
  // no gui.config.ts, no CSS import, no generator script.
57
57
  export { Hanzo } from './root.js';
58
58
  // `cn` — the class-name composer, surfaced for convenience.
59
- export { cn } from './core/cn.js';
59
+ // The type goes with the function. `cn(...inputs: ClassValue[])` cannot be
60
+ // typed at a call site without it, so exporting one and not the other left
61
+ // every consumer reaching into a subpath for half of a pair.
62
+ export { cn, capitalize } from './core/cn.js';
60
63
  // The design-token scale (colors, dark/light themes, radii, spacing, typography)
61
64
  // lives on the `@hanzo/ui/core` / `@hanzo/ui/tokens` subpath — pure data, no
62
65
  // runtime.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@
33
33
  // absent here, which means a consumer could not import them AT ALL: the component
34
34
  // existed, the docs named it, and `import { Grid } from '@hanzo/ui'` was undefined.
35
35
  // `src/__tests__/barrel.test.ts` now fails when the two disagree.
36
- export { AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardMedia, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Em, Glass, Fill, H1, H2, H3, H4, H5, H6, Heading, Image, Input, Label, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Paragraph, Screen, ScrollView, Band, Separator, SizableText, Slider, Spacer, Span, Spinner, Strong, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Text, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, View, XStack, YStack, ZStack, badgeVariants, buttonVariants, toast, ApplyTypography, Link, LinkElement, MDXLink, VideoPlayer, YouTubeEmbed, useLink, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, HoverCard, HoverCardContent, HoverCardTrigger, RadioGroup, RadioGroupItem, ToggleGroup, ToggleGroupItem, } from './backends/gui/index.js';
36
+ export { AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardMedia, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Em, Glass, Fill, H1, H2, H3, H4, H5, H6, Heading, Image, Input, Label, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Paragraph, Screen, ScrollView, Band, Separator, SizableText, Slider, Spacer, Span, Spinner, Strong, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Text, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, View, XStack, YStack, ZStack, badgeVariants, buttonVariants, toast, ApplyTypography, Link, LinkElement, MDXLink, VideoPlayer, YouTubeEmbed, useLink, Form, FormField, FormItem, FormLabel, FormControl, FormDescription, FormMessage, useFormField, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, HoverCard, HoverCardContent, HoverCardTrigger, RadioGroup, RadioGroupItem, ToggleGroup, ToggleGroupItem, } from './backends/gui/index.js';
37
37
  // LAYOUT — the stacks and the type scale reach consumers through the component
38
38
  // barrel above, which already names XStack/YStack/ZStack, the type scale
39
39
  // (SizableText, Paragraph, Heading, H1-H6, Span, Strong, Em) and Image, Spacer,
@@ -56,7 +56,10 @@ export { Anchor, } from './backends/gui/index.js';
56
56
  // no gui.config.ts, no CSS import, no generator script.
57
57
  export { Hanzo } from './root.node.js';
58
58
  // `cn` — the class-name composer, surfaced for convenience.
59
- export { cn } from './core/cn.js';
59
+ // The type goes with the function. `cn(...inputs: ClassValue[])` cannot be
60
+ // typed at a call site without it, so exporting one and not the other left
61
+ // every consumer reaching into a subpath for half of a pair.
62
+ export { cn, capitalize } from './core/cn.js';
60
63
  // The design-token scale (colors, dark/light themes, radii, spacing, typography)
61
64
  // lives on the `@hanzo/ui/core` / `@hanzo/ui/tokens` subpath — pure data, no
62
65
  // runtime.
@@ -0,0 +1,8 @@
1
+ 'use client';"use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Form = void 0;
4
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
5
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
6
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
7
+ var form_1 = require("../backends/gui/form.cjs");
8
+ Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return form_1.Form; } });
@@ -0,0 +1,2 @@
1
+ export { Form } from '../backends/gui/form.js';
2
+ //# sourceMappingURL=Form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../src/primitives/Form.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
2
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
3
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
4
+ export { Form } from '../backends/gui/form.js';
5
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/primitives/Form.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,8 @@
1
+ 'use client';"use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormControl = void 0;
4
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
5
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
6
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
7
+ var form_1 = require("../backends/gui/form.cjs");
8
+ Object.defineProperty(exports, "FormControl", { enumerable: true, get: function () { return form_1.FormControl; } });
@@ -0,0 +1,2 @@
1
+ export { FormControl } from '../backends/gui/form.js';
2
+ //# sourceMappingURL=FormControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControl.d.ts","sourceRoot":"","sources":["../../src/primitives/FormControl.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
2
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
3
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
4
+ export { FormControl } from '../backends/gui/form.js';
5
+ //# sourceMappingURL=FormControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormControl.js","sourceRoot":"","sources":["../../src/primitives/FormControl.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,8 @@
1
+ 'use client';"use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormDescription = void 0;
4
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
5
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
6
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
7
+ var form_1 = require("../backends/gui/form.cjs");
8
+ Object.defineProperty(exports, "FormDescription", { enumerable: true, get: function () { return form_1.FormDescription; } });
@@ -0,0 +1,2 @@
1
+ export { FormDescription } from '../backends/gui/form.js';
2
+ //# sourceMappingURL=FormDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormDescription.d.ts","sourceRoot":"","sources":["../../src/primitives/FormDescription.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
2
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
3
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
4
+ export { FormDescription } from '../backends/gui/form.js';
5
+ //# sourceMappingURL=FormDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormDescription.js","sourceRoot":"","sources":["../../src/primitives/FormDescription.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,8 @@
1
+ 'use client';"use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormField = void 0;
4
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
5
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
6
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
7
+ var form_1 = require("../backends/gui/form.cjs");
8
+ Object.defineProperty(exports, "FormField", { enumerable: true, get: function () { return form_1.FormField; } });
@@ -0,0 +1,2 @@
1
+ export { FormField } from '../backends/gui/form.js';
2
+ //# sourceMappingURL=FormField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../src/primitives/FormField.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
2
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
3
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
4
+ export { FormField } from '../backends/gui/form.js';
5
+ //# sourceMappingURL=FormField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../src/primitives/FormField.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,8 @@
1
+ 'use client';"use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormItem = void 0;
4
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
5
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
6
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
7
+ var form_1 = require("../backends/gui/form.cjs");
8
+ Object.defineProperty(exports, "FormItem", { enumerable: true, get: function () { return form_1.FormItem; } });
@@ -0,0 +1,2 @@
1
+ export { FormItem } from '../backends/gui/form.js';
2
+ //# sourceMappingURL=FormItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormItem.d.ts","sourceRoot":"","sources":["../../src/primitives/FormItem.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
2
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
3
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
4
+ export { FormItem } from '../backends/gui/form.js';
5
+ //# sourceMappingURL=FormItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormItem.js","sourceRoot":"","sources":["../../src/primitives/FormItem.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,8 @@
1
+ 'use client';"use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormLabel = void 0;
4
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
5
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
6
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
7
+ var form_1 = require("../backends/gui/form.cjs");
8
+ Object.defineProperty(exports, "FormLabel", { enumerable: true, get: function () { return form_1.FormLabel; } });
@@ -0,0 +1,2 @@
1
+ export { FormLabel } from '../backends/gui/form.js';
2
+ //# sourceMappingURL=FormLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormLabel.d.ts","sourceRoot":"","sources":["../../src/primitives/FormLabel.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
2
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
3
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
4
+ export { FormLabel } from '../backends/gui/form.js';
5
+ //# sourceMappingURL=FormLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormLabel.js","sourceRoot":"","sources":["../../src/primitives/FormLabel.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,8 @@
1
+ 'use client';"use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormMessage = void 0;
4
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
5
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
6
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
7
+ var form_1 = require("../backends/gui/form.cjs");
8
+ Object.defineProperty(exports, "FormMessage", { enumerable: true, get: function () { return form_1.FormMessage; } });
@@ -0,0 +1,2 @@
1
+ export { FormMessage } from '../backends/gui/form.js';
2
+ //# sourceMappingURL=FormMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormMessage.d.ts","sourceRoot":"","sources":["../../src/primitives/FormMessage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
2
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
3
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
4
+ export { FormMessage } from '../backends/gui/form.js';
5
+ //# sourceMappingURL=FormMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormMessage.js","sourceRoot":"","sources":["../../src/primitives/FormMessage.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,8 @@
1
+ 'use client';"use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useFormField = void 0;
4
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
5
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
6
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
7
+ var form_1 = require("../backends/gui/form.cjs");
8
+ Object.defineProperty(exports, "useFormField", { enumerable: true, get: function () { return form_1.useFormField; } });
@@ -0,0 +1,2 @@
1
+ export { useFormField } from '../backends/gui/form.js';
2
+ //# sourceMappingURL=useFormField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormField.d.ts","sourceRoot":"","sources":["../../src/primitives/useFormField.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ // GENERATED by scripts/gen-primitives.mjs — do not edit. Per-member entrypoint
2
+ // for hosts that modularize `@hanzo/ui` imports. Source of truth:
3
+ // src/backends/gui/index.ts. Re-run: node scripts/gen-primitives.mjs
4
+ export { useFormField } from '../backends/gui/form.js';
5
+ //# sourceMappingURL=useFormField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormField.js","sourceRoot":"","sources":["../../src/primitives/useFormField.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "8.7.4",
3
+ "version": "8.8.0",
4
4
  "type": "module",
5
5
  "description": "Hanzo UI — the one canonical Hanzo component library, on @hanzo/gui + @hanzo/design. ONE substrate: every component renders through @hanzo/gui primitives, so the same import works on web, native (expo) and desktop (Tauri). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
6
6
  "exports": {
@@ -246,7 +246,8 @@
246
246
  "next-themes": ">=0.2.1",
247
247
  "react": ">=19",
248
248
  "react-dom": ">=19",
249
- "react-native-web": ">=0.21"
249
+ "react-native-web": ">=0.21",
250
+ "react-hook-form": ">=7"
250
251
  },
251
252
  "peerDependenciesMeta": {
252
253
  "@hanzo/canvas": {
@@ -272,6 +273,9 @@
272
273
  },
273
274
  "react-native-web": {
274
275
  "optional": true
276
+ },
277
+ "react-hook-form": {
278
+ "optional": true
275
279
  }
276
280
  },
277
281
  "devDependencies": {
@@ -297,6 +301,7 @@
297
301
  "react-native-web": "^0.21.2",
298
302
  "typescript": "^7.0.2",
299
303
  "vitest": "^4.1.8",
304
+ "react-hook-form": "^7.71.1",
300
305
  "@hanzo/cd": "0.1.2"
301
306
  },
302
307
  "publishConfig": {