@jarllyng/nostromo 3.10.0 → 3.12.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 (90) hide show
  1. package/README.md +1 -1
  2. package/dist/animations.css +29 -1
  3. package/dist/chunk-27UORO2F.cjs +3 -0
  4. package/dist/chunk-27UORO2F.cjs.map +1 -0
  5. package/dist/chunk-5N5KJBMP.js +3 -0
  6. package/dist/chunk-5N5KJBMP.js.map +1 -0
  7. package/dist/chunk-75OZKMEA.cjs +3 -0
  8. package/dist/chunk-75OZKMEA.cjs.map +1 -0
  9. package/dist/chunk-BDRP7ALG.cjs +3 -0
  10. package/dist/chunk-BDRP7ALG.cjs.map +1 -0
  11. package/dist/chunk-BJPJB6IA.cjs +3 -0
  12. package/dist/chunk-BJPJB6IA.cjs.map +1 -0
  13. package/dist/chunk-DB6MHAU3.cjs +3 -0
  14. package/dist/chunk-DB6MHAU3.cjs.map +1 -0
  15. package/dist/chunk-ERGAJKFH.cjs +3 -0
  16. package/dist/chunk-ERGAJKFH.cjs.map +1 -0
  17. package/dist/chunk-K45ZUJ42.js +3 -0
  18. package/dist/chunk-K45ZUJ42.js.map +1 -0
  19. package/dist/chunk-MINSU2YF.js +3 -0
  20. package/dist/chunk-MINSU2YF.js.map +1 -0
  21. package/dist/chunk-NM5NVIAK.js +3 -0
  22. package/dist/chunk-NM5NVIAK.js.map +1 -0
  23. package/dist/chunk-PLEQSJHY.js +3 -0
  24. package/dist/chunk-PLEQSJHY.js.map +1 -0
  25. package/dist/chunk-QESG3HCL.js +3 -0
  26. package/dist/chunk-QESG3HCL.js.map +1 -0
  27. package/dist/chunk-QQTI6OI3.js +3 -0
  28. package/dist/chunk-QQTI6OI3.js.map +1 -0
  29. package/dist/chunk-RKSTEJKG.cjs +3 -0
  30. package/dist/chunk-RKSTEJKG.cjs.map +1 -0
  31. package/dist/components/core/carousel.cjs +3 -0
  32. package/dist/components/core/carousel.cjs.map +1 -0
  33. package/dist/components/core/carousel.d.cts +71 -0
  34. package/dist/components/core/carousel.d.ts +71 -0
  35. package/dist/components/core/carousel.js +3 -0
  36. package/dist/components/core/carousel.js.map +1 -0
  37. package/dist/components/core/command.cjs +3 -0
  38. package/dist/components/core/command.cjs.map +1 -0
  39. package/dist/components/core/command.d.cts +169 -0
  40. package/dist/components/core/command.d.ts +169 -0
  41. package/dist/components/core/command.js +3 -0
  42. package/dist/components/core/command.js.map +1 -0
  43. package/dist/components/core/dialog.cjs +1 -1
  44. package/dist/components/core/dialog.d.cts +9 -0
  45. package/dist/components/core/dialog.d.ts +9 -0
  46. package/dist/components/core/dialog.js +1 -1
  47. package/dist/components/core/drawer.cjs +3 -0
  48. package/dist/components/core/drawer.cjs.map +1 -0
  49. package/dist/components/core/drawer.d.cts +70 -0
  50. package/dist/components/core/drawer.d.ts +70 -0
  51. package/dist/components/core/drawer.js +3 -0
  52. package/dist/components/core/drawer.js.map +1 -0
  53. package/dist/components/core/form.cjs +1 -1
  54. package/dist/components/core/form.js +1 -1
  55. package/dist/components/core/input-otp.cjs +3 -0
  56. package/dist/components/core/input-otp.cjs.map +1 -0
  57. package/dist/components/core/input-otp.d.cts +50 -0
  58. package/dist/components/core/input-otp.d.ts +50 -0
  59. package/dist/components/core/input-otp.js +3 -0
  60. package/dist/components/core/input-otp.js.map +1 -0
  61. package/dist/components/core/resizable.cjs +3 -0
  62. package/dist/components/core/resizable.cjs.map +1 -0
  63. package/dist/components/core/resizable.d.cts +362 -0
  64. package/dist/components/core/resizable.d.ts +362 -0
  65. package/dist/components/core/resizable.js +3 -0
  66. package/dist/components/core/resizable.js.map +1 -0
  67. package/dist/components/core/sidebar.cjs +3 -0
  68. package/dist/components/core/sidebar.cjs.map +1 -0
  69. package/dist/components/core/sidebar.d.cts +131 -0
  70. package/dist/components/core/sidebar.d.ts +131 -0
  71. package/dist/components/core/sidebar.js +3 -0
  72. package/dist/components/core/sidebar.js.map +1 -0
  73. package/dist/index.cjs +1 -1
  74. package/dist/index.cjs.map +1 -1
  75. package/dist/index.css +1 -1
  76. package/dist/index.css.map +1 -1
  77. package/dist/index.d.cts +34 -1
  78. package/dist/index.d.ts +34 -1
  79. package/dist/index.js +1 -1
  80. package/dist/index.js.map +1 -1
  81. package/dist/themes/lv-426.css +22 -0
  82. package/dist/themes/mother.css +22 -0
  83. package/dist/themes/nostromo.css +22 -0
  84. package/dist/themes/sulaco.css +22 -0
  85. package/dist/tokens.css +12 -0
  86. package/package.json +93 -4
  87. package/dist/chunk-MY2KMTUS.js +0 -3
  88. package/dist/chunk-MY2KMTUS.js.map +0 -1
  89. package/dist/chunk-NBX6FKCA.cjs +0 -3
  90. package/dist/chunk-NBX6FKCA.cjs.map +0 -1
