@nexub/react 1.5.0 → 1.6.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 (208) hide show
  1. package/dist/{chunk-XR4NBY54.js → chunk-2DYKENBM.js} +10 -10
  2. package/dist/{chunk-SVQCINRE.js → chunk-2I7FIU6R.js} +5 -2
  3. package/dist/{chunk-FHFVBOF3.js → chunk-2Y4WLNEZ.js} +3 -3
  4. package/dist/{chunk-CWS37T3K.js → chunk-3E7X3YK3.js} +4 -2
  5. package/dist/{chunk-GRB6T2TT.js → chunk-3FPJIXG7.js} +19 -13
  6. package/dist/chunk-3MT23LNM.js +171 -0
  7. package/dist/chunk-3QD76BKT.js +80 -0
  8. package/dist/{chunk-B54WADL4.js → chunk-4P2JJ2FH.js} +12 -12
  9. package/dist/chunk-52ZVJPF7.js +1 -0
  10. package/dist/chunk-5KI4YHA3.js +144 -0
  11. package/dist/chunk-5QEARXY3.js +55 -0
  12. package/dist/chunk-5VW6RUKZ.js +134 -0
  13. package/dist/{chunk-CNNJFWFA.js → chunk-6BGUZQAX.js} +4 -4
  14. package/dist/{chunk-LDYD7WL3.js → chunk-6ECOCGZG.js} +4 -3
  15. package/dist/{chunk-3AXIMXDU.js → chunk-6JBQAJJD.js} +6 -12
  16. package/dist/{chunk-YRDCY6BI.js → chunk-6UKNUI46.js} +0 -19
  17. package/dist/chunk-743Y5MY3.js +95 -0
  18. package/dist/{chunk-BFRX6X4O.js → chunk-74RUJ5KZ.js} +23 -17
  19. package/dist/chunk-77LYWSJW.js +85 -0
  20. package/dist/{chunk-YPHNHQYQ.js → chunk-7B4VF2ZU.js} +6 -2
  21. package/dist/{chunk-NCRFKPA4.js → chunk-7MSIOYJZ.js} +6 -8
  22. package/dist/{chunk-AHT35UWY.js → chunk-7Q4T7CB6.js} +10 -6
  23. package/dist/{chunk-GIGOTRXX.js → chunk-7VJABRKB.js} +3 -10
  24. package/dist/{chunk-6QLLH6ID.js → chunk-7XWJCFWI.js} +8 -17
  25. package/dist/chunk-A3O23F2B.js +1 -0
  26. package/dist/chunk-AT2DSFP3.js +47 -0
  27. package/dist/{chunk-OASFXI27.js → chunk-BNFGVFZ3.js} +5 -5
  28. package/dist/{chunk-GHCV6UXG.js → chunk-BTYDDKRQ.js} +5 -5
  29. package/dist/chunk-C6JRJ6JW.js +167 -0
  30. package/dist/chunk-CAOLGXA5.js +1 -0
  31. package/dist/{chunk-IIPYF6ZQ.js → chunk-CBDJRPMD.js} +16 -13
  32. package/dist/{chunk-OJ2TLWYD.js → chunk-CKFRMCZ7.js} +5 -3
  33. package/dist/{chunk-LZB3KTSH.js → chunk-CQWYZPPJ.js} +1 -1
  34. package/dist/{chunk-6RBNM5RO.js → chunk-CUOASXI7.js} +10 -10
  35. package/dist/{chunk-HG6HTUWU.js → chunk-CV5ZKED7.js} +2 -2
  36. package/dist/{chunk-HJERFB7J.js → chunk-DDRYT3SY.js} +2 -2
  37. package/dist/chunk-DGCAM2UJ.js +60 -0
  38. package/dist/{chunk-RLE5RN3T.js → chunk-DGQJRTO6.js} +15 -11
  39. package/dist/{chunk-FD7YU53N.js → chunk-DT3QGFXB.js} +4 -4
  40. package/dist/chunk-F73DTG2V.js +123 -0
  41. package/dist/{chunk-V3TETH4J.js → chunk-FIDUY6SS.js} +17 -16
  42. package/dist/{chunk-Z3IG5WRA.js → chunk-FJUVYRNT.js} +3 -3
  43. package/dist/{chunk-KQPLFVFR.js → chunk-FLZD7HQY.js} +0 -2
  44. package/dist/{chunk-64JDZWCV.js → chunk-GRKCUQG4.js} +6 -5
  45. package/dist/{chunk-EZ23IA3H.js → chunk-GSG2W6DP.js} +3 -3
  46. package/dist/{chunk-4I5ULCYG.js → chunk-HFTS5AN7.js} +3 -3
  47. package/dist/{chunk-RB4CVS22.js → chunk-HH7EHNOW.js} +3 -1
  48. package/dist/{chunk-S46W2QER.js → chunk-HSPGJSFJ.js} +17 -11
  49. package/dist/{chunk-NQVRF4RB.js → chunk-HXV5UA7K.js} +16 -13
  50. package/dist/{chunk-GUB7YKG2.js → chunk-I4U36P54.js} +6 -3
  51. package/dist/{chunk-BTRTORKU.js → chunk-I6CAF7C5.js} +6 -7
  52. package/dist/chunk-IGLOYOCH.js +134 -0
  53. package/dist/{chunk-IK23Q2OF.js → chunk-JHVYI5GK.js} +3 -3
  54. package/dist/chunk-K5FKEAAK.js +94 -0
  55. package/dist/{chunk-5URGARPH.js → chunk-KE4YVG5Q.js} +6 -10
  56. package/dist/{chunk-A4IMFAZX.js → chunk-LESI7J7B.js} +3 -3
  57. package/dist/chunk-MEUJBGY5.js +88 -0
  58. package/dist/chunk-MNEXMMLM.js +23 -0
  59. package/dist/{chunk-PVTACENM.js → chunk-MTK3GHDQ.js} +2 -2
  60. package/dist/chunk-NA5UMOE5.js +55 -0
  61. package/dist/{chunk-YJ3JQYAN.js → chunk-NGQKBDHA.js} +5 -13
  62. package/dist/{chunk-7Q7ZF6BY.js → chunk-NNIFOMIH.js} +18 -8
  63. package/dist/{chunk-7L3CGIRA.js → chunk-NQPGELMP.js} +8 -19
  64. package/dist/chunk-NSVXGOR3.js +54 -0
  65. package/dist/{chunk-6J3QTWKC.js → chunk-NZT4TTNV.js} +18 -9
  66. package/dist/{chunk-TJCHA3OI.js → chunk-O626NJEM.js} +7 -4
  67. package/dist/chunk-O74XEHLA.js +331 -0
  68. package/dist/{chunk-JSD3H7WV.js → chunk-OYCK6BRG.js} +6 -6
  69. package/dist/{chunk-2555JXCP.js → chunk-PBPUSRTJ.js} +19 -11
  70. package/dist/{chunk-QD7H3WV3.js → chunk-PGDXFBKT.js} +8 -8
  71. package/dist/{chunk-PQ6GU7SG.js → chunk-PMWYLYM3.js} +20 -14
  72. package/dist/{chunk-I4BHRVRL.js → chunk-PPCGUIAB.js} +9 -5
  73. package/dist/{chunk-NIX4SEKM.js → chunk-PREMZMLU.js} +7 -4
  74. package/dist/{chunk-4SSUM4CL.js → chunk-Q3ESHXKU.js} +9 -6
  75. package/dist/{chunk-KM6Z3VTI.js → chunk-QVTVDL6Y.js} +1 -1
  76. package/dist/{chunk-AXOKFS4K.js → chunk-RSU2UHN4.js} +20 -4
  77. package/dist/{chunk-DJZZ3FIP.js → chunk-RUR57JZQ.js} +5 -14
  78. package/dist/{chunk-ZV3AF5CL.js → chunk-S2CTBFLN.js} +13 -2
  79. package/dist/{chunk-WESZPFBZ.js → chunk-S7GH2BJP.js} +7 -4
  80. package/dist/chunk-SAUA52EJ.js +131 -0
  81. package/dist/{chunk-72I7EVOL.js → chunk-SYZADSLI.js} +10 -6
  82. package/dist/{chunk-TEOLG3N2.js → chunk-SZ2WPWXJ.js} +10 -6
  83. package/dist/{chunk-W2NEXOTG.js → chunk-T7RLPFGX.js} +2 -2
  84. package/dist/{chunk-J6TU45KP.js → chunk-TRA6A5C5.js} +26 -12
  85. package/dist/{chunk-H2W7IYVY.js → chunk-UTJJ5HFX.js} +18 -12
  86. package/dist/{chunk-5O34ZNC3.js → chunk-VAFBGFKY.js} +19 -13
  87. package/dist/{chunk-OJRSPDNJ.js → chunk-VD4RFTNV.js} +8 -14
  88. package/dist/chunk-VLQGQFW7.js +110 -0
  89. package/dist/{chunk-RTDUTWJ4.js → chunk-VMT7Y3AT.js} +5 -8
  90. package/dist/{chunk-LGQ737BP.js → chunk-WHTLXQB6.js} +1 -1
  91. package/dist/chunk-WLRRMT6W.js +1 -0
  92. package/dist/{chunk-2FCSWBSM.js → chunk-WMWX6DPB.js} +3 -3
  93. package/dist/{chunk-UMC64NCT.js → chunk-WVBGQCYC.js} +6 -3
  94. package/dist/{chunk-QCNLE27O.js → chunk-WXRQ42DR.js} +11 -7
  95. package/dist/{chunk-SY6V3HAK.js → chunk-XDU27NRX.js} +3 -3
  96. package/dist/{chunk-KA2J5OBA.js → chunk-XQDD76EF.js} +4 -7
  97. package/dist/chunk-XTATJMY6.js +64 -0
  98. package/dist/chunk-XYXMPHND.js +1 -0
  99. package/dist/{chunk-7ZWBHHRK.js → chunk-YNU6VRD5.js} +23 -32
  100. package/dist/{chunk-6SJPVQQW.js → chunk-Z3HF6XJ3.js} +1 -1
  101. package/dist/{chunk-I4URNMI7.js → chunk-ZC4MZAEX.js} +9 -7
  102. package/dist/{chunk-PWBPHGM3.js → chunk-ZCEUVK2R.js} +2 -2
  103. package/dist/chunk-ZT3NWE5U.js +1 -0
  104. package/dist/{chunk-RHOYF7MO.js → chunk-ZTLALVWA.js} +6 -15
  105. package/dist/components/Accordion/index.js +1 -1
  106. package/dist/components/Alert/index.js +2 -1
  107. package/dist/components/AlertDialog/index.js +3 -3
  108. package/dist/components/Amount/index.js +3 -1
  109. package/dist/components/AspectRatio/index.js +1 -1
  110. package/dist/components/Autocomplete/index.js +3 -2
  111. package/dist/components/Avatar/index.js +1 -1
  112. package/dist/components/AvatarGroup/index.js +3 -2
  113. package/dist/components/Badge/index.js +1 -1
  114. package/dist/components/Banner/index.js +2 -1
  115. package/dist/components/Breadcrumb/index.js +2 -1
  116. package/dist/components/Button/index.js +1 -1
  117. package/dist/components/ButtonGroup/index.js +1 -1
  118. package/dist/components/Callout/index.js +1 -1
  119. package/dist/components/Card/index.js +3 -1
  120. package/dist/components/CheckList/index.js +1 -1
  121. package/dist/components/Checkbox/index.js +1 -1
  122. package/dist/components/CheckboxCard/index.js +9 -0
  123. package/dist/components/Chip/index.js +2 -1
  124. package/dist/components/Citation/index.js +17 -0
  125. package/dist/components/Code/index.js +1 -1
  126. package/dist/components/Combobox/index.js +1 -1
  127. package/dist/components/CommandPalette/index.js +3 -2
  128. package/dist/components/ContextMenu/index.js +2 -2
  129. package/dist/components/CountryBadge/index.js +1 -1
  130. package/dist/components/DataTable/index.js +2 -1
  131. package/dist/components/DatePicker/index.js +5 -1
  132. package/dist/components/DateRangePicker/index.js +5 -1
  133. package/dist/components/Dialog/index.js +2 -2
  134. package/dist/components/Drawer/index.js +2 -2
  135. package/dist/components/DropdownMenu/index.js +2 -2
  136. package/dist/components/EmptyState/index.js +1 -1
  137. package/dist/components/ErrorState/index.js +2 -1
  138. package/dist/components/EyebrowChip/index.js +4 -1
  139. package/dist/components/FileUpload/index.js +2 -1
  140. package/dist/components/FilterChip/index.js +3 -1
  141. package/dist/components/Flex/index.js +2 -1
  142. package/dist/components/FormError/index.js +1 -1
  143. package/dist/components/FormField/index.js +7 -4
  144. package/dist/components/GradientDivider/index.js +1 -1
  145. package/dist/components/Grid/index.js +2 -1
  146. package/dist/components/Heading/index.js +4 -1
  147. package/dist/components/HelperText/index.js +4 -1
  148. package/dist/components/HoverCard/index.js +3 -2
  149. package/dist/components/IconButton/index.js +2 -1
  150. package/dist/components/Input/index.js +1 -1
  151. package/dist/components/Kbd/index.js +1 -1
  152. package/dist/components/KeyboardShortcut/index.js +2 -2
  153. package/dist/components/Label/index.js +4 -1
  154. package/dist/components/Link/index.js +1 -1
  155. package/dist/components/Logo/index.js +1 -1
  156. package/dist/components/MediaCard/index.js +9 -0
  157. package/dist/components/Menubar/index.js +2 -2
  158. package/dist/components/MessageBubble/index.js +18 -0
  159. package/dist/components/MoneyInput/index.js +3 -2
  160. package/dist/components/NavigationMenu/index.js +2 -2
  161. package/dist/components/NavigationRail/index.js +2 -1
  162. package/dist/components/NexubProvider/index.js +14 -0
  163. package/dist/components/NumberInput/index.js +3 -2
  164. package/dist/components/NumberTicker/index.js +10 -0
  165. package/dist/components/PageHeader/index.js +1 -1
  166. package/dist/components/Pagination/index.js +3 -1
  167. package/dist/components/PasswordInput/index.js +3 -2
  168. package/dist/components/Popover/index.js +2 -2
  169. package/dist/components/Progress/index.js +2 -1
  170. package/dist/components/PromptInput/index.js +15 -0
  171. package/dist/components/RadioCard/index.js +11 -0
  172. package/dist/components/RadioGroup/index.js +1 -1
  173. package/dist/components/Rating/index.js +2 -1
  174. package/dist/components/ScrollArea/index.js +1 -1
  175. package/dist/components/SearchInput/index.js +3 -2
  176. package/dist/components/Section/index.js +1 -1
  177. package/dist/components/SegmentedControl/index.js +3 -2
  178. package/dist/components/Select/index.js +2 -2
  179. package/dist/components/Separator/index.js +1 -1
  180. package/dist/components/Sidebar/index.js +2 -1
  181. package/dist/components/Skeleton/index.js +1 -1
  182. package/dist/components/Spinner/index.js +2 -1
  183. package/dist/components/SplitButton/index.js +5 -5
  184. package/dist/components/Stack/index.js +2 -1
  185. package/dist/components/StatusPill/index.js +1 -1
  186. package/dist/components/StreamingText/index.js +8 -0
  187. package/dist/components/Switch/index.js +1 -1
  188. package/dist/components/Table/index.js +1 -1
  189. package/dist/components/Tabs/index.js +3 -2
  190. package/dist/components/Tag/index.js +1 -1
  191. package/dist/components/Text/index.js +1 -1
  192. package/dist/components/TextGradient/index.js +1 -1
  193. package/dist/components/Textarea/index.js +1 -1
  194. package/dist/components/ThinkingIndicator/index.js +9 -0
  195. package/dist/components/Toast/index.js +3 -1
  196. package/dist/components/Tooltip/index.js +2 -1
  197. package/dist/components/TopNav/index.js +2 -1
  198. package/dist/index.d.ts +407 -22
  199. package/dist/index.js +245 -166
  200. package/package.json +52 -50
  201. package/dist/chunk-63DPMUMR.js +0 -67
  202. package/dist/chunk-CHGPGRML.js +0 -115
  203. package/dist/chunk-J2T4GFFS.js +0 -85
  204. package/dist/chunk-LH3BSAIS.js +0 -119
  205. package/dist/chunk-LMPGHWUA.js +0 -114
  206. package/dist/chunk-NMH5WSZG.js +0 -72
  207. package/dist/chunk-P44EROBX.js +0 -55
  208. package/dist/chunk-TYTW4F3B.js +0 -178
