@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.
- package/dist/{chunk-XR4NBY54.js → chunk-2DYKENBM.js} +10 -10
- package/dist/{chunk-SVQCINRE.js → chunk-2I7FIU6R.js} +5 -2
- package/dist/{chunk-FHFVBOF3.js → chunk-2Y4WLNEZ.js} +3 -3
- package/dist/{chunk-CWS37T3K.js → chunk-3E7X3YK3.js} +4 -2
- package/dist/{chunk-GRB6T2TT.js → chunk-3FPJIXG7.js} +19 -13
- package/dist/chunk-3MT23LNM.js +171 -0
- package/dist/chunk-3QD76BKT.js +80 -0
- package/dist/{chunk-B54WADL4.js → chunk-4P2JJ2FH.js} +12 -12
- package/dist/chunk-52ZVJPF7.js +1 -0
- package/dist/chunk-5KI4YHA3.js +144 -0
- package/dist/chunk-5QEARXY3.js +55 -0
- package/dist/chunk-5VW6RUKZ.js +134 -0
- package/dist/{chunk-CNNJFWFA.js → chunk-6BGUZQAX.js} +4 -4
- package/dist/{chunk-LDYD7WL3.js → chunk-6ECOCGZG.js} +4 -3
- package/dist/{chunk-3AXIMXDU.js → chunk-6JBQAJJD.js} +6 -12
- package/dist/{chunk-YRDCY6BI.js → chunk-6UKNUI46.js} +0 -19
- package/dist/chunk-743Y5MY3.js +95 -0
- package/dist/{chunk-BFRX6X4O.js → chunk-74RUJ5KZ.js} +23 -17
- package/dist/chunk-77LYWSJW.js +85 -0
- package/dist/{chunk-YPHNHQYQ.js → chunk-7B4VF2ZU.js} +6 -2
- package/dist/{chunk-NCRFKPA4.js → chunk-7MSIOYJZ.js} +6 -8
- package/dist/{chunk-AHT35UWY.js → chunk-7Q4T7CB6.js} +10 -6
- package/dist/{chunk-GIGOTRXX.js → chunk-7VJABRKB.js} +3 -10
- package/dist/{chunk-6QLLH6ID.js → chunk-7XWJCFWI.js} +8 -17
- package/dist/chunk-A3O23F2B.js +1 -0
- package/dist/chunk-AT2DSFP3.js +47 -0
- package/dist/{chunk-OASFXI27.js → chunk-BNFGVFZ3.js} +5 -5
- package/dist/{chunk-GHCV6UXG.js → chunk-BTYDDKRQ.js} +5 -5
- package/dist/chunk-C6JRJ6JW.js +167 -0
- package/dist/chunk-CAOLGXA5.js +1 -0
- package/dist/{chunk-IIPYF6ZQ.js → chunk-CBDJRPMD.js} +16 -13
- package/dist/{chunk-OJ2TLWYD.js → chunk-CKFRMCZ7.js} +5 -3
- package/dist/{chunk-LZB3KTSH.js → chunk-CQWYZPPJ.js} +1 -1
- package/dist/{chunk-6RBNM5RO.js → chunk-CUOASXI7.js} +10 -10
- package/dist/{chunk-HG6HTUWU.js → chunk-CV5ZKED7.js} +2 -2
- package/dist/{chunk-HJERFB7J.js → chunk-DDRYT3SY.js} +2 -2
- package/dist/chunk-DGCAM2UJ.js +60 -0
- package/dist/{chunk-RLE5RN3T.js → chunk-DGQJRTO6.js} +15 -11
- package/dist/{chunk-FD7YU53N.js → chunk-DT3QGFXB.js} +4 -4
- package/dist/chunk-F73DTG2V.js +123 -0
- package/dist/{chunk-V3TETH4J.js → chunk-FIDUY6SS.js} +17 -16
- package/dist/{chunk-Z3IG5WRA.js → chunk-FJUVYRNT.js} +3 -3
- package/dist/{chunk-KQPLFVFR.js → chunk-FLZD7HQY.js} +0 -2
- package/dist/{chunk-64JDZWCV.js → chunk-GRKCUQG4.js} +6 -5
- package/dist/{chunk-EZ23IA3H.js → chunk-GSG2W6DP.js} +3 -3
- package/dist/{chunk-4I5ULCYG.js → chunk-HFTS5AN7.js} +3 -3
- package/dist/{chunk-RB4CVS22.js → chunk-HH7EHNOW.js} +3 -1
- package/dist/{chunk-S46W2QER.js → chunk-HSPGJSFJ.js} +17 -11
- package/dist/{chunk-NQVRF4RB.js → chunk-HXV5UA7K.js} +16 -13
- package/dist/{chunk-GUB7YKG2.js → chunk-I4U36P54.js} +6 -3
- package/dist/{chunk-BTRTORKU.js → chunk-I6CAF7C5.js} +6 -7
- package/dist/chunk-IGLOYOCH.js +134 -0
- package/dist/{chunk-IK23Q2OF.js → chunk-JHVYI5GK.js} +3 -3
- package/dist/chunk-K5FKEAAK.js +94 -0
- package/dist/{chunk-5URGARPH.js → chunk-KE4YVG5Q.js} +6 -10
- package/dist/{chunk-A4IMFAZX.js → chunk-LESI7J7B.js} +3 -3
- package/dist/chunk-MEUJBGY5.js +88 -0
- package/dist/chunk-MNEXMMLM.js +23 -0
- package/dist/{chunk-PVTACENM.js → chunk-MTK3GHDQ.js} +2 -2
- package/dist/chunk-NA5UMOE5.js +55 -0
- package/dist/{chunk-YJ3JQYAN.js → chunk-NGQKBDHA.js} +5 -13
- package/dist/{chunk-7Q7ZF6BY.js → chunk-NNIFOMIH.js} +18 -8
- package/dist/{chunk-7L3CGIRA.js → chunk-NQPGELMP.js} +8 -19
- package/dist/chunk-NSVXGOR3.js +54 -0
- package/dist/{chunk-6J3QTWKC.js → chunk-NZT4TTNV.js} +18 -9
- package/dist/{chunk-TJCHA3OI.js → chunk-O626NJEM.js} +7 -4
- package/dist/chunk-O74XEHLA.js +331 -0
- package/dist/{chunk-JSD3H7WV.js → chunk-OYCK6BRG.js} +6 -6
- package/dist/{chunk-2555JXCP.js → chunk-PBPUSRTJ.js} +19 -11
- package/dist/{chunk-QD7H3WV3.js → chunk-PGDXFBKT.js} +8 -8
- package/dist/{chunk-PQ6GU7SG.js → chunk-PMWYLYM3.js} +20 -14
- package/dist/{chunk-I4BHRVRL.js → chunk-PPCGUIAB.js} +9 -5
- package/dist/{chunk-NIX4SEKM.js → chunk-PREMZMLU.js} +7 -4
- package/dist/{chunk-4SSUM4CL.js → chunk-Q3ESHXKU.js} +9 -6
- package/dist/{chunk-KM6Z3VTI.js → chunk-QVTVDL6Y.js} +1 -1
- package/dist/{chunk-AXOKFS4K.js → chunk-RSU2UHN4.js} +20 -4
- package/dist/{chunk-DJZZ3FIP.js → chunk-RUR57JZQ.js} +5 -14
- package/dist/{chunk-ZV3AF5CL.js → chunk-S2CTBFLN.js} +13 -2
- package/dist/{chunk-WESZPFBZ.js → chunk-S7GH2BJP.js} +7 -4
- package/dist/chunk-SAUA52EJ.js +131 -0
- package/dist/{chunk-72I7EVOL.js → chunk-SYZADSLI.js} +10 -6
- package/dist/{chunk-TEOLG3N2.js → chunk-SZ2WPWXJ.js} +10 -6
- package/dist/{chunk-W2NEXOTG.js → chunk-T7RLPFGX.js} +2 -2
- package/dist/{chunk-J6TU45KP.js → chunk-TRA6A5C5.js} +26 -12
- package/dist/{chunk-H2W7IYVY.js → chunk-UTJJ5HFX.js} +18 -12
- package/dist/{chunk-5O34ZNC3.js → chunk-VAFBGFKY.js} +19 -13
- package/dist/{chunk-OJRSPDNJ.js → chunk-VD4RFTNV.js} +8 -14
- package/dist/chunk-VLQGQFW7.js +110 -0
- package/dist/{chunk-RTDUTWJ4.js → chunk-VMT7Y3AT.js} +5 -8
- package/dist/{chunk-LGQ737BP.js → chunk-WHTLXQB6.js} +1 -1
- package/dist/chunk-WLRRMT6W.js +1 -0
- package/dist/{chunk-2FCSWBSM.js → chunk-WMWX6DPB.js} +3 -3
- package/dist/{chunk-UMC64NCT.js → chunk-WVBGQCYC.js} +6 -3
- package/dist/{chunk-QCNLE27O.js → chunk-WXRQ42DR.js} +11 -7
- package/dist/{chunk-SY6V3HAK.js → chunk-XDU27NRX.js} +3 -3
- package/dist/{chunk-KA2J5OBA.js → chunk-XQDD76EF.js} +4 -7
- package/dist/chunk-XTATJMY6.js +64 -0
- package/dist/chunk-XYXMPHND.js +1 -0
- package/dist/{chunk-7ZWBHHRK.js → chunk-YNU6VRD5.js} +23 -32
- package/dist/{chunk-6SJPVQQW.js → chunk-Z3HF6XJ3.js} +1 -1
- package/dist/{chunk-I4URNMI7.js → chunk-ZC4MZAEX.js} +9 -7
- package/dist/{chunk-PWBPHGM3.js → chunk-ZCEUVK2R.js} +2 -2
- package/dist/chunk-ZT3NWE5U.js +1 -0
- package/dist/{chunk-RHOYF7MO.js → chunk-ZTLALVWA.js} +6 -15
- package/dist/components/Accordion/index.js +1 -1
- package/dist/components/Alert/index.js +2 -1
- package/dist/components/AlertDialog/index.js +3 -3
- package/dist/components/Amount/index.js +3 -1
- package/dist/components/AspectRatio/index.js +1 -1
- package/dist/components/Autocomplete/index.js +3 -2
- package/dist/components/Avatar/index.js +1 -1
- package/dist/components/AvatarGroup/index.js +3 -2
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/Banner/index.js +2 -1
- package/dist/components/Breadcrumb/index.js +2 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/ButtonGroup/index.js +1 -1
- package/dist/components/Callout/index.js +1 -1
- package/dist/components/Card/index.js +3 -1
- package/dist/components/CheckList/index.js +1 -1
- package/dist/components/Checkbox/index.js +1 -1
- package/dist/components/CheckboxCard/index.js +9 -0
- package/dist/components/Chip/index.js +2 -1
- package/dist/components/Citation/index.js +17 -0
- package/dist/components/Code/index.js +1 -1
- package/dist/components/Combobox/index.js +1 -1
- package/dist/components/CommandPalette/index.js +3 -2
- package/dist/components/ContextMenu/index.js +2 -2
- package/dist/components/CountryBadge/index.js +1 -1
- package/dist/components/DataTable/index.js +2 -1
- package/dist/components/DatePicker/index.js +5 -1
- package/dist/components/DateRangePicker/index.js +5 -1
- package/dist/components/Dialog/index.js +2 -2
- package/dist/components/Drawer/index.js +2 -2
- package/dist/components/DropdownMenu/index.js +2 -2
- package/dist/components/EmptyState/index.js +1 -1
- package/dist/components/ErrorState/index.js +2 -1
- package/dist/components/EyebrowChip/index.js +4 -1
- package/dist/components/FileUpload/index.js +2 -1
- package/dist/components/FilterChip/index.js +3 -1
- package/dist/components/Flex/index.js +2 -1
- package/dist/components/FormError/index.js +1 -1
- package/dist/components/FormField/index.js +7 -4
- package/dist/components/GradientDivider/index.js +1 -1
- package/dist/components/Grid/index.js +2 -1
- package/dist/components/Heading/index.js +4 -1
- package/dist/components/HelperText/index.js +4 -1
- package/dist/components/HoverCard/index.js +3 -2
- package/dist/components/IconButton/index.js +2 -1
- package/dist/components/Input/index.js +1 -1
- package/dist/components/Kbd/index.js +1 -1
- package/dist/components/KeyboardShortcut/index.js +2 -2
- package/dist/components/Label/index.js +4 -1
- package/dist/components/Link/index.js +1 -1
- package/dist/components/Logo/index.js +1 -1
- package/dist/components/MediaCard/index.js +9 -0
- package/dist/components/Menubar/index.js +2 -2
- package/dist/components/MessageBubble/index.js +18 -0
- package/dist/components/MoneyInput/index.js +3 -2
- package/dist/components/NavigationMenu/index.js +2 -2
- package/dist/components/NavigationRail/index.js +2 -1
- package/dist/components/NexubProvider/index.js +14 -0
- package/dist/components/NumberInput/index.js +3 -2
- package/dist/components/NumberTicker/index.js +10 -0
- package/dist/components/PageHeader/index.js +1 -1
- package/dist/components/Pagination/index.js +3 -1
- package/dist/components/PasswordInput/index.js +3 -2
- package/dist/components/Popover/index.js +2 -2
- package/dist/components/Progress/index.js +2 -1
- package/dist/components/PromptInput/index.js +15 -0
- package/dist/components/RadioCard/index.js +11 -0
- package/dist/components/RadioGroup/index.js +1 -1
- package/dist/components/Rating/index.js +2 -1
- package/dist/components/ScrollArea/index.js +1 -1
- package/dist/components/SearchInput/index.js +3 -2
- package/dist/components/Section/index.js +1 -1
- package/dist/components/SegmentedControl/index.js +3 -2
- package/dist/components/Select/index.js +2 -2
- package/dist/components/Separator/index.js +1 -1
- package/dist/components/Sidebar/index.js +2 -1
- package/dist/components/Skeleton/index.js +1 -1
- package/dist/components/Spinner/index.js +2 -1
- package/dist/components/SplitButton/index.js +5 -5
- package/dist/components/Stack/index.js +2 -1
- package/dist/components/StatusPill/index.js +1 -1
- package/dist/components/StreamingText/index.js +8 -0
- package/dist/components/Switch/index.js +1 -1
- package/dist/components/Table/index.js +1 -1
- package/dist/components/Tabs/index.js +3 -2
- package/dist/components/Tag/index.js +1 -1
- package/dist/components/Text/index.js +1 -1
- package/dist/components/TextGradient/index.js +1 -1
- package/dist/components/Textarea/index.js +1 -1
- package/dist/components/ThinkingIndicator/index.js +9 -0
- package/dist/components/Toast/index.js +3 -1
- package/dist/components/Tooltip/index.js +2 -1
- package/dist/components/TopNav/index.js +2 -1
- package/dist/index.d.ts +407 -22
- package/dist/index.js +245 -166
- package/package.json +52 -50
- package/dist/chunk-63DPMUMR.js +0 -67
- package/dist/chunk-CHGPGRML.js +0 -115
- package/dist/chunk-J2T4GFFS.js +0 -85
- package/dist/chunk-LH3BSAIS.js +0 -119
- package/dist/chunk-LMPGHWUA.js +0 -114
- package/dist/chunk-NMH5WSZG.js +0 -72
- package/dist/chunk-P44EROBX.js +0 -55
- 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
|
|
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" | "
|
|
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" | "
|
|
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>):
|
|
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>):
|
|
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>):
|
|
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" | "
|
|
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" | "
|
|
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
|
|
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):
|
|
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:
|
|
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):
|
|
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):
|
|
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
|
-
|
|
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
|
-
}):
|
|
1507
|
+
}): React.JSX.Element;
|
|
1123
1508
|
displayName: string;
|
|
1124
1509
|
};
|
|
1125
1510
|
Ellipsis: {
|
|
1126
|
-
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>):
|
|
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>):
|
|
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):
|
|
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):
|
|
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 };
|