@@ -0,0 +1,169 @@
1
+ import * as React from 'react';
2
+ import { Dialog } from './dialog.cjs';
3
+ import 'class-variance-authority/types';
4
+ import 'class-variance-authority';
5
+
6
+ /**
7
+ * A searchable list of things to do: a command palette, or the list inside a
8
+ * combobox.
9
+ *
10
+ * Built on [cmdk](https://cmdk.paco.me/), which owns the filtering, the scoring
11
+ * and the keyboard model.
12
+ *
13
+ * ## Not a DropdownMenu
14
+ *
15
+ * A `DropdownMenu` is a menu: `role="menu"`, items you activate, no typing. This
16
+ * is a combobox over a listbox - the input is `role="combobox"` and the items are
17
+ * `role="option"` - which is what a screen reader needs to hear when the list
18
+ * narrows as you type. Filtering a menu would leave a screen reader announcing a
19
+ * menu whose contents silently change underneath it.
20
+ *
21
+ * So: choosing from a short fixed set of commands is `DropdownMenu`; searching is
22
+ * this.
23
+ *
24
+ * ## Filtering is cmdk's, and is not substring matching
25
+ *
26
+ * cmdk scores each item against the query with a fuzzy match, so "gh" finds
27
+ * "GitHub" and the best match sorts first. Items are matched on their `value`,
28
+ * which defaults to their text. Give `value` explicitly when the text is not what
29
+ * someone would type, or add `keywords` for synonyms.
30
+ *
31
+ * Pass `shouldFilter={false}` on `Command` when the list comes from a server and
32
+ * is already filtered, otherwise cmdk filters the results a second time.
33
+ */
34
+ declare const Command: React.ForwardRefExoticComponent<Omit<{
35
+ children?: React.ReactNode;
36
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
37
+ ref?: React.Ref<HTMLDivElement>;
38
+ } & {
39
+ asChild?: boolean;
40
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
41
+ label?: string;
42
+ shouldFilter?: boolean;
43
+ filter?: (value: string, search: string, keywords?: string[]) => number;
44
+ defaultValue?: string;
45
+ value?: string;
46
+ onValueChange?: (value: string) => void;
47
+ loop?: boolean;
48
+ disablePointerSelection?: boolean;
49
+ vimBindings?: boolean;
50
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
51
+ interface CommandDialogProps extends React.ComponentPropsWithoutRef<typeof Dialog> {
52
+ /**
53
+ * The dialog's accessible name. Rendered visually hidden, because a command
54
+ * palette shows a search field rather than a heading, and a dialog with no
55
+ * name is announced as just "dialog".
56
+ */
57
+ title?: string;
58
+ /** Visually hidden description, announced after the title. */
59
+ description?: string;
60
+ className?: string;
61
+ }
62
+ /**
63
+ * The palette form: the same `Command`, in a dialog.
64
+ *
65
+ * The title and description are real elements, visually hidden, and they live
66
+ * *inside* `DialogContent` where the labelling can resolve. The corner close
67
+ * button is turned off: it is positioned at the top right, which is where the
68
+ * search field is.
69
+ */
70
+ declare const CommandDialog: {
71
+ ({ title, description, children, className, ...props }: CommandDialogProps): React.JSX.Element;
72
+ displayName: string;
73
+ };
74
+ /**
75
+ * The search field.
76
+ *
77
+ * Wrapped in a row with the icon, so the icon is a sibling rather than a
78
+ * background image and can be sized with the text.
79
+ */
80
+ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
81
+ ref?: React.Ref<HTMLInputElement>;
82
+ } & {
83
+ asChild?: boolean;
84
+ }, "asChild" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "type" | "value" | "onChange"> & {
85
+ value?: string;
86
+ onValueChange?: (search: string) => void;
87
+ } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
88
+ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
89
+ children?: React.ReactNode;
90
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
91
+ ref?: React.Ref<HTMLDivElement>;
92
+ } & {
93
+ asChild?: boolean;
94
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
95
+ label?: string;
96
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
97
+ /**
98
+ * What to show when nothing matches.
99
+ *
100
+ * cmdk renders it only when the query has no results, so it is not a fallback
101
+ * for an empty list - an empty `Command` with no query shows nothing.
102
+ */
103
+ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
104
+ children?: React.ReactNode;
105
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
106
+ ref?: React.Ref<HTMLDivElement>;
107
+ } & {
108
+ asChild?: boolean;
109
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
110
+ /**
111
+ * A named section. Hides itself when the query filters all of its items out, so
112
+ * you do not get a heading over nothing.
113
+ */
114
+ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
115
+ children?: React.ReactNode;
116
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
117
+ ref?: React.Ref<HTMLDivElement>;
118
+ } & {
119
+ asChild?: boolean;
120
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
121
+ heading?: React.ReactNode;
122
+ value?: string;
123
+ forceMount?: boolean;
124
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
125
+ /**
126
+ * A line between groups, hidden from the accessibility tree.
127
+ *
128
+ * A `listbox` may only contain `option` and `group` children, and cmdk gives its
129
+ * separator `role="separator"`, which makes the list an `aria-required-children`
130
+ * violation - axe flags the list, not the separator, so it reads like a problem
131
+ * with the list. `role` cannot be overridden: cmdk writes it after the prop
132
+ * spread. `aria-hidden` is the fix, and it is also the honest description. The
133
+ * line is decoration; the group headings are what convey the split.
134
+ */
135
+ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
136
+ ref?: React.Ref<HTMLDivElement>;
137
+ } & {
138
+ asChild?: boolean;
139
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
140
+ alwaysRender?: boolean;
141
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
142
+ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
143
+ children?: React.ReactNode;
144
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
145
+ ref?: React.Ref<HTMLDivElement>;
146
+ } & {
147
+ asChild?: boolean;
148
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "disabled" | "value" | "onSelect"> & {
149
+ disabled?: boolean;
150
+ onSelect?: (value: string) => void;
151
+ value?: string;
152
+ keywords?: string[];
153
+ forceMount?: boolean;
154
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
155
+ /** The keyboard hint on the right of an item. Decorative. */
156
+ declare const CommandShortcut: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & React.RefAttributes<HTMLSpanElement>>;
157
+ /** Shown while results are loading, for a `Command` fed from a server. */
158
+ declare const CommandLoading: React.ForwardRefExoticComponent<Omit<{
159
+ children?: React.ReactNode;
160
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
161
+ ref?: React.Ref<HTMLDivElement>;
162
+ } & {
163
+ asChild?: boolean;
164
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
165
+ progress?: number;
166
+ label?: string;
167
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
168
+
169
+ export { Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, CommandSeparator, CommandShortcut };
@@ -0,0 +1,169 @@
1
+ import * as React from 'react';
2
+ import { Dialog } from './dialog.js';
3
+ import 'class-variance-authority/types';
4
+ import 'class-variance-authority';
5
+
6
+ /**
7
+ * A searchable list of things to do: a command palette, or the list inside a
8
+ * combobox.
9
+ *
10
+ * Built on [cmdk](https://cmdk.paco.me/), which owns the filtering, the scoring
11
+ * and the keyboard model.
12
+ *
13
+ * ## Not a DropdownMenu
14
+ *
15
+ * A `DropdownMenu` is a menu: `role="menu"`, items you activate, no typing. This
16
+ * is a combobox over a listbox - the input is `role="combobox"` and the items are
17
+ * `role="option"` - which is what a screen reader needs to hear when the list
18
+ * narrows as you type. Filtering a menu would leave a screen reader announcing a
19
+ * menu whose contents silently change underneath it.
20
+ *
21
+ * So: choosing from a short fixed set of commands is `DropdownMenu`; searching is
22
+ * this.
23
+ *
24
+ * ## Filtering is cmdk's, and is not substring matching
25
+ *
26
+ * cmdk scores each item against the query with a fuzzy match, so "gh" finds
27
+ * "GitHub" and the best match sorts first. Items are matched on their `value`,
28
+ * which defaults to their text. Give `value` explicitly when the text is not what
29
+ * someone would type, or add `keywords` for synonyms.
30
+ *
31
+ * Pass `shouldFilter={false}` on `Command` when the list comes from a server and
32
+ * is already filtered, otherwise cmdk filters the results a second time.
33
+ */
34
+ declare const Command: React.ForwardRefExoticComponent<Omit<{
35
+ children?: React.ReactNode;
36
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
37
+ ref?: React.Ref<HTMLDivElement>;
38
+ } & {
39
+ asChild?: boolean;
40
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
41
+ label?: string;
42
+ shouldFilter?: boolean;
43
+ filter?: (value: string, search: string, keywords?: string[]) => number;
44
+ defaultValue?: string;
45
+ value?: string;
46
+ onValueChange?: (value: string) => void;
47
+ loop?: boolean;
48
+ disablePointerSelection?: boolean;
49
+ vimBindings?: boolean;
50
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
51
+ interface CommandDialogProps extends React.ComponentPropsWithoutRef<typeof Dialog> {
52
+ /**
53
+ * The dialog's accessible name. Rendered visually hidden, because a command
54
+ * palette shows a search field rather than a heading, and a dialog with no
55
+ * name is announced as just "dialog".
56
+ */
57
+ title?: string;
58
+ /** Visually hidden description, announced after the title. */
59
+ description?: string;
60
+ className?: string;
61
+ }
62
+ /**
63
+ * The palette form: the same `Command`, in a dialog.
64
+ *
65
+ * The title and description are real elements, visually hidden, and they live
66
+ * *inside* `DialogContent` where the labelling can resolve. The corner close
67
+ * button is turned off: it is positioned at the top right, which is where the
68
+ * search field is.
69
+ */
70
+ declare const CommandDialog: {
71
+ ({ title, description, children, className, ...props }: CommandDialogProps): React.JSX.Element;
72
+ displayName: string;
73
+ };
74
+ /**
75
+ * The search field.
76
+ *
77
+ * Wrapped in a row with the icon, so the icon is a sibling rather than a
78
+ * background image and can be sized with the text.
79
+ */
80
+ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
81
+ ref?: React.Ref<HTMLInputElement>;
82
+ } & {
83
+ asChild?: boolean;
84
+ }, "asChild" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "type" | "value" | "onChange"> & {
85
+ value?: string;
86
+ onValueChange?: (search: string) => void;
87
+ } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
88
+ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
89
+ children?: React.ReactNode;
90
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
91
+ ref?: React.Ref<HTMLDivElement>;
92
+ } & {
93
+ asChild?: boolean;
94
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
95
+ label?: string;
96
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
97
+ /**
98
+ * What to show when nothing matches.
99
+ *
100
+ * cmdk renders it only when the query has no results, so it is not a fallback
101
+ * for an empty list - an empty `Command` with no query shows nothing.
102
+ */
103
+ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
104
+ children?: React.ReactNode;
105
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
106
+ ref?: React.Ref<HTMLDivElement>;
107
+ } & {
108
+ asChild?: boolean;
109
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
110
+ /**
111
+ * A named section. Hides itself when the query filters all of its items out, so
112
+ * you do not get a heading over nothing.
113
+ */
114
+ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
115
+ children?: React.ReactNode;
116
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
117
+ ref?: React.Ref<HTMLDivElement>;
118
+ } & {
119
+ asChild?: boolean;
120
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
121
+ heading?: React.ReactNode;
122
+ value?: string;
123
+ forceMount?: boolean;
124
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
125
+ /**
126
+ * A line between groups, hidden from the accessibility tree.
127
+ *
128
+ * A `listbox` may only contain `option` and `group` children, and cmdk gives its
129
+ * separator `role="separator"`, which makes the list an `aria-required-children`
130
+ * violation - axe flags the list, not the separator, so it reads like a problem
131
+ * with the list. `role` cannot be overridden: cmdk writes it after the prop
132
+ * spread. `aria-hidden` is the fix, and it is also the honest description. The
133
+ * line is decoration; the group headings are what convey the split.
134
+ */
135
+ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
136
+ ref?: React.Ref<HTMLDivElement>;
137
+ } & {
138
+ asChild?: boolean;
139
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
140
+ alwaysRender?: boolean;
141
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
142
+ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
143
+ children?: React.ReactNode;
144
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
145
+ ref?: React.Ref<HTMLDivElement>;
146
+ } & {
147
+ asChild?: boolean;
148
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "disabled" | "value" | "onSelect"> & {
149
+ disabled?: boolean;
150
+ onSelect?: (value: string) => void;
151
+ value?: string;
152
+ keywords?: string[];
153
+ forceMount?: boolean;
154
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
155
+ /** The keyboard hint on the right of an item. Decorative. */
156
+ declare const CommandShortcut: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & React.RefAttributes<HTMLSpanElement>>;
157
+ /** Shown while results are loading, for a `Command` fed from a server. */
158
+ declare const CommandLoading: React.ForwardRefExoticComponent<Omit<{
159
+ children?: React.ReactNode;
160
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
161
+ ref?: React.Ref<HTMLDivElement>;
162
+ } & {
163
+ asChild?: boolean;
164
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
165
+ progress?: number;
166
+ label?: string;
167
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
168
+
169
+ export { Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandLoading, CommandSeparator, CommandShortcut };
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ export{a as Command,b as CommandDialog,e as CommandEmpty,f as CommandGroup,c as CommandInput,h as CommandItem,d as CommandList,j as CommandLoading,g as CommandSeparator,i as CommandShortcut}from'../../chunk-PLEQSJHY.js';import'../../chunk-5N5KJBMP.js';import'../../chunk-AC2JBXHQ.js';//# sourceMappingURL=command.js.map
3
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"command.js"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- 'use strict';var chunkNBX6FKCA_cjs=require('../../chunk-NBX6FKCA.cjs');require('../../chunk-ITRGJNWL.cjs');Object.defineProperty(exports,"Dialog",{enumerable:true,get:function(){return chunkNBX6FKCA_cjs.c}});Object.defineProperty(exports,"DialogContent",{enumerable:true,get:function(){return chunkNBX6FKCA_cjs.e}});Object.defineProperty(exports,"DialogDescription",{enumerable:true,get:function(){return chunkNBX6FKCA_cjs.h}});Object.defineProperty(exports,"DialogHeader",{enumerable:true,get:function(){return chunkNBX6FKCA_cjs.f}});Object.defineProperty(exports,"DialogTitle",{enumerable:true,get:function(){return chunkNBX6FKCA_cjs.g}});Object.defineProperty(exports,"DialogTrigger",{enumerable:true,get:function(){return chunkNBX6FKCA_cjs.d}});Object.defineProperty(exports,"backdropVariants",{enumerable:true,get:function(){return chunkNBX6FKCA_cjs.b}});Object.defineProperty(exports,"dialogVariants",{enumerable:true,get:function(){return chunkNBX6FKCA_cjs.a}});//# sourceMappingURL=dialog.cjs.map
2
+ 'use strict';var chunkRKSTEJKG_cjs=require('../../chunk-RKSTEJKG.cjs');require('../../chunk-ITRGJNWL.cjs');Object.defineProperty(exports,"Dialog",{enumerable:true,get:function(){return chunkRKSTEJKG_cjs.c}});Object.defineProperty(exports,"DialogContent",{enumerable:true,get:function(){return chunkRKSTEJKG_cjs.e}});Object.defineProperty(exports,"DialogDescription",{enumerable:true,get:function(){return chunkRKSTEJKG_cjs.h}});Object.defineProperty(exports,"DialogHeader",{enumerable:true,get:function(){return chunkRKSTEJKG_cjs.f}});Object.defineProperty(exports,"DialogTitle",{enumerable:true,get:function(){return chunkRKSTEJKG_cjs.g}});Object.defineProperty(exports,"DialogTrigger",{enumerable:true,get:function(){return chunkRKSTEJKG_cjs.d}});Object.defineProperty(exports,"backdropVariants",{enumerable:true,get:function(){return chunkRKSTEJKG_cjs.b}});Object.defineProperty(exports,"dialogVariants",{enumerable:true,get:function(){return chunkRKSTEJKG_cjs.a}});//# sourceMappingURL=dialog.cjs.map
3
3
  //# sourceMappingURL=dialog.cjs.map
@@ -20,6 +20,15 @@ interface DialogProps {
20
20
  }
21
21
  interface DialogContentProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof dialogVariants> {
22
22
  onClose?: () => void;
23
+ /**
24
+ * Draw the corner close button.
25
+ *
26
+ * Defaults to true. Turn it off when the content owns its own top edge - the
27
+ * button is absolutely positioned at the top right, so over a search field or
28
+ * a toolbar it lands on top of the content. `CommandDialog` is the case that
29
+ * needed it. Escape and the backdrop still close the dialog either way.
30
+ */
31
+ showCloseButton?: boolean;
23
32
  }
24
33
  interface DialogHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
25
34
  }
@@ -20,6 +20,15 @@ interface DialogProps {
20
20
  }
21
21
  interface DialogContentProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof dialogVariants> {
22
22
  onClose?: () => void;
23
+ /**
24
+ * Draw the corner close button.
25
+ *
26
+ * Defaults to true. Turn it off when the content owns its own top edge - the
27
+ * button is absolutely positioned at the top right, so over a search field or
28
+ * a toolbar it lands on top of the content. `CommandDialog` is the case that
29
+ * needed it. Escape and the backdrop still close the dialog either way.
30
+ */
31
+ showCloseButton?: boolean;
23
32
  }
24
33
  interface DialogHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
25
34
  }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- export{c as Dialog,e as DialogContent,h as DialogDescription,f as DialogHeader,g as DialogTitle,d as DialogTrigger,b as backdropVariants,a as dialogVariants}from'../../chunk-MY2KMTUS.js';import'../../chunk-AC2JBXHQ.js';//# sourceMappingURL=dialog.js.map
2
+ export{c as Dialog,e as DialogContent,h as DialogDescription,f as DialogHeader,g as DialogTitle,d as DialogTrigger,b as backdropVariants,a as dialogVariants}from'../../chunk-5N5KJBMP.js';import'../../chunk-AC2JBXHQ.js';//# sourceMappingURL=dialog.js.map
3
3
  //# sourceMappingURL=dialog.js.map
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ 'use strict';var chunk75OZKMEA_cjs=require('../../chunk-75OZKMEA.cjs');require('../../chunk-ITRGJNWL.cjs');Object.defineProperty(exports,"Drawer",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.a}});Object.defineProperty(exports,"DrawerClose",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.d}});Object.defineProperty(exports,"DrawerContent",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.g}});Object.defineProperty(exports,"DrawerDescription",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.k}});Object.defineProperty(exports,"DrawerFooter",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.i}});Object.defineProperty(exports,"DrawerHandle",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.e}});Object.defineProperty(exports,"DrawerHeader",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.h}});Object.defineProperty(exports,"DrawerNested",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.l}});Object.defineProperty(exports,"DrawerOverlay",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.f}});Object.defineProperty(exports,"DrawerPortal",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.c}});Object.defineProperty(exports,"DrawerTitle",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.j}});Object.defineProperty(exports,"DrawerTrigger",{enumerable:true,get:function(){return chunk75OZKMEA_cjs.b}});//# sourceMappingURL=drawer.cjs.map
3
+ //# sourceMappingURL=drawer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"drawer.cjs"}
@@ -0,0 +1,70 @@
1
+ import * as SheetPrimitive from '@radix-ui/react-dialog';
2
+ import * as vaul from 'vaul';
3
+ import { Drawer as Drawer$1 } from 'vaul';
4
+ import * as React from 'react';
5
+
6
+ /**
7
+ * A panel that slides in from an edge and can be dragged shut.
8
+ *
9
+ * Built on [vaul](https://vaul.emilkowal.ski/), which is a Radix Dialog
10
+ * underneath - the same primitive `Sheet` uses, so the focus trap and the escape
11
+ * handling come from the same place.
12
+ *
13
+ * ## Drawer or Sheet?
14
+ *
15
+ * They look alike, and the difference is the gesture:
16
+ *
17
+ * - `Sheet` is a dialog anchored to an edge. It opens and closes, and that is
18
+ * all. Cheaper, and the right choice on a desktop-first surface.
19
+ * - `Drawer` adds the touch model: drag it to dismiss, snap points to open it
20
+ * part of the way, and a grabber that says it can be moved. That is the mobile
21
+ * convention, and it costs the extra dependency.
22
+ *
23
+ * If you would not use the drag, use `Sheet`.
24
+ *
25
+ * One difference in how they are modal: vaul does not put `aria-modal` on the
26
+ * dialog. It aria-hides the rest of the page instead, which confines a screen
27
+ * reader the same way. Both are valid, and this one is pinned by a test so it
28
+ * cannot quietly become neither.
29
+ *
30
+ * ## Positioning comes from a data attribute
31
+ *
32
+ * `direction` is a prop on the root, and vaul writes it onto the content as
33
+ * `data-vaul-drawer-direction`. The content styling below reads that rather than
34
+ * taking a variant of its own, so the two can never disagree - the drawer cannot
35
+ * be told to come from the left and then be styled along the bottom.
36
+ */
37
+ declare const Drawer: typeof vaul.Root;
38
+ declare const DrawerTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
39
+ declare const DrawerPortal: typeof vaul.Portal;
40
+ declare const DrawerClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
41
+ /**
42
+ * The grabber.
43
+ *
44
+ * vaul's own, not a decorative div: it carries a hit area larger than the bar you
45
+ * see, so the drag target is a reasonable size on a touch screen, and it is
46
+ * `aria-hidden` because dragging is not the only way to close.
47
+ */
48
+ declare const DrawerHandle: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
49
+ preventCycle?: boolean | undefined;
50
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
51
+ declare const DrawerOverlay: React.ForwardRefExoticComponent<Omit<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
52
+ interface DrawerContentProps extends React.ComponentPropsWithoutRef<typeof Drawer$1.Content> {
53
+ /**
54
+ * Draw the grabber. Defaults to true, and it is hidden by CSS for a drawer
55
+ * coming from the left or right, where a horizontal bar would be wrong.
56
+ */
57
+ withHandle?: boolean;
58
+ }
59
+ declare const DrawerContent: React.ForwardRefExoticComponent<DrawerContentProps & React.RefAttributes<HTMLDivElement>>;
60
+ declare const DrawerHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
61
+ declare const DrawerFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
62
+ declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
63
+ declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
64
+ /**
65
+ * A drawer opened from inside another one, which scales the parent back rather
66
+ * than stacking two overlays. Use in place of `Drawer` for the inner one.
67
+ */
68
+ declare const DrawerNested: typeof vaul.NestedRoot;
69
+
70
+ export { Drawer, DrawerClose, DrawerContent, type DrawerContentProps, DrawerDescription, DrawerFooter, DrawerHandle, DrawerHeader, DrawerNested, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
@@ -0,0 +1,70 @@
1
+ import * as SheetPrimitive from '@radix-ui/react-dialog';
2
+ import * as vaul from 'vaul';
3
+ import { Drawer as Drawer$1 } from 'vaul';
4
+ import * as React from 'react';
5
+
6
+ /**
7
+ * A panel that slides in from an edge and can be dragged shut.
8
+ *
9
+ * Built on [vaul](https://vaul.emilkowal.ski/), which is a Radix Dialog
10
+ * underneath - the same primitive `Sheet` uses, so the focus trap and the escape
11
+ * handling come from the same place.
12
+ *
13
+ * ## Drawer or Sheet?
14
+ *
15
+ * They look alike, and the difference is the gesture:
16
+ *
17
+ * - `Sheet` is a dialog anchored to an edge. It opens and closes, and that is
18
+ * all. Cheaper, and the right choice on a desktop-first surface.
19
+ * - `Drawer` adds the touch model: drag it to dismiss, snap points to open it
20
+ * part of the way, and a grabber that says it can be moved. That is the mobile
21
+ * convention, and it costs the extra dependency.
22
+ *
23
+ * If you would not use the drag, use `Sheet`.
24
+ *
25
+ * One difference in how they are modal: vaul does not put `aria-modal` on the
26
+ * dialog. It aria-hides the rest of the page instead, which confines a screen
27
+ * reader the same way. Both are valid, and this one is pinned by a test so it
28
+ * cannot quietly become neither.
29
+ *
30
+ * ## Positioning comes from a data attribute
31
+ *
32
+ * `direction` is a prop on the root, and vaul writes it onto the content as
33
+ * `data-vaul-drawer-direction`. The content styling below reads that rather than
34
+ * taking a variant of its own, so the two can never disagree - the drawer cannot
35
+ * be told to come from the left and then be styled along the bottom.
36
+ */
37
+ declare const Drawer: typeof vaul.Root;
38
+ declare const DrawerTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
39
+ declare const DrawerPortal: typeof vaul.Portal;
40
+ declare const DrawerClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
41
+ /**
42
+ * The grabber.
43
+ *
44
+ * vaul's own, not a decorative div: it carries a hit area larger than the bar you
45
+ * see, so the drag target is a reasonable size on a touch screen, and it is
46
+ * `aria-hidden` because dragging is not the only way to close.
47
+ */
48
+ declare const DrawerHandle: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
49
+ preventCycle?: boolean | undefined;
50
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
51
+ declare const DrawerOverlay: React.ForwardRefExoticComponent<Omit<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
52
+ interface DrawerContentProps extends React.ComponentPropsWithoutRef<typeof Drawer$1.Content> {
53
+ /**
54
+ * Draw the grabber. Defaults to true, and it is hidden by CSS for a drawer
55
+ * coming from the left or right, where a horizontal bar would be wrong.
56
+ */
57
+ withHandle?: boolean;
58
+ }
59
+ declare const DrawerContent: React.ForwardRefExoticComponent<DrawerContentProps & React.RefAttributes<HTMLDivElement>>;
60
+ declare const DrawerHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
61
+ declare const DrawerFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
62
+ declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
63
+ declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
64
+ /**
65
+ * A drawer opened from inside another one, which scales the parent back rather
66
+ * than stacking two overlays. Use in place of `Drawer` for the inner one.
67
+ */
68
+ declare const DrawerNested: typeof vaul.NestedRoot;
69
+
70
+ export { Drawer, DrawerClose, DrawerContent, type DrawerContentProps, DrawerDescription, DrawerFooter, DrawerHandle, DrawerHeader, DrawerNested, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ export{a as Drawer,d as DrawerClose,g as DrawerContent,k as DrawerDescription,i as DrawerFooter,e as DrawerHandle,h as DrawerHeader,l as DrawerNested,f as DrawerOverlay,c as DrawerPortal,j as DrawerTitle,b as DrawerTrigger}from'../../chunk-QQTI6OI3.js';import'../../chunk-AC2JBXHQ.js';//# sourceMappingURL=drawer.js.map
3
+ //# sourceMappingURL=drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"drawer.js"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- 'use strict';var chunk7YFUAGIW_cjs=require('../../chunk-7YFUAGIW.cjs'),chunkXPIBRXTW_cjs=require('../../chunk-XPIBRXTW.cjs'),chunkV77N662N_cjs=require('../../chunk-V77N662N.cjs'),chunkITRGJNWL_cjs=require('../../chunk-ITRGJNWL.cjs'),r=require('react'),reactSlot=require('@radix-ui/react-slot'),reactHookForm=require('react-hook-form');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var r__namespace=/*#__PURE__*/_interopNamespace(r);var v=reactHookForm.FormProvider,f=r__namespace.createContext(null);function N({...e}){let t=r__namespace.useId(),o=r__namespace.useMemo(()=>({name:e.name,id:t}),[e.name,t]);return r__namespace.createElement(f.Provider,{value:o},r__namespace.createElement(reactHookForm.Controller,{...e}))}function i(){let e=r__namespace.useContext(f);if(!e)throw new Error("useFormField must be used inside a <FormField>. Without it there is no field id to attach a label or a message to.");let{errors:t}=reactHookForm.useFormState({name:e.name}),o=e.name.split(".").reduce((s,a)=>s?.[a],t);return {name:e.name,formItemId:e.id,formDescriptionId:`${e.id}-description`,formMessageId:`${e.id}-message`,error:o}}function g({className:e,...t}){return r__namespace.createElement("div",{className:chunkITRGJNWL_cjs.a("space-y-1.5",e),...t})}g.displayName="FormItem";var y=r__namespace.forwardRef(({className:e,...t},o)=>{let{error:s,formItemId:a}=i();return r__namespace.createElement(chunkXPIBRXTW_cjs.b,{ref:o,htmlFor:a,className:chunkITRGJNWL_cjs.a(s&&"text-destructive",e),...t})});y.displayName="FormLabel";var C=r__namespace.forwardRef(({...e},t)=>{let{error:o,formItemId:s,formDescriptionId:a,formMessageId:n}=i();return r__namespace.createElement(reactSlot.Slot,{ref:t,id:s,"aria-describedby":o?`${a} ${n}`:a,"aria-invalid":o?true:void 0,...e})});C.displayName="FormControl";var I=r__namespace.forwardRef(({...e},t)=>{let{formDescriptionId:o}=i();return r__namespace.createElement(chunk7YFUAGIW_cjs.b,{ref:t,id:o,...e})});I.displayName="FormDescription";var M=r__namespace.forwardRef(({children:e,...t},o)=>{let{error:s,formMessageId:a}=i(),n=s?.message??e;return n?r__namespace.createElement(chunkV77N662N_cjs.b,{ref:o,id:a,...t},n):null});M.displayName="FormMessage";Object.defineProperty(exports,"useFormContext",{enumerable:true,get:function(){return reactHookForm.useFormContext}});exports.Form=v;exports.FormControl=C;exports.FormDescription=I;exports.FormField=N;exports.FormItem=g;exports.FormLabel=y;exports.FormMessage=M;exports.useFormField=i;//# sourceMappingURL=form.cjs.map
2
+ 'use strict';var chunkXPIBRXTW_cjs=require('../../chunk-XPIBRXTW.cjs'),chunkV77N662N_cjs=require('../../chunk-V77N662N.cjs'),chunk7YFUAGIW_cjs=require('../../chunk-7YFUAGIW.cjs'),chunkITRGJNWL_cjs=require('../../chunk-ITRGJNWL.cjs'),r=require('react'),reactSlot=require('@radix-ui/react-slot'),reactHookForm=require('react-hook-form');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var r__namespace=/*#__PURE__*/_interopNamespace(r);var v=reactHookForm.FormProvider,f=r__namespace.createContext(null);function N({...e}){let t=r__namespace.useId(),o=r__namespace.useMemo(()=>({name:e.name,id:t}),[e.name,t]);return r__namespace.createElement(f.Provider,{value:o},r__namespace.createElement(reactHookForm.Controller,{...e}))}function i(){let e=r__namespace.useContext(f);if(!e)throw new Error("useFormField must be used inside a <FormField>. Without it there is no field id to attach a label or a message to.");let{errors:t}=reactHookForm.useFormState({name:e.name}),o=e.name.split(".").reduce((s,a)=>s?.[a],t);return {name:e.name,formItemId:e.id,formDescriptionId:`${e.id}-description`,formMessageId:`${e.id}-message`,error:o}}function g({className:e,...t}){return r__namespace.createElement("div",{className:chunkITRGJNWL_cjs.a("space-y-1.5",e),...t})}g.displayName="FormItem";var y=r__namespace.forwardRef(({className:e,...t},o)=>{let{error:s,formItemId:a}=i();return r__namespace.createElement(chunkXPIBRXTW_cjs.b,{ref:o,htmlFor:a,className:chunkITRGJNWL_cjs.a(s&&"text-destructive",e),...t})});y.displayName="FormLabel";var C=r__namespace.forwardRef(({...e},t)=>{let{error:o,formItemId:s,formDescriptionId:a,formMessageId:n}=i();return r__namespace.createElement(reactSlot.Slot,{ref:t,id:s,"aria-describedby":o?`${a} ${n}`:a,"aria-invalid":o?true:void 0,...e})});C.displayName="FormControl";var I=r__namespace.forwardRef(({...e},t)=>{let{formDescriptionId:o}=i();return r__namespace.createElement(chunk7YFUAGIW_cjs.b,{ref:t,id:o,...e})});I.displayName="FormDescription";var M=r__namespace.forwardRef(({children:e,...t},o)=>{let{error:s,formMessageId:a}=i(),n=s?.message??e;return n?r__namespace.createElement(chunkV77N662N_cjs.b,{ref:o,id:a,...t},n):null});M.displayName="FormMessage";Object.defineProperty(exports,"useFormContext",{enumerable:true,get:function(){return reactHookForm.useFormContext}});exports.Form=v;exports.FormControl=C;exports.FormDescription=I;exports.FormField=N;exports.FormItem=g;exports.FormLabel=y;exports.FormMessage=M;exports.useFormField=i;//# sourceMappingURL=form.cjs.map
3
3
  //# sourceMappingURL=form.cjs.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import {b as b$1}from'../../chunk-ABA7B5DE.js';import {b}from'../../chunk-LYVCB45L.js';import {b as b$2}from'../../chunk-XQUZ7DUN.js';import {a}from'../../chunk-AC2JBXHQ.js';import*as r from'react';import {Slot}from'@radix-ui/react-slot';import {useFormState,FormProvider,Controller}from'react-hook-form';export{useFormContext}from'react-hook-form';var v=FormProvider,f=r.createContext(null);function N({...e}){let t=r.useId(),o=r.useMemo(()=>({name:e.name,id:t}),[e.name,t]);return r.createElement(f.Provider,{value:o},r.createElement(Controller,{...e}))}function i(){let e=r.useContext(f);if(!e)throw new Error("useFormField must be used inside a <FormField>. Without it there is no field id to attach a label or a message to.");let{errors:t}=useFormState({name:e.name}),o=e.name.split(".").reduce((s,a)=>s?.[a],t);return {name:e.name,formItemId:e.id,formDescriptionId:`${e.id}-description`,formMessageId:`${e.id}-message`,error:o}}function g({className:e,...t}){return r.createElement("div",{className:a("space-y-1.5",e),...t})}g.displayName="FormItem";var y=r.forwardRef(({className:e,...t},o)=>{let{error:s,formItemId:a$1}=i();return r.createElement(b,{ref:o,htmlFor:a$1,className:a(s&&"text-destructive",e),...t})});y.displayName="FormLabel";var C=r.forwardRef(({...e},t)=>{let{error:o,formItemId:s,formDescriptionId:a,formMessageId:n}=i();return r.createElement(Slot,{ref:t,id:s,"aria-describedby":o?`${a} ${n}`:a,"aria-invalid":o?true:void 0,...e})});C.displayName="FormControl";var I=r.forwardRef(({...e},t)=>{let{formDescriptionId:o}=i();return r.createElement(b$1,{ref:t,id:o,...e})});I.displayName="FormDescription";var M=r.forwardRef(({children:e,...t},o)=>{let{error:s,formMessageId:a}=i(),n=s?.message??e;return n?r.createElement(b$2,{ref:o,id:a,...t},n):null});M.displayName="FormMessage";export{v as Form,C as FormControl,I as FormDescription,N as FormField,g as FormItem,y as FormLabel,M as FormMessage,i as useFormField};//# sourceMappingURL=form.js.map
2
+ import {b}from'../../chunk-LYVCB45L.js';import {b as b$2}from'../../chunk-XQUZ7DUN.js';import {b as b$1}from'../../chunk-ABA7B5DE.js';import {a}from'../../chunk-AC2JBXHQ.js';import*as r from'react';import {Slot}from'@radix-ui/react-slot';import {useFormState,FormProvider,Controller}from'react-hook-form';export{useFormContext}from'react-hook-form';var v=FormProvider,f=r.createContext(null);function N({...e}){let t=r.useId(),o=r.useMemo(()=>({name:e.name,id:t}),[e.name,t]);return r.createElement(f.Provider,{value:o},r.createElement(Controller,{...e}))}function i(){let e=r.useContext(f);if(!e)throw new Error("useFormField must be used inside a <FormField>. Without it there is no field id to attach a label or a message to.");let{errors:t}=useFormState({name:e.name}),o=e.name.split(".").reduce((s,a)=>s?.[a],t);return {name:e.name,formItemId:e.id,formDescriptionId:`${e.id}-description`,formMessageId:`${e.id}-message`,error:o}}function g({className:e,...t}){return r.createElement("div",{className:a("space-y-1.5",e),...t})}g.displayName="FormItem";var y=r.forwardRef(({className:e,...t},o)=>{let{error:s,formItemId:a$1}=i();return r.createElement(b,{ref:o,htmlFor:a$1,className:a(s&&"text-destructive",e),...t})});y.displayName="FormLabel";var C=r.forwardRef(({...e},t)=>{let{error:o,formItemId:s,formDescriptionId:a,formMessageId:n}=i();return r.createElement(Slot,{ref:t,id:s,"aria-describedby":o?`${a} ${n}`:a,"aria-invalid":o?true:void 0,...e})});C.displayName="FormControl";var I=r.forwardRef(({...e},t)=>{let{formDescriptionId:o}=i();return r.createElement(b$1,{ref:t,id:o,...e})});I.displayName="FormDescription";var M=r.forwardRef(({children:e,...t},o)=>{let{error:s,formMessageId:a}=i(),n=s?.message??e;return n?r.createElement(b$2,{ref:o,id:a,...t},n):null});M.displayName="FormMessage";export{v as Form,C as FormControl,I as FormDescription,N as FormField,g as FormItem,y as FormLabel,M as FormMessage,i as useFormField};//# sourceMappingURL=form.js.map
3
3
  //# sourceMappingURL=form.js.map
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ 'use strict';var chunkBJPJB6IA_cjs=require('../../chunk-BJPJB6IA.cjs');require('../../chunk-ITRGJNWL.cjs');Object.defineProperty(exports,"InputOTP",{enumerable:true,get:function(){return chunkBJPJB6IA_cjs.a}});Object.defineProperty(exports,"InputOTPGroup",{enumerable:true,get:function(){return chunkBJPJB6IA_cjs.b}});Object.defineProperty(exports,"InputOTPSeparator",{enumerable:true,get:function(){return chunkBJPJB6IA_cjs.d}});Object.defineProperty(exports,"InputOTPSlot",{enumerable:true,get:function(){return chunkBJPJB6IA_cjs.c}});//# sourceMappingURL=input-otp.cjs.map
3
+ //# sourceMappingURL=input-otp.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"input-otp.cjs"}