package/dist/index.d.ts CHANGED
@@ -3,7 +3,8 @@ import * as React from 'react';
3
3
  import { useLayoutEffect, Ref } from 'react';
4
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
5
  import { VariantProps } from 'class-variance-authority';
6
- import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import * as RadixRadioGroup from '@radix-ui/react-radio-group';
7
+ import * as RadixCheckbox from '@radix-ui/react-checkbox';
7
8
  export { Root as VisuallyHidden, VisuallyHiddenProps } from '@radix-ui/react-visually-hidden';
8
9
  import * as DialogPrimitive from '@radix-ui/react-dialog';
9
10
  import * as RadixAlertDialog from '@radix-ui/react-alert-dialog';
@@ -15,8 +16,6 @@ import * as RadixContextMenu from '@radix-ui/react-context-menu';
15
16
  import * as RadixNav from '@radix-ui/react-navigation-menu';
16
17
  import * as RadixSelect from '@radix-ui/react-select';
17
18
  import * as RadixSwitch from '@radix-ui/react-switch';
18
- import * as RadixCheckbox from '@radix-ui/react-checkbox';
19
- import * as RadixRadioGroup from '@radix-ui/react-radio-group';
20
19
  import * as RadixSlider from '@radix-ui/react-slider';
21
20
  import * as RadixToggle from '@radix-ui/react-toggle';
22
21
  import * as RadixToggleGroup from '@radix-ui/react-toggle-group';
@@ -32,6 +31,12 @@ export { DateRange } from 'react-day-picker';
32
31
 
33
32
  declare function cn(...inputs: ClassValue[]): string;
34
33
 
34
+ /**
35
+ * Run a DOM update as a view transition (styles: @nexub/themes/view-transitions).
36
+ * Where the API is missing, or on the server, the update just runs.
37
+ */
38
+ declare function startViewTransition(update: () => void | Promise<void>): void;
39
+
35
40
  interface UseControllableStateOptions<T> {
36
41
  value?: T;
37
42
  defaultValue?: T;
@@ -52,15 +57,271 @@ declare function useMediaQuery(query: string): boolean;
52
57
 
53
58
  declare function useMergedRefs<T>(...refs: Array<Ref<T> | undefined>): (node: T) => void;
54
59
 
60
+ /**
61
+ * Pointer position for the `nx-sheen` effect (themes/base.css). Returns a
62
+ * pointermove handler that writes --nx-mx / --nx-my (px, relative to the
63
+ * element) through the CSSOM — no style attribute, so strict-CSP safe — at
64
+ * most once per frame. Touch is ignored: there is no hover to light.
65
+ */
66
+ declare function usePointerSheen<T extends HTMLElement>(enabled: boolean, onPointerMove?: React.PointerEventHandler<T>): React.PointerEventHandler<T> | undefined;
67
+
68
+ interface PromptInputMessages {
69
+ promptLabel: string;
70
+ sendMessage: string;
71
+ stopGenerating: string;
72
+ promptHint: string;
73
+ }
74
+ type PromptInputStatus = 'idle' | 'submitting' | 'streaming';
75
+ interface PromptInputProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'value' | 'defaultValue' | 'onChange' | 'onSubmit' | 'rows'> {
76
+ value?: string;
77
+ defaultValue?: string;
78
+ onValueChange?: (value: string) => void;
79
+ /** Called with the current text on Enter or Send. Uncontrolled input clears itself after. */
80
+ onSubmit?: (value: string) => void;
81
+ /** Called by Stop (or Escape) while `status="streaming"`. */
82
+ onStop?: () => void;
83
+ /** `streaming` turns Send into Stop; `submitting` holds Send. @default 'idle' */
84
+ status?: PromptInputStatus;
85
+ /** Rows before the field scrolls. @default 8 */
86
+ maxRows?: number;
87
+ /** Rendered above the text, e.g. removable Chips. */
88
+ attachments?: React.ReactNode;
89
+ /** Rendered bottom-start, e.g. an attach IconButton or a model picker. */
90
+ actions?: React.ReactNode;
91
+ surface?: 'solid' | 'glass';
92
+ /** Accessible name of the text field. @default messages.promptLabel ('Message') */
93
+ label?: string;
94
+ /** Local overrides for this component's strings. */
95
+ messages?: Partial<PromptInputMessages>;
96
+ /** Class for the outer container (`className` goes to it too); this one targets the textarea. */
97
+ textareaClassName?: string;
98
+ }
99
+ declare const PromptInput: React.ForwardRefExoticComponent<PromptInputProps & React.RefAttributes<HTMLTextAreaElement>>;
100
+
101
+ interface ThinkingIndicatorMessages {
102
+ thinking: string;
103
+ }
104
+ interface ThinkingIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {
105
+ /** Visible text. Pass `null` to hide it (it is still announced). @default messages.thinking */
106
+ label?: React.ReactNode;
107
+ /** @default 'md' */
108
+ size?: 'sm' | 'md';
109
+ /** Local overrides for this component's strings. */
110
+ messages?: Partial<ThinkingIndicatorMessages>;
111
+ }
112
+ /**
113
+ * Shows the assistant is working before tokens arrive: a primary-tinted shape
114
+ * morphing between a circle and a soft four-lobed squircle (.nx-morph), and a
115
+ * label with a decorative shimmer (.nx-shimmer). Reduced motion: both static.
116
+ */
117
+ declare const ThinkingIndicator: React.ForwardRefExoticComponent<ThinkingIndicatorProps & React.RefAttributes<HTMLDivElement>>;
118
+
119
+ interface StreamingTextProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
120
+ /** The full text received so far; grows as tokens arrive. */
121
+ text: string;
122
+ /** True while more text is expected: shows the caret and sets aria-busy. */
123
+ streaming?: boolean;
124
+ as?: 'div' | 'p' | 'span';
125
+ /**
126
+ * Opt-in live announcements. Off by default: screen readers re-read the
127
+ * whole region on every token; announce the finished message instead.
128
+ */
129
+ 'aria-live'?: 'off' | 'polite';
130
+ }
131
+ /**
132
+ * Assistant text as it streams in. Text already shown stays static; each newly
133
+ * appended tail fades in (nx-reveal), and only the last few tails keep their
134
+ * own span, so the DOM stays flat however long the answer gets.
135
+ */
136
+ declare const StreamingText: React.ForwardRefExoticComponent<StreamingTextProps & React.RefAttributes<HTMLElement>>;
137
+
138
+ interface MessageStrings {
139
+ youSaid: string;
140
+ assistantSaid: string;
141
+ failedToSend: string;
142
+ retry: string;
143
+ copy: string;
144
+ copied: string;
145
+ goodResponse: string;
146
+ badResponse: string;
147
+ regenerate: string;
148
+ }
149
+ declare const defaultMessageStrings: MessageStrings;
150
+ type MessageFrom = 'user' | 'assistant' | 'system';
151
+ interface MessageBubbleProps extends React.HTMLAttributes<HTMLElement> {
152
+ /** Who sent it. (Not `role`, which is the ARIA attribute.) */
153
+ from: MessageFrom;
154
+ /** Assistant only: shown at the inline-start. */
155
+ avatar?: React.ReactNode;
156
+ /** Accessible label for the message; defaults to "You said" / "Assistant said". */
157
+ name?: string;
158
+ status?: 'sending' | 'error';
159
+ /** With status="error": renders a Retry text button. */
160
+ onRetry?: () => void;
161
+ messages?: Partial<MessageStrings>;
162
+ }
163
+ declare const MessageBubble: React.ForwardRefExoticComponent<MessageBubbleProps & React.RefAttributes<HTMLElement>>;
164
+ type Feedback = 'up' | 'down' | null;
165
+ interface MessageActionsProps extends React.HTMLAttributes<HTMLDivElement> {
166
+ /** Text placed on the clipboard by Copy. */
167
+ text?: string;
168
+ /** Set false to hide Copy. @default true */
169
+ copy?: boolean;
170
+ feedback?: Feedback;
171
+ defaultFeedback?: Feedback;
172
+ /** Shows thumbs up/down when provided. */
173
+ onFeedback?: (feedback: Feedback) => void;
174
+ /** Shows Regenerate when provided. */
175
+ onRegenerate?: () => void;
176
+ messages?: Partial<MessageStrings>;
177
+ }
178
+ /** Copy / feedback / regenerate row. Fades in on hover or focus of the parent MessageBubble on pointer devices. */
179
+ declare const MessageActions: React.ForwardRefExoticComponent<MessageActionsProps & React.RefAttributes<HTMLDivElement>>;
180
+
181
+ interface CitationSource {
182
+ title: string;
183
+ url: string;
184
+ /** Shown instead of the URL's hostname. */
185
+ domain?: string;
186
+ snippet?: string;
187
+ /** Favicon URL (http/https only; anything else falls back to a letter). */
188
+ favicon?: string;
189
+ }
190
+ interface CitationMessages {
191
+ /** SourceList heading. */
192
+ sources: string;
193
+ /** Prefix of a citation's accessible name ("Source 1: <title>"). */
194
+ source: (index: number) => string;
195
+ }
196
+ /** Returns the normalised href for http(s) URLs, otherwise undefined (javascript:, data:, relative…). */
197
+ declare function safeUrl(url: string | undefined): string | undefined;
198
+ interface CitationProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
199
+ /** 1-based number shown in the marker. */
200
+ index: number;
201
+ source: CitationSource;
202
+ messages?: Partial<CitationMessages>;
203
+ }
204
+ /**
205
+ * Inline numbered source marker for running text. Links to the source (http/https
206
+ * only — anything else renders as plain text) and previews it in a HoverCard on
207
+ * hover or focus.
208
+ */
209
+ declare const Citation: React.ForwardRefExoticComponent<CitationProps & React.RefAttributes<HTMLElement>>;
210
+ interface SourceChipProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
211
+ source: CitationSource;
212
+ }
213
+ /** Compact source row item: favicon, domain and a truncated title, linking to the source. */
214
+ declare const SourceChip: React.ForwardRefExoticComponent<SourceChipProps & React.RefAttributes<HTMLElement>>;
215
+ interface SourceListProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
216
+ sources: CitationSource[];
217
+ messages?: Partial<CitationMessages>;
218
+ }
219
+ /**
220
+ * "Sources" heading plus a row of SourceChips: a horizontal scroll-snap row when
221
+ * narrow, a wrapping grid once its own container is 480px or wider.
222
+ */
223
+ declare const SourceList: React.ForwardRefExoticComponent<SourceListProps & React.RefAttributes<HTMLElement>>;
224
+
225
+ /** Every user-facing default string in @nexub/react. Explicit component props still win. */
226
+ interface NexubMessages {
227
+ close: string;
228
+ dismissAlert: string;
229
+ dismissBanner: string;
230
+ remove: string;
231
+ removeFilter: string;
232
+ removeFile: (fileName: string) => string;
233
+ uploadFiles: string;
234
+ clickToUpload: string;
235
+ orDragAndDrop: string;
236
+ clearSearch: string;
237
+ showPassword: string;
238
+ hidePassword: string;
239
+ increment: string;
240
+ decrement: string;
241
+ loading: string;
242
+ pagination: string;
243
+ previousPage: string;
244
+ nextPage: string;
245
+ goToPage: (page: number) => string;
246
+ breadcrumb: string;
247
+ breadcrumbMore: string;
248
+ moreCount: (count: number) => string;
249
+ rating: string;
250
+ ratingStars: (stars: number) => string;
251
+ mainNavigation: string;
252
+ sidebar: string;
253
+ searchPlaceholder: string;
254
+ noResults: string;
255
+ pickDate: string;
256
+ pickDateRange: string;
257
+ commandPalette: string;
258
+ /** Toaster region label; Radix replaces `{hotkey}`. */
259
+ notifications: string;
260
+ undo: string;
261
+ promptLabel: string;
262
+ sendMessage: string;
263
+ stopGenerating: string;
264
+ promptHint: string;
265
+ thinking: string;
266
+ youSaid: string;
267
+ assistantSaid: string;
268
+ failedToSend: string;
269
+ retry: string;
270
+ copy: string;
271
+ copied: string;
272
+ goodResponse: string;
273
+ badResponse: string;
274
+ regenerate: string;
275
+ sources: string;
276
+ source: (index: number) => string;
277
+ jumpToLatest: string;
278
+ conversation: string;
279
+ }
280
+ declare const defaultMessages: NexubMessages;
281
+ type Direction = 'ltr' | 'rtl';
282
+ interface NexubProviderProps {
283
+ /** BCP 47 locale for Intl formatting. @default 'en' */
284
+ locale?: string;
285
+ /** Text direction for Radix primitives. @default derived from `locale` */
286
+ dir?: Direction;
287
+ /** Overrides for the default English strings. */
288
+ messages?: Partial<NexubMessages>;
289
+ children?: React.ReactNode;
290
+ }
291
+ /**
292
+ * Locale, direction and translated strings for every @nexub/react component.
293
+ * It does not set `dir`/`lang` on <html> — the app does that (as it renders
294
+ * <html>), so the page and CSS `rtl:` variants agree with this provider.
295
+ */
296
+ declare function NexubProvider({ locale, dir, messages, children }: NexubProviderProps): React.JSX.Element;
297
+ /** The active strings: defaults merged with the nearest NexubProvider's overrides. */
298
+ declare function useNexubMessages(): NexubMessages;
299
+ /** The active locale (default 'en') and direction. */
300
+ declare function useLocale(): {
301
+ locale: string;
302
+ dir: Direction;
303
+ };
304
+
55
305
  type ToneValue = 'neutral' | 'info' | 'success' | 'warning' | 'danger' | 'leap' | 'bookub' | 'payub' | 'founderub';
56
306
  declare const buttonVariants: (props?: ({
57
- variant?: "accent" | "text" | "link" | "glass" | "filled" | "tonal" | "outlined" | "primary" | "secondary" | "subtle" | "outline" | "ghost" | "destructive" | null | undefined;
307
+ variant?: "accent" | "text" | "link" | "glass" | "ghost" | "outline" | "subtle" | "filled" | "tonal" | "outlined" | "primary" | "secondary" | "destructive" | null | undefined;
58
308
  size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
59
309
  fullWidth?: boolean | null | undefined;
60
310
  } & class_variance_authority_types.ClassProp) | undefined) => string;
311
+ type ButtonStatus = 'idle' | 'loading' | 'success' | 'error';
61
312
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
62
313
  tone?: ToneValue;
314
+ /** Async feedback. `loading` blocks clicks (aria-disabled, focus kept),
315
+ * `success` draws a check, `error` shakes once. Not applied with `asChild`. */
316
+ status?: ButtonStatus;
317
+ /** Alias for `status="loading"`. */
63
318
  loading?: boolean;
319
+ /** Announced while loading. @default 'Loading' */
320
+ loadingLabel?: string;
321
+ /** Announced on success; when given it also replaces the visible label. @default 'Done' */
322
+ successLabel?: string;
323
+ /** Announced on error. @default 'Something went wrong' */
324
+ errorLabel?: string;
64
325
  fullWidth?: boolean;
65
326
  leadingIcon?: React.ReactNode;
66
327
  trailingIcon?: React.ReactNode;
@@ -89,7 +350,7 @@ interface SplitButtonProps extends Omit<ButtonProps, 'asChild' | 'trailingIcon'
89
350
  declare const SplitButton: React.ForwardRefExoticComponent<SplitButtonProps & React.RefAttributes<HTMLButtonElement>>;
90
351
 
91
352
  declare const iconButtonVariants: (props?: ({
92
- variant?: "solid" | "subtle" | "outline" | "ghost" | null | undefined;
353
+ variant?: "solid" | "ghost" | "outline" | "subtle" | null | undefined;
93
354
  size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
94
355
  } & class_variance_authority_types.ClassProp) | undefined) => string;
95
356
  interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof iconButtonVariants> {
@@ -174,6 +435,8 @@ interface AmountProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'child
174
435
  tone?: 'neutral' | 'auto';
175
436
  /** e.g. 'exceptZero' to show "+" on gains. */
176
437
  signDisplay?: Intl.NumberFormatOptions['signDisplay'];
438
+ /** Roll digits to new values (NumberTicker). The first render never animates. */
439
+ animate?: boolean;
177
440
  }
178
441
  /**
179
442
  * A money figure, honest by default (Calm Depth §3.5): tabular numerals, the
@@ -181,6 +444,27 @@ interface AmountProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'child
181
444
  */
182
445
  declare const Amount: React.ForwardRefExoticComponent<AmountProps & React.RefAttributes<HTMLSpanElement>>;
183
446
 
447
+ /** A run of already-formatted text with its own class (Amount's muted symbol and minor units). */
448
+ interface NumberTickerPart {
449
+ value: string;
450
+ className?: string;
451
+ }
452
+ interface NumberTickerProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> {
453
+ /** A number (formatted with `format`/`locale`), an already-formatted string, or styled parts. */
454
+ value: number | string | readonly NumberTickerPart[];
455
+ format?: Intl.NumberFormatOptions;
456
+ /** BCP 47 locale. Defaults to the user's. */
457
+ locale?: string;
458
+ /** Announce changes to screen readers. */
459
+ 'aria-live'?: 'off' | 'polite';
460
+ }
461
+ /**
462
+ * A rolling number: each digit is a 0–9 strip that slides to its value on the
463
+ * spatial spring; separators, symbols and signs stay static. The first render
464
+ * shows the value as-is; only later changes animate.
465
+ */
466
+ declare const NumberTicker: React.ForwardRefExoticComponent<NumberTickerProps & React.RefAttributes<HTMLSpanElement>>;
467
+
184
468
  interface SearchInputProps extends Omit<InputProps, 'leadingIcon' | 'trailingIcon'> {
185
469
  onClear?: () => void;
186
470
  }
@@ -225,7 +509,7 @@ interface FormFieldRootProps extends React.HTMLAttributes<HTMLDivElement> {
225
509
  required?: boolean;
226
510
  disabled?: boolean;
227
511
  }
228
- declare function FieldLabel({ className, children, ...props }: React.ComponentProps<typeof Label>): react_jsx_runtime.JSX.Element;
512
+ declare function FieldLabel({ className, children, ...props }: React.ComponentProps<typeof Label>): React.JSX.Element;
229
513
  declare namespace FieldLabel {
230
514
  var displayName: string;
231
515
  }
@@ -235,11 +519,11 @@ declare function Control({ children }: {
235
519
  declare namespace Control {
236
520
  var displayName: string;
237
521
  }
238
- declare function Description({ className, children, ...props }: React.ComponentProps<typeof HelperText>): react_jsx_runtime.JSX.Element;
522
+ declare function Description({ className, children, ...props }: React.ComponentProps<typeof HelperText>): React.JSX.Element;
239
523
  declare namespace Description {
240
524
  var displayName: string;
241
525
  }
242
- declare function FieldError({ className, children, ...props }: React.ComponentProps<typeof FormError>): react_jsx_runtime.JSX.Element | null;
526
+ declare function FieldError({ className, children, ...props }: React.ComponentProps<typeof FormError>): React.JSX.Element | null;
243
527
  declare namespace FieldError {
244
528
  var displayName: string;
245
529
  }
@@ -335,9 +619,72 @@ declare const cardVariants: (props?: ({
335
619
  interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
336
620
  tone?: ToneValue;
337
621
  surface?: 'solid' | 'glass';
622
+ /** `sheen`: a soft light follows the pointer (opt-in; off for touch and reduced motion). */
623
+ effect?: 'none' | 'sheen';
338
624
  asChild?: boolean;
339
625
  }
340
626
  declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
627
+ interface CardLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
628
+ asChild?: boolean;
629
+ }
630
+ /**
631
+ * Makes the whole card one link (the "stretched link" pattern): put it around
632
+ * the card's title. Its ::after covers the card, so the link has one
633
+ * accessible name and the focus ring shows on the card. Give other
634
+ * interactive elements inside the card `relative z-[1]` to keep them clickable.
635
+ */
636
+ declare const CardLink: React.ForwardRefExoticComponent<CardLinkProps & React.RefAttributes<HTMLAnchorElement>>;
637
+
638
+ interface SelectableCardContentProps {
639
+ /** Leading icon. */
640
+ icon?: React.ReactNode;
641
+ /** The card's accessible name. */
642
+ title: React.ReactNode;
643
+ /** Secondary text, exposed as the accessible description. */
644
+ description?: React.ReactNode;
645
+ /** Extra content under the description. Keep it non-interactive: the whole card is the control. */
646
+ children?: React.ReactNode;
647
+ }
648
+
649
+ interface RadioCardGroupProps extends RadixRadioGroup.RadioGroupProps {
650
+ /** Grid columns (collapses to one column on narrow screens). */
651
+ columns?: 1 | 2 | 3 | 4;
652
+ }
653
+ declare const RadioCardGroup: React.ForwardRefExoticComponent<RadioCardGroupProps & React.RefAttributes<HTMLDivElement>>;
654
+ interface RadioCardProps extends Omit<RadixRadioGroup.RadioGroupItemProps, 'title' | 'children'>, SelectableCardContentProps {
655
+ }
656
+ declare const RadioCard: React.ForwardRefExoticComponent<RadioCardProps & React.RefAttributes<HTMLButtonElement>>;
657
+
658
+ interface CheckboxCardProps extends Omit<RadixCheckbox.CheckboxProps, 'title' | 'children' | 'checked' | 'defaultChecked' | 'onCheckedChange'>, SelectableCardContentProps {
659
+ checked?: boolean;
660
+ defaultChecked?: boolean;
661
+ onCheckedChange?: (checked: boolean) => void;
662
+ }
663
+ declare const CheckboxCard: React.ForwardRefExoticComponent<CheckboxCardProps & React.RefAttributes<HTMLButtonElement>>;
664
+
665
+ type MediaCardRatio = '16/9' | '4/3' | '1/1' | '3/4';
666
+ interface MediaCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
667
+ src: string;
668
+ /** Required. Pass '' when the image is decorative. */
669
+ alt: string;
670
+ /** @default '16/9' */
671
+ ratio?: MediaCardRatio;
672
+ title?: React.ReactNode;
673
+ description?: React.ReactNode;
674
+ eyebrow?: React.ReactNode;
675
+ /** Makes the whole card one link, stretched from the title (so needs `title`). */
676
+ href?: string;
677
+ /** Actions; they stay clickable above the stretched link. */
678
+ children?: React.ReactNode;
679
+ }
680
+ /**
681
+ * An image card with a glass caption over a soft bottom scrim.
682
+ *
683
+ * Layers stack in one grid cell rather than with absolute positioning: the
684
+ * glass panel's backdrop-filter would otherwise become the containing block of
685
+ * the stretched link's ::after, shrinking the hit area to the caption.
686
+ */
687
+ declare const MediaCard: React.ForwardRefExoticComponent<MediaCardProps & React.RefAttributes<HTMLDivElement>>;
341
688
 
342
689
  declare const alertVariants: (props?: ({
343
690
  tone?: "neutral" | "info" | "success" | "warning" | "danger" | "leap" | "bookub" | "payub" | "founderub" | null | undefined;
@@ -380,6 +727,7 @@ declare const skeletonVariants: (props?: ({
380
727
  } & class_variance_authority_types.ClassProp) | undefined) => string;
381
728
  interface SkeletonProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof skeletonVariants> {
382
729
  shape?: 'line' | 'rect' | 'circle';
730
+ /** Arbitrary size; rendered as inline style. Omit to use the shape's default classes. */
383
731
  width?: string | number;
384
732
  height?: string | number;
385
733
  animated?: boolean;
@@ -531,7 +879,7 @@ interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement> {
531
879
  declare const AspectRatio: React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
532
880
 
533
881
  declare const headingVariants: (props?: ({
534
- size?: "display" | "h2" | "h3" | "h1" | "h4" | "h5" | "h6" | null | undefined;
882
+ size?: "display" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | null | undefined;
535
883
  weight?: "bold" | "regular" | "medium" | "semibold" | "extrabold" | null | undefined;
536
884
  } & class_variance_authority_types.ClassProp) | undefined) => string;
537
885
  type HeadingSize = 'display' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
@@ -547,7 +895,7 @@ declare const Heading: React.ForwardRefExoticComponent<HeadingProps & React.RefA
547
895
 
548
896
  declare const textVariants: (props?: ({
549
897
  size?: "body" | "label" | "caption" | "body-lg" | "body-sm" | null | undefined;
550
- tone?: "default" | "secondary" | "subtle" | "muted" | "inverse" | null | undefined;
898
+ tone?: "default" | "subtle" | "secondary" | "muted" | "inverse" | null | undefined;
551
899
  weight?: "bold" | "regular" | "medium" | "semibold" | null | undefined;
552
900
  } & class_variance_authority_types.ClassProp) | undefined) => string;
553
901
  interface TextProps extends React.HTMLAttributes<HTMLParagraphElement>, VariantProps<typeof textVariants> {
@@ -633,17 +981,18 @@ declare const Popover: {
633
981
  Close: React.ForwardRefExoticComponent<RadixPopover.PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
634
982
  };
635
983
 
636
- declare const Provider: React.FC<RadixTooltip.TooltipProviderProps>;
984
+ declare function Provider({ delayDuration, skipDelayDuration, ...props }: RadixTooltip.TooltipProviderProps): React.JSX.Element;
637
985
  interface TooltipProps {
638
986
  label: string;
639
987
  side?: 'top' | 'right' | 'bottom' | 'left';
640
988
  delayDuration?: number;
641
989
  children: React.ReactElement;
642
990
  }
643
- declare function Tooltip({ label, side, delayDuration, children }: TooltipProps): react_jsx_runtime.JSX.Element;
991
+ declare function Tooltip({ label, side, delayDuration, children }: TooltipProps): React.JSX.Element;
644
992
 
993
+ declare function Root$1({ openDelay, closeDelay, ...props }: RadixHoverCard.HoverCardProps): React.JSX.Element;
645
994
  declare const HoverCard: {
646
- Root: React.FC<RadixHoverCard.HoverCardProps>;
995
+ Root: typeof Root$1;
647
996
  Trigger: React.ForwardRefExoticComponent<RadixHoverCard.HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
648
997
  Content: React.ForwardRefExoticComponent<RadixHoverCard.HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
649
998
  Arrow: React.ForwardRefExoticComponent<RadixHoverCard.HoverCardArrowProps & React.RefAttributes<SVGSVGElement>>;
@@ -771,7 +1120,7 @@ interface DrawerRootProps {
771
1120
  container?: HTMLElement | null;
772
1121
  autoFocus?: boolean;
773
1122
  }
774
- declare function Root({ scrollLock, onOpenChange, ...props }: DrawerRootProps): react_jsx_runtime.JSX.Element;
1123
+ declare function Root({ scrollLock, onOpenChange, ...props }: DrawerRootProps): React.JSX.Element;
775
1124
  declare namespace Root {
776
1125
  var displayName: string;
777
1126
  }
@@ -909,7 +1258,7 @@ interface AutocompleteProps {
909
1258
  loading?: boolean;
910
1259
  className?: string;
911
1260
  }
912
- declare function Autocomplete({ options, value, onValueChange, placeholder, emptyText, loading, className, }: AutocompleteProps): react_jsx_runtime.JSX.Element;
1261
+ declare function Autocomplete({ options, value, onValueChange, placeholder, emptyText, loading, className, }: AutocompleteProps): React.JSX.Element;
913
1262
  declare namespace Autocomplete {
914
1263
  var displayName: string;
915
1264
  }
@@ -1019,7 +1368,23 @@ declare const Toast: {
1019
1368
  Close: React.ForwardRefExoticComponent<RadixToast.ToastCloseProps & React.RefAttributes<HTMLButtonElement>>;
1020
1369
  };
1021
1370
 
1022
- declare function Toaster(): react_jsx_runtime.JSX.Element;
1371
+ interface ToasterProps {
1372
+ /** Always show the toasts as a list instead of a collapsed stack. */
1373
+ expand?: boolean;
1374
+ /** How many toasts are visible at once; older ones are visually hidden. Default 3. */
1375
+ visibleToasts?: number;
1376
+ }
1377
+ /**
1378
+ * Sonner-style stack. Collapsed: the newest toast in front, older ones peek
1379
+ * out below it, scaled down. Hovering or focusing the viewport fans them out
1380
+ * into a list. Radix pauses every toast's timer while the viewport is hovered
1381
+ * or focused — the same condition that expands the stack.
1382
+ *
1383
+ * Measured heights reach CSS as custom properties set through the CSSOM
1384
+ * (--nx-toast-index / --nx-toast-offset per toast, --nx-front-height and
1385
+ * --nx-stack-height on the viewport), never a style attribute (strict CSP).
1386
+ */
1387
+ declare function Toaster({ expand, visibleToasts }: ToasterProps): React.JSX.Element;
1023
1388
  declare namespace Toaster {
1024
1389
  var displayName: string;
1025
1390
  }
@@ -1035,15 +1400,35 @@ interface ToastItem {
1035
1400
  label: string;
1036
1401
  onClick: () => void;
1037
1402
  };
1403
+ /** An Undo action; its label defaults to the `undo` message. Set by `toast.undoable`. */
1404
+ undo?: {
1405
+ label?: string;
1406
+ onUndo: () => void;
1407
+ };
1408
+ /** Called once when the toast closes, however it closes (timer, swipe, close, action, dismiss). */
1409
+ onClose?: () => void;
1410
+ }
1411
+ interface UndoableToastOptions {
1412
+ /** Called when Undo is clicked; the toast then closes. */
1413
+ onUndo: () => void;
1414
+ /** Called once when the toast closes any other way — the change is final. */
1415
+ onCommit?: () => void;
1416
+ /** @default the `undo` message ('Undo') */
1417
+ undoLabel?: string;
1418
+ description?: string;
1419
+ duration?: number;
1038
1420
  }
1039
1421
  declare function useToastStore(): ToastItem[];
1040
1422
  declare function dismiss(id?: string): void;
1423
+ declare function undoable(title: string, { onUndo, onCommit, undoLabel, description, duration }: UndoableToastOptions): string;
1041
1424
  declare const toast: {
1042
1425
  success: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
1043
1426
  error: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
1044
1427
  info: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
1045
1428
  warning: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
1046
1429
  custom: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
1430
+ /** A toast with an Undo action: Undo calls `onUndo`; any other close calls `onCommit`, once. */
1431
+ undoable: typeof undoable;
1047
1432
  dismiss: typeof dismiss;
1048
1433
  };
1049
1434
 
@@ -1119,11 +1504,11 @@ declare const Breadcrumb: {
1119
1504
  ({ children, className, }: {
1120
1505
  children?: React.ReactNode;
1121
1506
  className?: string;
1122
- }): react_jsx_runtime.JSX.Element;
1507
+ }): React.JSX.Element;
1123
1508
  displayName: string;
1124
1509
  };
1125
1510
  Ellipsis: {
1126
- ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): react_jsx_runtime.JSX.Element;
1511
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
1127
1512
  displayName: string;
1128
1513
  };
1129
1514
  };
@@ -1229,7 +1614,7 @@ interface DataTableProps<TData> extends React.HTMLAttributes<HTMLDivElement> {
1229
1614
  pageSize?: number;
1230
1615
  };
1231
1616
  }
1232
- declare function DataTable<TData>({ columns, data, enableSorting, enableRowSelection, pagination, className, ...props }: DataTableProps<TData>): react_jsx_runtime.JSX.Element;
1617
+ declare function DataTable<TData>({ columns, data, enableSorting, enableRowSelection, pagination, className, ...props }: DataTableProps<TData>): React.JSX.Element;
1233
1618
 
1234
1619
  declare const EmptyState: {
1235
1620
  Root: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
@@ -1324,7 +1709,7 @@ interface ThemeProviderProps {
1324
1709
  /** localStorage key for the glass intensity. Defaults to 'nexub-glass'. */
1325
1710
  glassStorageKey?: string;
1326
1711
  }
1327
- declare function ThemeProvider({ children, defaultTheme, storageKey, defaultGlass, glassStorageKey, }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
1712
+ declare function ThemeProvider({ children, defaultTheme, storageKey, defaultGlass, glassStorageKey, }: ThemeProviderProps): React.JSX.Element;
1328
1713
  declare function useTheme(): ThemeContextValue;
1329
1714
  interface ThemeScriptProps {
1330
1715
  /** Must match ThemeProvider's `storageKey`. Defaults to 'nexub-theme'. */
@@ -1340,7 +1725,7 @@ interface ThemeScriptProps {
1340
1725
  * Applies the stored theme before first paint, so there is no light/dark flash.
1341
1726
  * Render it in `<head>` (or at the top of `<body>`) on server-rendered pages.
1342
1727
  */
1343
- declare function ThemeScript({ storageKey, productStorageKey, glassStorageKey, nonce }: ThemeScriptProps): react_jsx_runtime.JSX.Element;
1728
+ declare function ThemeScript({ storageKey, productStorageKey, glassStorageKey, nonce }: ThemeScriptProps): React.JSX.Element;
1344
1729
 
1345
1730
  type MotionDuration = 'instant' | 'fast' | 'normal' | 'slow' | 'slower';
1346
1731
  type MotionEasing = 'linear' | 'in' | 'out' | 'in-out' | 'out-expo' | 'spring';
@@ -1448,4 +1833,4 @@ interface CollapseProps extends Omit<MotionBaseProps, 'easing'>, React.HTMLAttri
1448
1833
  */
1449
1834
  declare const Collapse: React.ForwardRefExoticComponent<CollapseProps & React.RefAttributes<HTMLDivElement>>;
1450
1835
 
1451
- export { Accordion, Alert, AlertDialog, type AlertProps, Amount, type AmountProps, AppShell, AspectRatio, type AspectRatioProps, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerProps, Box, type BoxProps, Breadcrumb, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Callout, type CalloutProps, Card, type CardProps, CheckList, CheckListItem, type CheckListItemProps, type CheckListProps, Checkbox, type CheckboxProps, Chip, type ChipProps, Code, type CodeProps, Collapse, type CollapseProps, Collapsible, Combobox, CommandPalette, type CommandPaletteRootProps, Container, type ContainerProps, ContextMenu, CountryBadge, type CountryBadgeProps, DataTable, type DataTableProps, DatePicker, type DatePickerProps, DateRangePicker, type DateRangePickerProps, Dialog, Drawer, type DrawerRootProps, DropdownMenu, EmptyState, ErrorState, type ErrorStateProps, EyebrowChip, type EyebrowChipProps, Fade, type FadeProps, FileUpload, type FileUploadRootProps, FilterChip, type FilterChipProps, Flag, type FlagProps, Flex, type FlexProps, FormError, type FormErrorProps, FormField, type FormFieldContextValue, type FormFieldRootProps, type GlassMode, GradientDivider, type GradientDividerProps, Grid, type GridProps, Heading, type HeadingProps, HelperText, type HelperTextProps, HoverCard, IconButton, type IconButtonProps, Input, type InputProps, Kbd, type KbdProps, KeyboardShortcut, type KeyboardShortcutProps, Label, type LabelProps, Link, type LinkProps, Logo, type LogoProps, Menubar, MoneyInput, type MoneyInputProps, type MotionBaseProps, type MotionDuration, type MotionEasing, NavigationMenu, NavigationRail, type NavigationRailItemProps, type NavigationRailRootProps, NumberInput, type NumberInputProps, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, Popover, Progress, type ProgressProps, RadioGroup, Rating, type RatingProps, Scale, type ScaleProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Section, type SectionProps, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, Select, Separator, type SeparatorProps, Sheet, Sidebar, type SidebarGroupProps, type SidebarHeaderProps, type SidebarItemProps, type SidebarRootProps, Skeleton, type SkeletonProps, Slide, type SlideDirection, type SlideProps, Slider, type SliderProps, Spinner, type SpinnerProps, SplitButton, type SplitButtonProps, Stack, type StackProps, StatusPill, type StatusPillProps, Switch, type SwitchProps, Table, Tabs, Tag, type TagProps, Text, TextGradient, type TextGradientProps, type TextProps, Textarea, type TextareaProps, type ThemeContextValue, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeScript, type ThemeScriptProps, Toast, type ToastItem, Toaster, Toggle, ToggleGroup, type ToggleProps, type ToneValue, Toolbar, type ToolbarRootProps, Tooltip, Provider as TooltipProvider, TopNav, type TopNavItemProps, type TopNavRootProps, addonVariants, alertVariants, avatarGroupVariants, avatarVariants, badgeVariants, bannerVariants, buttonVariants, calloutVariants, cardVariants, chipVariants, cn, containerVariants, headingVariants, iconButtonVariants, inputVariants, inputWrapperVariants, labelVariants, linkVariants, logoVariants, progressFillVariants, progressTrackVariants, ratingVariants, sectionVariants, separatorVariants, skeletonVariants, spinnerVariants, statusPillVariants, tagVariants, textVariants, textareaVariants, toast, toggleVariants, useControllableState, useDisclosure, useIsomorphicLayoutEffect, useMediaQuery, useMergedRefs, useTheme, useToastStore };
1836
+ export { Accordion, Alert, AlertDialog, type AlertProps, Amount, type AmountProps, AppShell, AspectRatio, type AspectRatioProps, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerProps, Box, type BoxProps, Breadcrumb, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonStatus, Callout, type CalloutProps, Card, CardLink, type CardLinkProps, type CardProps, CheckList, CheckListItem, type CheckListItemProps, type CheckListProps, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, Chip, type ChipProps, Citation, type CitationMessages, type CitationProps, type CitationSource, Code, type CodeProps, Collapse, type CollapseProps, Collapsible, Combobox, CommandPalette, type CommandPaletteRootProps, Container, type ContainerProps, ContextMenu, CountryBadge, type CountryBadgeProps, DataTable, type DataTableProps, DatePicker, type DatePickerProps, DateRangePicker, type DateRangePickerProps, Dialog, Drawer, type DrawerRootProps, DropdownMenu, EmptyState, ErrorState, type ErrorStateProps, EyebrowChip, type EyebrowChipProps, Fade, type FadeProps, type Feedback, FileUpload, type FileUploadRootProps, FilterChip, type FilterChipProps, Flag, type FlagProps, Flex, type FlexProps, FormError, type FormErrorProps, FormField, type FormFieldContextValue, type FormFieldRootProps, type GlassMode, GradientDivider, type GradientDividerProps, Grid, type GridProps, Heading, type HeadingProps, HelperText, type HelperTextProps, HoverCard, IconButton, type IconButtonProps, Input, type InputProps, Kbd, type KbdProps, KeyboardShortcut, type KeyboardShortcutProps, Label, type LabelProps, Link, type LinkProps, Logo, type LogoProps, MediaCard, type MediaCardProps, type MediaCardRatio, Menubar, MessageActions, type MessageActionsProps, MessageBubble, type MessageBubbleProps, type MessageFrom, type MessageStrings, MoneyInput, type MoneyInputProps, type MotionBaseProps, type MotionDuration, type MotionEasing, NavigationMenu, NavigationRail, type NavigationRailItemProps, type NavigationRailRootProps, type NexubMessages, NexubProvider, type NexubProviderProps, NumberInput, type NumberInputProps, NumberTicker, type NumberTickerPart, type NumberTickerProps, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, Popover, Progress, type ProgressProps, PromptInput, type PromptInputMessages, type PromptInputProps, type PromptInputStatus, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RadioGroup, Rating, type RatingProps, Scale, type ScaleProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Section, type SectionProps, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, Select, Separator, type SeparatorProps, Sheet, Sidebar, type SidebarGroupProps, type SidebarHeaderProps, type SidebarItemProps, type SidebarRootProps, Skeleton, type SkeletonProps, Slide, type SlideDirection, type SlideProps, Slider, type SliderProps, SourceChip, type SourceChipProps, SourceList, type SourceListProps, Spinner, type SpinnerProps, SplitButton, type SplitButtonProps, Stack, type StackProps, StatusPill, type StatusPillProps, StreamingText, type StreamingTextProps, Switch, type SwitchProps, Table, Tabs, Tag, type TagProps, Text, type Direction as TextDirection, TextGradient, type TextGradientProps, type TextProps, Textarea, type TextareaProps, type ThemeContextValue, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeScript, type ThemeScriptProps, ThinkingIndicator, type ThinkingIndicatorMessages, type ThinkingIndicatorProps, Toast, type ToastItem, Toaster, type ToasterProps, Toggle, ToggleGroup, type ToggleProps, type ToneValue, Toolbar, type ToolbarRootProps, Tooltip, Provider as TooltipProvider, TopNav, type TopNavItemProps, type TopNavRootProps, type UndoableToastOptions, addonVariants, alertVariants, avatarGroupVariants, avatarVariants, badgeVariants, bannerVariants, buttonVariants, calloutVariants, cardVariants, chipVariants, cn, containerVariants, defaultMessageStrings, defaultMessages, headingVariants, iconButtonVariants, inputVariants, inputWrapperVariants, labelVariants, linkVariants, logoVariants, progressFillVariants, progressTrackVariants, ratingVariants, safeUrl, sectionVariants, separatorVariants, skeletonVariants, spinnerVariants, startViewTransition, statusPillVariants, tagVariants, textVariants, textareaVariants, toast, toggleVariants, useControllableState, useDisclosure, useIsomorphicLayoutEffect, useLocale, useMediaQuery, useMergedRefs, useNexubMessages, usePointerSheen, useTheme, useToastStore };