@nexub/react 1.5.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-24ZFAXB2.js +101 -0
- package/dist/{chunk-XR4NBY54.js → chunk-2DYKENBM.js} +10 -10
- package/dist/{chunk-SVQCINRE.js → chunk-2I7FIU6R.js} +5 -2
- package/dist/{chunk-S46W2QER.js → chunk-37L5ERUJ.js} +17 -11
- package/dist/{chunk-CWS37T3K.js → chunk-3E7X3YK3.js} +4 -2
- package/dist/{chunk-EZ23IA3H.js → chunk-3LTB6TGN.js} +4 -4
- package/dist/chunk-3QD76BKT.js +80 -0
- package/dist/{chunk-PQ6GU7SG.js → chunk-4HQFOIZW.js} +20 -14
- package/dist/{chunk-RLE5RN3T.js → chunk-4NFUBFYK.js} +15 -11
- package/dist/{chunk-B54WADL4.js → chunk-4P2JJ2FH.js} +12 -12
- package/dist/{chunk-I4BHRVRL.js → chunk-4UBVU53C.js} +9 -5
- package/dist/chunk-52ZVJPF7.js +1 -0
- package/dist/chunk-5QEARXY3.js +55 -0
- package/dist/chunk-643EYCLL.js +54 -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-77LYWSJW.js +85 -0
- package/dist/{chunk-NCRFKPA4.js → chunk-7MSIOYJZ.js} +6 -8
- 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-AGYGWU6C.js +88 -0
- package/dist/chunk-AT2DSFP3.js +47 -0
- package/dist/{chunk-IIPYF6ZQ.js → chunk-B254JXS7.js} +16 -13
- package/dist/{chunk-GRB6T2TT.js → chunk-BSL62LBX.js} +19 -13
- 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-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-FD7YU53N.js → chunk-DT3QGFXB.js} +4 -4
- package/dist/chunk-F73DTG2V.js +123 -0
- package/dist/{chunk-Z3IG5WRA.js → chunk-FJUVYRNT.js} +3 -3
- package/dist/{chunk-KQPLFVFR.js → chunk-FLZD7HQY.js} +0 -2
- package/dist/chunk-GG54WBLA.js +134 -0
- package/dist/{chunk-64JDZWCV.js → chunk-GRKCUQG4.js} +6 -5
- package/dist/{chunk-YPHNHQYQ.js → chunk-GWDEKW7P.js} +6 -2
- package/dist/{chunk-4I5ULCYG.js → chunk-HFTS5AN7.js} +3 -3
- package/dist/{chunk-GUB7YKG2.js → chunk-I4U36P54.js} +6 -3
- package/dist/{chunk-BTRTORKU.js → chunk-I6CAF7C5.js} +6 -7
- package/dist/{chunk-TJCHA3OI.js → chunk-J65MK3N4.js} +7 -4
- package/dist/{chunk-IK23Q2OF.js → chunk-JHVYI5GK.js} +3 -3
- package/dist/{chunk-J6TU45KP.js → chunk-JSBNYRO4.js} +26 -12
- package/dist/chunk-K5FKEAAK.js +94 -0
- package/dist/{chunk-5URGARPH.js → chunk-KE4YVG5Q.js} +6 -10
- package/dist/{chunk-QCNLE27O.js → chunk-KRCLK5O4.js} +11 -7
- package/dist/{chunk-A4IMFAZX.js → chunk-LESI7J7B.js} +3 -3
- package/dist/chunk-MLT7SA3T.js +171 -0
- package/dist/chunk-MNEXMMLM.js +23 -0
- package/dist/{chunk-PVTACENM.js → chunk-MTK3GHDQ.js} +2 -2
- package/dist/chunk-MYP5ZTC3.js +169 -0
- package/dist/chunk-NA5UMOE5.js +55 -0
- package/dist/chunk-NAJKIBU2.js +163 -0
- package/dist/{chunk-WESZPFBZ.js → chunk-NERAWEIQ.js} +7 -4
- 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-5O34ZNC3.js → chunk-NYWD5SI4.js} +19 -13
- package/dist/chunk-NZR4UGUZ.js +143 -0
- package/dist/{chunk-6J3QTWKC.js → chunk-NZT4TTNV.js} +18 -9
- 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-NIX4SEKM.js → chunk-PREMZMLU.js} +7 -4
- package/dist/{chunk-4SSUM4CL.js → chunk-QUNH4BFR.js} +9 -6
- package/dist/{chunk-FHFVBOF3.js → chunk-QUYOV2ZJ.js} +6 -4
- package/dist/{chunk-KM6Z3VTI.js → chunk-QVTVDL6Y.js} +1 -1
- package/dist/{chunk-XI63BK3S.js → chunk-RATKKN3F.js} +3 -3
- package/dist/chunk-RM7MTOT5.js +339 -0
- package/dist/{chunk-DJZZ3FIP.js → chunk-RUR57JZQ.js} +5 -14
- package/dist/{chunk-ZV3AF5CL.js → chunk-S2CTBFLN.js} +13 -2
- package/dist/{chunk-72I7EVOL.js → chunk-SYZADSLI.js} +10 -6
- package/dist/{chunk-W2NEXOTG.js → chunk-T7RLPFGX.js} +2 -2
- package/dist/chunk-TAVVXXGO.js +131 -0
- package/dist/{chunk-BFRX6X4O.js → chunk-TZ6KJIR4.js} +23 -17
- package/dist/{chunk-V3TETH4J.js → chunk-U2ZYPPRG.js} +17 -16
- package/dist/{chunk-AHT35UWY.js → chunk-UTLKZPKJ.js} +10 -6
- 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-AXOKFS4K.js → chunk-W3KO3JNZ.js} +20 -4
- 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-TEOLG3N2.js → chunk-X4BQHXLB.js} +10 -6
- 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-NQVRF4RB.js → chunk-ZMJ54TG6.js} +16 -13
- 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/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 +440 -24
- package/dist/index.js +225 -146
- package/package.json +52 -50
- package/dist/chunk-63DPMUMR.js +0 -67
- package/dist/chunk-CHGPGRML.js +0 -115
- package/dist/chunk-H2W7IYVY.js +0 -155
- 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
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useLayoutEffect, Ref } from 'react';
|
|
4
|
+
import { Locale } from 'date-fns';
|
|
4
5
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
6
|
import { VariantProps } from 'class-variance-authority';
|
|
6
|
-
import * as
|
|
7
|
+
import * as RadixRadioGroup from '@radix-ui/react-radio-group';
|
|
8
|
+
import * as RadixCheckbox from '@radix-ui/react-checkbox';
|
|
7
9
|
export { Root as VisuallyHidden, VisuallyHiddenProps } from '@radix-ui/react-visually-hidden';
|
|
8
10
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
9
11
|
import * as RadixAlertDialog from '@radix-ui/react-alert-dialog';
|
|
@@ -15,8 +17,6 @@ import * as RadixContextMenu from '@radix-ui/react-context-menu';
|
|
|
15
17
|
import * as RadixNav from '@radix-ui/react-navigation-menu';
|
|
16
18
|
import * as RadixSelect from '@radix-ui/react-select';
|
|
17
19
|
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
20
|
import * as RadixSlider from '@radix-ui/react-slider';
|
|
21
21
|
import * as RadixToggle from '@radix-ui/react-toggle';
|
|
22
22
|
import * as RadixToggleGroup from '@radix-ui/react-toggle-group';
|
|
@@ -32,6 +32,12 @@ export { DateRange } from 'react-day-picker';
|
|
|
32
32
|
|
|
33
33
|
declare function cn(...inputs: ClassValue[]): string;
|
|
34
34
|
|
|
35
|
+
/**
|
|
36
|
+
* Run a DOM update as a view transition (styles: @nexub/themes/view-transitions).
|
|
37
|
+
* Where the API is missing, or on the server, the update just runs.
|
|
38
|
+
*/
|
|
39
|
+
declare function startViewTransition(update: () => void | Promise<void>): void;
|
|
40
|
+
|
|
35
41
|
interface UseControllableStateOptions<T> {
|
|
36
42
|
value?: T;
|
|
37
43
|
defaultValue?: T;
|
|
@@ -52,15 +58,285 @@ declare function useMediaQuery(query: string): boolean;
|
|
|
52
58
|
|
|
53
59
|
declare function useMergedRefs<T>(...refs: Array<Ref<T> | undefined>): (node: T) => void;
|
|
54
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Pointer position for the `nx-sheen` effect (themes/base.css). Returns a
|
|
63
|
+
* pointermove handler that writes --nx-mx / --nx-my (px, relative to the
|
|
64
|
+
* element) through the CSSOM — no style attribute, so strict-CSP safe — at
|
|
65
|
+
* most once per frame. Touch is ignored: there is no hover to light.
|
|
66
|
+
*/
|
|
67
|
+
declare function usePointerSheen<T extends HTMLElement>(enabled: boolean, onPointerMove?: React.PointerEventHandler<T>): React.PointerEventHandler<T> | undefined;
|
|
68
|
+
|
|
69
|
+
interface PromptInputMessages {
|
|
70
|
+
promptLabel: string;
|
|
71
|
+
sendMessage: string;
|
|
72
|
+
stopGenerating: string;
|
|
73
|
+
promptHint: string;
|
|
74
|
+
}
|
|
75
|
+
type PromptInputStatus = 'idle' | 'submitting' | 'streaming';
|
|
76
|
+
interface PromptInputProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'value' | 'defaultValue' | 'onChange' | 'onSubmit' | 'rows'> {
|
|
77
|
+
value?: string;
|
|
78
|
+
defaultValue?: string;
|
|
79
|
+
onValueChange?: (value: string) => void;
|
|
80
|
+
/** Called with the current text on Enter or Send. Uncontrolled input clears itself after. */
|
|
81
|
+
onSubmit?: (value: string) => void;
|
|
82
|
+
/** Called by Stop (or Escape) while `status="streaming"`. */
|
|
83
|
+
onStop?: () => void;
|
|
84
|
+
/** `streaming` turns Send into Stop; `submitting` holds Send. @default 'idle' */
|
|
85
|
+
status?: PromptInputStatus;
|
|
86
|
+
/** Rows before the field scrolls. @default 8 */
|
|
87
|
+
maxRows?: number;
|
|
88
|
+
/** Rendered above the text, e.g. removable Chips. */
|
|
89
|
+
attachments?: React.ReactNode;
|
|
90
|
+
/** Rendered bottom-start, e.g. an attach IconButton or a model picker. */
|
|
91
|
+
actions?: React.ReactNode;
|
|
92
|
+
surface?: 'solid' | 'glass';
|
|
93
|
+
/** Accessible name of the text field. @default messages.promptLabel ('Message') */
|
|
94
|
+
label?: string;
|
|
95
|
+
/** Local overrides for this component's strings. */
|
|
96
|
+
messages?: Partial<PromptInputMessages>;
|
|
97
|
+
/** Class for the outer container (`className` goes to it too); this one targets the textarea. */
|
|
98
|
+
textareaClassName?: string;
|
|
99
|
+
}
|
|
100
|
+
declare const PromptInput: React.ForwardRefExoticComponent<PromptInputProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
101
|
+
|
|
102
|
+
interface ThinkingIndicatorMessages {
|
|
103
|
+
thinking: string;
|
|
104
|
+
}
|
|
105
|
+
interface ThinkingIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
106
|
+
/** Visible text. Pass `null` to hide it (it is still announced). @default messages.thinking */
|
|
107
|
+
label?: React.ReactNode;
|
|
108
|
+
/** @default 'md' */
|
|
109
|
+
size?: 'sm' | 'md';
|
|
110
|
+
/** Local overrides for this component's strings. */
|
|
111
|
+
messages?: Partial<ThinkingIndicatorMessages>;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Shows the assistant is working before tokens arrive: a primary-tinted shape
|
|
115
|
+
* morphing between a circle and a soft four-lobed squircle (.nx-morph), and a
|
|
116
|
+
* label with a decorative shimmer (.nx-shimmer). Reduced motion: both static.
|
|
117
|
+
*/
|
|
118
|
+
declare const ThinkingIndicator: React.ForwardRefExoticComponent<ThinkingIndicatorProps & React.RefAttributes<HTMLDivElement>>;
|
|
119
|
+
|
|
120
|
+
interface StreamingTextProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
|
|
121
|
+
/** The full text received so far; grows as tokens arrive. */
|
|
122
|
+
text: string;
|
|
123
|
+
/** True while more text is expected: shows the caret and sets aria-busy. */
|
|
124
|
+
streaming?: boolean;
|
|
125
|
+
as?: 'div' | 'p' | 'span';
|
|
126
|
+
/**
|
|
127
|
+
* Opt-in live announcements. Off by default: screen readers re-read the
|
|
128
|
+
* whole region on every token; announce the finished message instead.
|
|
129
|
+
*/
|
|
130
|
+
'aria-live'?: 'off' | 'polite';
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Assistant text as it streams in. Text already shown stays static; each newly
|
|
134
|
+
* appended tail fades in (nx-reveal), and only the last few tails keep their
|
|
135
|
+
* own span, so the DOM stays flat however long the answer gets.
|
|
136
|
+
*/
|
|
137
|
+
declare const StreamingText: React.ForwardRefExoticComponent<StreamingTextProps & React.RefAttributes<HTMLElement>>;
|
|
138
|
+
|
|
139
|
+
interface MessageStrings {
|
|
140
|
+
youSaid: string;
|
|
141
|
+
assistantSaid: string;
|
|
142
|
+
failedToSend: string;
|
|
143
|
+
retry: string;
|
|
144
|
+
copy: string;
|
|
145
|
+
copied: string;
|
|
146
|
+
goodResponse: string;
|
|
147
|
+
badResponse: string;
|
|
148
|
+
regenerate: string;
|
|
149
|
+
}
|
|
150
|
+
declare const defaultMessageStrings: MessageStrings;
|
|
151
|
+
type MessageFrom = 'user' | 'assistant' | 'system';
|
|
152
|
+
interface MessageBubbleProps extends React.HTMLAttributes<HTMLElement> {
|
|
153
|
+
/** Who sent it. (Not `role`, which is the ARIA attribute.) */
|
|
154
|
+
from: MessageFrom;
|
|
155
|
+
/** Assistant only: shown at the inline-start. */
|
|
156
|
+
avatar?: React.ReactNode;
|
|
157
|
+
/** Accessible label for the message; defaults to "You said" / "Assistant said". */
|
|
158
|
+
name?: string;
|
|
159
|
+
status?: 'sending' | 'error';
|
|
160
|
+
/** With status="error": renders a Retry text button. */
|
|
161
|
+
onRetry?: () => void;
|
|
162
|
+
messages?: Partial<MessageStrings>;
|
|
163
|
+
}
|
|
164
|
+
declare const MessageBubble: React.ForwardRefExoticComponent<MessageBubbleProps & React.RefAttributes<HTMLElement>>;
|
|
165
|
+
type Feedback = 'up' | 'down' | null;
|
|
166
|
+
interface MessageActionsProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
167
|
+
/** Text placed on the clipboard by Copy. */
|
|
168
|
+
text?: string;
|
|
169
|
+
/** Set false to hide Copy. @default true */
|
|
170
|
+
copy?: boolean;
|
|
171
|
+
feedback?: Feedback;
|
|
172
|
+
defaultFeedback?: Feedback;
|
|
173
|
+
/** Shows thumbs up/down when provided. */
|
|
174
|
+
onFeedback?: (feedback: Feedback) => void;
|
|
175
|
+
/** Shows Regenerate when provided. */
|
|
176
|
+
onRegenerate?: () => void;
|
|
177
|
+
messages?: Partial<MessageStrings>;
|
|
178
|
+
}
|
|
179
|
+
/** Copy / feedback / regenerate row. Fades in on hover or focus of the parent MessageBubble on pointer devices. */
|
|
180
|
+
declare const MessageActions: React.ForwardRefExoticComponent<MessageActionsProps & React.RefAttributes<HTMLDivElement>>;
|
|
181
|
+
|
|
182
|
+
interface CitationSource {
|
|
183
|
+
title: string;
|
|
184
|
+
url: string;
|
|
185
|
+
/** Shown instead of the URL's hostname. */
|
|
186
|
+
domain?: string;
|
|
187
|
+
snippet?: string;
|
|
188
|
+
/** Favicon URL (http/https only; anything else falls back to a letter). */
|
|
189
|
+
favicon?: string;
|
|
190
|
+
}
|
|
191
|
+
interface CitationMessages {
|
|
192
|
+
/** SourceList heading. */
|
|
193
|
+
sources: string;
|
|
194
|
+
/** Prefix of a citation's accessible name ("Source 1: <title>"). */
|
|
195
|
+
source: (index: number) => string;
|
|
196
|
+
}
|
|
197
|
+
/** Returns the normalised href for http(s) URLs, otherwise undefined (javascript:, data:, relative…). */
|
|
198
|
+
declare function safeUrl(url: string | undefined): string | undefined;
|
|
199
|
+
interface CitationProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
|
|
200
|
+
/** 1-based number shown in the marker. */
|
|
201
|
+
index: number;
|
|
202
|
+
source: CitationSource;
|
|
203
|
+
messages?: Partial<CitationMessages>;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Inline numbered source marker for running text. Links to the source (http/https
|
|
207
|
+
* only — anything else renders as plain text) and previews it in a HoverCard on
|
|
208
|
+
* hover or focus.
|
|
209
|
+
*/
|
|
210
|
+
declare const Citation: React.ForwardRefExoticComponent<CitationProps & React.RefAttributes<HTMLElement>>;
|
|
211
|
+
interface SourceChipProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
|
|
212
|
+
source: CitationSource;
|
|
213
|
+
}
|
|
214
|
+
/** Compact source row item: favicon, domain and a truncated title, linking to the source. */
|
|
215
|
+
declare const SourceChip: React.ForwardRefExoticComponent<SourceChipProps & React.RefAttributes<HTMLElement>>;
|
|
216
|
+
interface SourceListProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
|
|
217
|
+
sources: CitationSource[];
|
|
218
|
+
messages?: Partial<CitationMessages>;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* "Sources" heading plus a row of SourceChips: a horizontal scroll-snap row when
|
|
222
|
+
* narrow, a wrapping grid once its own container is 480px or wider.
|
|
223
|
+
*/
|
|
224
|
+
declare const SourceList: React.ForwardRefExoticComponent<SourceListProps & React.RefAttributes<HTMLElement>>;
|
|
225
|
+
|
|
226
|
+
/** Every user-facing default string in @nexub/react. Explicit component props still win. */
|
|
227
|
+
interface NexubMessages {
|
|
228
|
+
close: string;
|
|
229
|
+
dismissAlert: string;
|
|
230
|
+
dismissBanner: string;
|
|
231
|
+
remove: string;
|
|
232
|
+
removeFilter: string;
|
|
233
|
+
removeFile: (fileName: string) => string;
|
|
234
|
+
uploadFiles: string;
|
|
235
|
+
clickToUpload: string;
|
|
236
|
+
orDragAndDrop: string;
|
|
237
|
+
clearSearch: string;
|
|
238
|
+
showPassword: string;
|
|
239
|
+
hidePassword: string;
|
|
240
|
+
increment: string;
|
|
241
|
+
decrement: string;
|
|
242
|
+
loading: string;
|
|
243
|
+
pagination: string;
|
|
244
|
+
previousPage: string;
|
|
245
|
+
nextPage: string;
|
|
246
|
+
goToPage: (page: number) => string;
|
|
247
|
+
breadcrumb: string;
|
|
248
|
+
breadcrumbMore: string;
|
|
249
|
+
moreCount: (count: number) => string;
|
|
250
|
+
rating: string;
|
|
251
|
+
ratingStars: (stars: number) => string;
|
|
252
|
+
mainNavigation: string;
|
|
253
|
+
sidebar: string;
|
|
254
|
+
searchPlaceholder: string;
|
|
255
|
+
noResults: string;
|
|
256
|
+
pickDate: string;
|
|
257
|
+
pickDateRange: string;
|
|
258
|
+
/** Calendar nav and day labels (DatePicker, DateRangePicker). */
|
|
259
|
+
previousMonth: string;
|
|
260
|
+
nextMonth: string;
|
|
261
|
+
calendarNavigation: string;
|
|
262
|
+
/** Wraps a day's formatted date when it is today. */
|
|
263
|
+
todayDate: (date: string) => string;
|
|
264
|
+
/** Wraps a day's (possibly today-wrapped) label when it is selected. */
|
|
265
|
+
selectedDate: (label: string) => string;
|
|
266
|
+
commandPalette: string;
|
|
267
|
+
/** Toaster region label; Radix replaces `{hotkey}`. */
|
|
268
|
+
notifications: string;
|
|
269
|
+
undo: string;
|
|
270
|
+
promptLabel: string;
|
|
271
|
+
sendMessage: string;
|
|
272
|
+
stopGenerating: string;
|
|
273
|
+
promptHint: string;
|
|
274
|
+
thinking: string;
|
|
275
|
+
youSaid: string;
|
|
276
|
+
assistantSaid: string;
|
|
277
|
+
failedToSend: string;
|
|
278
|
+
retry: string;
|
|
279
|
+
copy: string;
|
|
280
|
+
copied: string;
|
|
281
|
+
goodResponse: string;
|
|
282
|
+
badResponse: string;
|
|
283
|
+
regenerate: string;
|
|
284
|
+
sources: string;
|
|
285
|
+
source: (index: number) => string;
|
|
286
|
+
jumpToLatest: string;
|
|
287
|
+
conversation: string;
|
|
288
|
+
}
|
|
289
|
+
declare const defaultMessages: NexubMessages;
|
|
290
|
+
type Direction = 'ltr' | 'rtl';
|
|
291
|
+
interface NexubProviderProps {
|
|
292
|
+
/** BCP 47 locale for Intl formatting. @default 'en' */
|
|
293
|
+
locale?: string;
|
|
294
|
+
/** Text direction for Radix primitives. @default derived from `locale` */
|
|
295
|
+
dir?: Direction;
|
|
296
|
+
/**
|
|
297
|
+
* date-fns Locale for calendars (month/weekday names, week start, trigger text).
|
|
298
|
+
* Import only the one you need, e.g. `import { fr } from 'date-fns/locale/fr'`.
|
|
299
|
+
*/
|
|
300
|
+
dateLocale?: Locale;
|
|
301
|
+
/** Overrides for the default English strings. */
|
|
302
|
+
messages?: Partial<NexubMessages>;
|
|
303
|
+
children?: React.ReactNode;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Locale, direction and translated strings for every @nexub/react component.
|
|
307
|
+
* It does not set `dir`/`lang` on <html> — the app does that (as it renders
|
|
308
|
+
* <html>), so the page and CSS `rtl:` variants agree with this provider.
|
|
309
|
+
*/
|
|
310
|
+
declare function NexubProvider({ locale, dir, dateLocale, messages, children }: NexubProviderProps): React.JSX.Element;
|
|
311
|
+
/** The active strings: defaults merged with the nearest NexubProvider's overrides. */
|
|
312
|
+
declare function useNexubMessages(): NexubMessages;
|
|
313
|
+
/** The active locale (default 'en'), direction and optional date-fns Locale. */
|
|
314
|
+
declare function useLocale(): {
|
|
315
|
+
locale: string;
|
|
316
|
+
dir: Direction;
|
|
317
|
+
dateLocale?: Locale;
|
|
318
|
+
};
|
|
319
|
+
|
|
55
320
|
type ToneValue = 'neutral' | 'info' | 'success' | 'warning' | 'danger' | 'leap' | 'bookub' | 'payub' | 'founderub';
|
|
56
321
|
declare const buttonVariants: (props?: ({
|
|
57
|
-
variant?: "accent" | "text" | "link" | "glass" | "
|
|
322
|
+
variant?: "accent" | "text" | "link" | "glass" | "ghost" | "outline" | "subtle" | "filled" | "tonal" | "outlined" | "primary" | "secondary" | "destructive" | null | undefined;
|
|
58
323
|
size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
59
324
|
fullWidth?: boolean | null | undefined;
|
|
60
325
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
326
|
+
type ButtonStatus = 'idle' | 'loading' | 'success' | 'error';
|
|
61
327
|
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
62
328
|
tone?: ToneValue;
|
|
329
|
+
/** Async feedback. `loading` blocks clicks (aria-disabled, focus kept),
|
|
330
|
+
* `success` draws a check, `error` shakes once. Not applied with `asChild`. */
|
|
331
|
+
status?: ButtonStatus;
|
|
332
|
+
/** Alias for `status="loading"`. */
|
|
63
333
|
loading?: boolean;
|
|
334
|
+
/** Announced while loading. @default 'Loading' */
|
|
335
|
+
loadingLabel?: string;
|
|
336
|
+
/** Announced on success; when given it also replaces the visible label. @default 'Done' */
|
|
337
|
+
successLabel?: string;
|
|
338
|
+
/** Announced on error. @default 'Something went wrong' */
|
|
339
|
+
errorLabel?: string;
|
|
64
340
|
fullWidth?: boolean;
|
|
65
341
|
leadingIcon?: React.ReactNode;
|
|
66
342
|
trailingIcon?: React.ReactNode;
|
|
@@ -89,7 +365,7 @@ interface SplitButtonProps extends Omit<ButtonProps, 'asChild' | 'trailingIcon'
|
|
|
89
365
|
declare const SplitButton: React.ForwardRefExoticComponent<SplitButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
90
366
|
|
|
91
367
|
declare const iconButtonVariants: (props?: ({
|
|
92
|
-
variant?: "solid" | "
|
|
368
|
+
variant?: "solid" | "ghost" | "outline" | "subtle" | null | undefined;
|
|
93
369
|
size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
94
370
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
95
371
|
interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof iconButtonVariants> {
|
|
@@ -174,6 +450,8 @@ interface AmountProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'child
|
|
|
174
450
|
tone?: 'neutral' | 'auto';
|
|
175
451
|
/** e.g. 'exceptZero' to show "+" on gains. */
|
|
176
452
|
signDisplay?: Intl.NumberFormatOptions['signDisplay'];
|
|
453
|
+
/** Roll digits to new values (NumberTicker). The first render never animates. */
|
|
454
|
+
animate?: boolean;
|
|
177
455
|
}
|
|
178
456
|
/**
|
|
179
457
|
* A money figure, honest by default (Calm Depth §3.5): tabular numerals, the
|
|
@@ -181,6 +459,27 @@ interface AmountProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'child
|
|
|
181
459
|
*/
|
|
182
460
|
declare const Amount: React.ForwardRefExoticComponent<AmountProps & React.RefAttributes<HTMLSpanElement>>;
|
|
183
461
|
|
|
462
|
+
/** A run of already-formatted text with its own class (Amount's muted symbol and minor units). */
|
|
463
|
+
interface NumberTickerPart {
|
|
464
|
+
value: string;
|
|
465
|
+
className?: string;
|
|
466
|
+
}
|
|
467
|
+
interface NumberTickerProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
468
|
+
/** A number (formatted with `format`/`locale`), an already-formatted string, or styled parts. */
|
|
469
|
+
value: number | string | readonly NumberTickerPart[];
|
|
470
|
+
format?: Intl.NumberFormatOptions;
|
|
471
|
+
/** BCP 47 locale. Defaults to the user's. */
|
|
472
|
+
locale?: string;
|
|
473
|
+
/** Announce changes to screen readers. */
|
|
474
|
+
'aria-live'?: 'off' | 'polite';
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* A rolling number: each digit is a 0–9 strip that slides to its value on the
|
|
478
|
+
* spatial spring; separators, symbols and signs stay static. The first render
|
|
479
|
+
* shows the value as-is; only later changes animate.
|
|
480
|
+
*/
|
|
481
|
+
declare const NumberTicker: React.ForwardRefExoticComponent<NumberTickerProps & React.RefAttributes<HTMLSpanElement>>;
|
|
482
|
+
|
|
184
483
|
interface SearchInputProps extends Omit<InputProps, 'leadingIcon' | 'trailingIcon'> {
|
|
185
484
|
onClear?: () => void;
|
|
186
485
|
}
|
|
@@ -225,7 +524,7 @@ interface FormFieldRootProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
225
524
|
required?: boolean;
|
|
226
525
|
disabled?: boolean;
|
|
227
526
|
}
|
|
228
|
-
declare function FieldLabel({ className, children, ...props }: React.ComponentProps<typeof Label>):
|
|
527
|
+
declare function FieldLabel({ className, children, ...props }: React.ComponentProps<typeof Label>): React.JSX.Element;
|
|
229
528
|
declare namespace FieldLabel {
|
|
230
529
|
var displayName: string;
|
|
231
530
|
}
|
|
@@ -235,11 +534,11 @@ declare function Control({ children }: {
|
|
|
235
534
|
declare namespace Control {
|
|
236
535
|
var displayName: string;
|
|
237
536
|
}
|
|
238
|
-
declare function Description({ className, children, ...props }: React.ComponentProps<typeof HelperText>):
|
|
537
|
+
declare function Description({ className, children, ...props }: React.ComponentProps<typeof HelperText>): React.JSX.Element;
|
|
239
538
|
declare namespace Description {
|
|
240
539
|
var displayName: string;
|
|
241
540
|
}
|
|
242
|
-
declare function FieldError({ className, children, ...props }: React.ComponentProps<typeof FormError>):
|
|
541
|
+
declare function FieldError({ className, children, ...props }: React.ComponentProps<typeof FormError>): React.JSX.Element | null;
|
|
243
542
|
declare namespace FieldError {
|
|
244
543
|
var displayName: string;
|
|
245
544
|
}
|
|
@@ -297,7 +596,14 @@ declare const tagVariants: (props?: ({
|
|
|
297
596
|
interface TagProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof tagVariants> {
|
|
298
597
|
tone?: ToneValue;
|
|
299
598
|
}
|
|
300
|
-
/**
|
|
599
|
+
/**
|
|
600
|
+
* Static metadata label (status, category, version). Shape: `rounded-shape-min`,
|
|
601
|
+
* a squared label, so it never reads as tappable. It has no state layer or
|
|
602
|
+
* hover/press affordance on purpose; anything a user toggles, filters by or
|
|
603
|
+
* removes is a `Chip` (control-shaped, `nx-state-layer`, optional remove button).
|
|
604
|
+
*
|
|
605
|
+
* @deprecated Use `Badge` instead: `<Badge size="sm">` covers it. Will be removed in 1.0.
|
|
606
|
+
*/
|
|
301
607
|
declare const Tag: React.ForwardRefExoticComponent<TagProps & React.RefAttributes<HTMLSpanElement>>;
|
|
302
608
|
|
|
303
609
|
interface EyebrowChipProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
@@ -335,9 +641,72 @@ declare const cardVariants: (props?: ({
|
|
|
335
641
|
interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
|
|
336
642
|
tone?: ToneValue;
|
|
337
643
|
surface?: 'solid' | 'glass';
|
|
644
|
+
/** `sheen`: a soft light follows the pointer (opt-in; off for touch and reduced motion). */
|
|
645
|
+
effect?: 'none' | 'sheen';
|
|
338
646
|
asChild?: boolean;
|
|
339
647
|
}
|
|
340
648
|
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
649
|
+
interface CardLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
650
|
+
asChild?: boolean;
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* Makes the whole card one link (the "stretched link" pattern): put it around
|
|
654
|
+
* the card's title. Its ::after covers the card, so the link has one
|
|
655
|
+
* accessible name and the focus ring shows on the card. Give other
|
|
656
|
+
* interactive elements inside the card `relative z-[1]` to keep them clickable.
|
|
657
|
+
*/
|
|
658
|
+
declare const CardLink: React.ForwardRefExoticComponent<CardLinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
659
|
+
|
|
660
|
+
interface SelectableCardContentProps {
|
|
661
|
+
/** Leading icon. */
|
|
662
|
+
icon?: React.ReactNode;
|
|
663
|
+
/** The card's accessible name. */
|
|
664
|
+
title: React.ReactNode;
|
|
665
|
+
/** Secondary text, exposed as the accessible description. */
|
|
666
|
+
description?: React.ReactNode;
|
|
667
|
+
/** Extra content under the description. Keep it non-interactive: the whole card is the control. */
|
|
668
|
+
children?: React.ReactNode;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
interface RadioCardGroupProps extends RadixRadioGroup.RadioGroupProps {
|
|
672
|
+
/** Grid columns (collapses to one column on narrow screens). */
|
|
673
|
+
columns?: 1 | 2 | 3 | 4;
|
|
674
|
+
}
|
|
675
|
+
declare const RadioCardGroup: React.ForwardRefExoticComponent<RadioCardGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
676
|
+
interface RadioCardProps extends Omit<RadixRadioGroup.RadioGroupItemProps, 'title' | 'children'>, SelectableCardContentProps {
|
|
677
|
+
}
|
|
678
|
+
declare const RadioCard: React.ForwardRefExoticComponent<RadioCardProps & React.RefAttributes<HTMLButtonElement>>;
|
|
679
|
+
|
|
680
|
+
interface CheckboxCardProps extends Omit<RadixCheckbox.CheckboxProps, 'title' | 'children' | 'checked' | 'defaultChecked' | 'onCheckedChange'>, SelectableCardContentProps {
|
|
681
|
+
checked?: boolean;
|
|
682
|
+
defaultChecked?: boolean;
|
|
683
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
684
|
+
}
|
|
685
|
+
declare const CheckboxCard: React.ForwardRefExoticComponent<CheckboxCardProps & React.RefAttributes<HTMLButtonElement>>;
|
|
686
|
+
|
|
687
|
+
type MediaCardRatio = '16/9' | '4/3' | '1/1' | '3/4';
|
|
688
|
+
interface MediaCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
689
|
+
src: string;
|
|
690
|
+
/** Required. Pass '' when the image is decorative. */
|
|
691
|
+
alt: string;
|
|
692
|
+
/** @default '16/9' */
|
|
693
|
+
ratio?: MediaCardRatio;
|
|
694
|
+
title?: React.ReactNode;
|
|
695
|
+
description?: React.ReactNode;
|
|
696
|
+
eyebrow?: React.ReactNode;
|
|
697
|
+
/** Makes the whole card one link, stretched from the title (so needs `title`). */
|
|
698
|
+
href?: string;
|
|
699
|
+
/** Actions; they stay clickable above the stretched link. */
|
|
700
|
+
children?: React.ReactNode;
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* An image card with a glass caption over a soft bottom scrim.
|
|
704
|
+
*
|
|
705
|
+
* Layers stack in one grid cell rather than with absolute positioning: the
|
|
706
|
+
* glass panel's backdrop-filter would otherwise become the containing block of
|
|
707
|
+
* the stretched link's ::after, shrinking the hit area to the caption.
|
|
708
|
+
*/
|
|
709
|
+
declare const MediaCard: React.ForwardRefExoticComponent<MediaCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
341
710
|
|
|
342
711
|
declare const alertVariants: (props?: ({
|
|
343
712
|
tone?: "neutral" | "info" | "success" | "warning" | "danger" | "leap" | "bookub" | "payub" | "founderub" | null | undefined;
|
|
@@ -380,6 +749,7 @@ declare const skeletonVariants: (props?: ({
|
|
|
380
749
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
381
750
|
interface SkeletonProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof skeletonVariants> {
|
|
382
751
|
shape?: 'line' | 'rect' | 'circle';
|
|
752
|
+
/** Arbitrary size; rendered as inline style. Omit to use the shape's default classes. */
|
|
383
753
|
width?: string | number;
|
|
384
754
|
height?: string | number;
|
|
385
755
|
animated?: boolean;
|
|
@@ -531,7 +901,7 @@ interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
531
901
|
declare const AspectRatio: React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
|
|
532
902
|
|
|
533
903
|
declare const headingVariants: (props?: ({
|
|
534
|
-
size?: "display" | "
|
|
904
|
+
size?: "display" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | null | undefined;
|
|
535
905
|
weight?: "bold" | "regular" | "medium" | "semibold" | "extrabold" | null | undefined;
|
|
536
906
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
537
907
|
type HeadingSize = 'display' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
@@ -547,7 +917,7 @@ declare const Heading: React.ForwardRefExoticComponent<HeadingProps & React.RefA
|
|
|
547
917
|
|
|
548
918
|
declare const textVariants: (props?: ({
|
|
549
919
|
size?: "body" | "label" | "caption" | "body-lg" | "body-sm" | null | undefined;
|
|
550
|
-
tone?: "default" | "
|
|
920
|
+
tone?: "default" | "subtle" | "secondary" | "muted" | "inverse" | null | undefined;
|
|
551
921
|
weight?: "bold" | "regular" | "medium" | "semibold" | null | undefined;
|
|
552
922
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
553
923
|
interface TextProps extends React.HTMLAttributes<HTMLParagraphElement>, VariantProps<typeof textVariants> {
|
|
@@ -633,17 +1003,18 @@ declare const Popover: {
|
|
|
633
1003
|
Close: React.ForwardRefExoticComponent<RadixPopover.PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
634
1004
|
};
|
|
635
1005
|
|
|
636
|
-
declare
|
|
1006
|
+
declare function Provider$1({ delayDuration, skipDelayDuration, ...props }: RadixTooltip.TooltipProviderProps): React.JSX.Element;
|
|
637
1007
|
interface TooltipProps {
|
|
638
1008
|
label: string;
|
|
639
1009
|
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
640
1010
|
delayDuration?: number;
|
|
641
1011
|
children: React.ReactElement;
|
|
642
1012
|
}
|
|
643
|
-
declare function Tooltip({ label, side, delayDuration, children }: TooltipProps):
|
|
1013
|
+
declare function Tooltip({ label, side, delayDuration, children }: TooltipProps): React.JSX.Element;
|
|
644
1014
|
|
|
1015
|
+
declare function Root$1({ openDelay, closeDelay, ...props }: RadixHoverCard.HoverCardProps): React.JSX.Element;
|
|
645
1016
|
declare const HoverCard: {
|
|
646
|
-
Root:
|
|
1017
|
+
Root: typeof Root$1;
|
|
647
1018
|
Trigger: React.ForwardRefExoticComponent<RadixHoverCard.HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
648
1019
|
Content: React.ForwardRefExoticComponent<RadixHoverCard.HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
649
1020
|
Arrow: React.ForwardRefExoticComponent<RadixHoverCard.HoverCardArrowProps & React.RefAttributes<SVGSVGElement>>;
|
|
@@ -771,7 +1142,7 @@ interface DrawerRootProps {
|
|
|
771
1142
|
container?: HTMLElement | null;
|
|
772
1143
|
autoFocus?: boolean;
|
|
773
1144
|
}
|
|
774
|
-
declare function Root({ scrollLock, onOpenChange, ...props }: DrawerRootProps):
|
|
1145
|
+
declare function Root({ scrollLock, onOpenChange, ...props }: DrawerRootProps): React.JSX.Element;
|
|
775
1146
|
declare namespace Root {
|
|
776
1147
|
var displayName: string;
|
|
777
1148
|
}
|
|
@@ -909,7 +1280,7 @@ interface AutocompleteProps {
|
|
|
909
1280
|
loading?: boolean;
|
|
910
1281
|
className?: string;
|
|
911
1282
|
}
|
|
912
|
-
declare function Autocomplete({ options, value, onValueChange, placeholder, emptyText, loading, className, }: AutocompleteProps):
|
|
1283
|
+
declare function Autocomplete({ options, value, onValueChange, placeholder, emptyText, loading, className, }: AutocompleteProps): React.JSX.Element;
|
|
913
1284
|
declare namespace Autocomplete {
|
|
914
1285
|
var displayName: string;
|
|
915
1286
|
}
|
|
@@ -1009,8 +1380,13 @@ declare const Toolbar: {
|
|
|
1009
1380
|
ToggleItem: React.ForwardRefExoticComponent<RadixToolbar.ToolbarToggleItemProps & React.RefAttributes<HTMLButtonElement>>;
|
|
1010
1381
|
};
|
|
1011
1382
|
|
|
1383
|
+
/** Swipe to dismiss toward the viewport's inline-end edge: right, or left in RTL. */
|
|
1384
|
+
declare function Provider({ swipeDirection, ...props }: RadixToast.ToastProviderProps): React.JSX.Element;
|
|
1385
|
+
declare namespace Provider {
|
|
1386
|
+
var displayName: string;
|
|
1387
|
+
}
|
|
1012
1388
|
declare const Toast: {
|
|
1013
|
-
Provider:
|
|
1389
|
+
Provider: typeof Provider;
|
|
1014
1390
|
Viewport: React.ForwardRefExoticComponent<RadixToast.ToastViewportProps & React.RefAttributes<HTMLOListElement>>;
|
|
1015
1391
|
Root: React.ForwardRefExoticComponent<RadixToast.ToastProps & React.RefAttributes<HTMLLIElement>>;
|
|
1016
1392
|
Title: React.ForwardRefExoticComponent<RadixToast.ToastTitleProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1019,7 +1395,23 @@ declare const Toast: {
|
|
|
1019
1395
|
Close: React.ForwardRefExoticComponent<RadixToast.ToastCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
1020
1396
|
};
|
|
1021
1397
|
|
|
1022
|
-
|
|
1398
|
+
interface ToasterProps {
|
|
1399
|
+
/** Always show the toasts as a list instead of a collapsed stack. */
|
|
1400
|
+
expand?: boolean;
|
|
1401
|
+
/** How many toasts are visible at once; older ones are visually hidden. Default 3. */
|
|
1402
|
+
visibleToasts?: number;
|
|
1403
|
+
}
|
|
1404
|
+
/**
|
|
1405
|
+
* Sonner-style stack. Collapsed: the newest toast in front, older ones peek
|
|
1406
|
+
* out below it, scaled down. Hovering or focusing the viewport fans them out
|
|
1407
|
+
* into a list. Radix pauses every toast's timer while the viewport is hovered
|
|
1408
|
+
* or focused — the same condition that expands the stack.
|
|
1409
|
+
*
|
|
1410
|
+
* Measured heights reach CSS as custom properties set through the CSSOM
|
|
1411
|
+
* (--nx-toast-index / --nx-toast-offset per toast, --nx-front-height and
|
|
1412
|
+
* --nx-stack-height on the viewport), never a style attribute (strict CSP).
|
|
1413
|
+
*/
|
|
1414
|
+
declare function Toaster({ expand, visibleToasts }: ToasterProps): React.JSX.Element;
|
|
1023
1415
|
declare namespace Toaster {
|
|
1024
1416
|
var displayName: string;
|
|
1025
1417
|
}
|
|
@@ -1035,15 +1427,35 @@ interface ToastItem {
|
|
|
1035
1427
|
label: string;
|
|
1036
1428
|
onClick: () => void;
|
|
1037
1429
|
};
|
|
1430
|
+
/** An Undo action; its label defaults to the `undo` message. Set by `toast.undoable`. */
|
|
1431
|
+
undo?: {
|
|
1432
|
+
label?: string;
|
|
1433
|
+
onUndo: () => void;
|
|
1434
|
+
};
|
|
1435
|
+
/** Called once when the toast closes, however it closes (timer, swipe, close, action, dismiss). */
|
|
1436
|
+
onClose?: () => void;
|
|
1437
|
+
}
|
|
1438
|
+
interface UndoableToastOptions {
|
|
1439
|
+
/** Called when Undo is clicked; the toast then closes. */
|
|
1440
|
+
onUndo: () => void;
|
|
1441
|
+
/** Called once when the toast closes any other way — the change is final. */
|
|
1442
|
+
onCommit?: () => void;
|
|
1443
|
+
/** @default the `undo` message ('Undo') */
|
|
1444
|
+
undoLabel?: string;
|
|
1445
|
+
description?: string;
|
|
1446
|
+
duration?: number;
|
|
1038
1447
|
}
|
|
1039
1448
|
declare function useToastStore(): ToastItem[];
|
|
1040
1449
|
declare function dismiss(id?: string): void;
|
|
1450
|
+
declare function undoable(title: string, { onUndo, onCommit, undoLabel, description, duration }: UndoableToastOptions): string;
|
|
1041
1451
|
declare const toast: {
|
|
1042
1452
|
success: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
|
|
1043
1453
|
error: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
|
|
1044
1454
|
info: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
|
|
1045
1455
|
warning: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
|
|
1046
1456
|
custom: (title: string, opts?: Partial<Omit<ToastItem, "id" | "title" | "tone">>) => string;
|
|
1457
|
+
/** A toast with an Undo action: Undo calls `onUndo`; any other close calls `onCommit`, once. */
|
|
1458
|
+
undoable: typeof undoable;
|
|
1047
1459
|
dismiss: typeof dismiss;
|
|
1048
1460
|
};
|
|
1049
1461
|
|
|
@@ -1119,11 +1531,11 @@ declare const Breadcrumb: {
|
|
|
1119
1531
|
({ children, className, }: {
|
|
1120
1532
|
children?: React.ReactNode;
|
|
1121
1533
|
className?: string;
|
|
1122
|
-
}):
|
|
1534
|
+
}): React.JSX.Element;
|
|
1123
1535
|
displayName: string;
|
|
1124
1536
|
};
|
|
1125
1537
|
Ellipsis: {
|
|
1126
|
-
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>):
|
|
1538
|
+
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
|
|
1127
1539
|
displayName: string;
|
|
1128
1540
|
};
|
|
1129
1541
|
};
|
|
@@ -1229,7 +1641,7 @@ interface DataTableProps<TData> extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
1229
1641
|
pageSize?: number;
|
|
1230
1642
|
};
|
|
1231
1643
|
}
|
|
1232
|
-
declare function DataTable<TData>({ columns, data, enableSorting, enableRowSelection, pagination, className, ...props }: DataTableProps<TData>):
|
|
1644
|
+
declare function DataTable<TData>({ columns, data, enableSorting, enableRowSelection, pagination, className, ...props }: DataTableProps<TData>): React.JSX.Element;
|
|
1233
1645
|
|
|
1234
1646
|
declare const EmptyState: {
|
|
1235
1647
|
Root: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1274,6 +1686,8 @@ interface DatePickerProps {
|
|
|
1274
1686
|
id?: string;
|
|
1275
1687
|
/** Field name for screen readers; the current value is appended. */
|
|
1276
1688
|
'aria-label'?: string;
|
|
1689
|
+
/** date-fns Locale for the calendar and trigger text; wins over NexubProvider's `dateLocale`. */
|
|
1690
|
+
locale?: Locale;
|
|
1277
1691
|
}
|
|
1278
1692
|
declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
1279
1693
|
|
|
@@ -1289,6 +1703,8 @@ interface DateRangePickerProps {
|
|
|
1289
1703
|
id?: string;
|
|
1290
1704
|
/** Field name for screen readers; the current value is appended. */
|
|
1291
1705
|
'aria-label'?: string;
|
|
1706
|
+
/** date-fns Locale for the calendar and trigger text; wins over NexubProvider's `dateLocale`. */
|
|
1707
|
+
locale?: Locale;
|
|
1292
1708
|
}
|
|
1293
1709
|
declare const DateRangePicker: React.ForwardRefExoticComponent<DateRangePickerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
1294
1710
|
|
|
@@ -1324,7 +1740,7 @@ interface ThemeProviderProps {
|
|
|
1324
1740
|
/** localStorage key for the glass intensity. Defaults to 'nexub-glass'. */
|
|
1325
1741
|
glassStorageKey?: string;
|
|
1326
1742
|
}
|
|
1327
|
-
declare function ThemeProvider({ children, defaultTheme, storageKey, defaultGlass, glassStorageKey, }: ThemeProviderProps):
|
|
1743
|
+
declare function ThemeProvider({ children, defaultTheme, storageKey, defaultGlass, glassStorageKey, }: ThemeProviderProps): React.JSX.Element;
|
|
1328
1744
|
declare function useTheme(): ThemeContextValue;
|
|
1329
1745
|
interface ThemeScriptProps {
|
|
1330
1746
|
/** Must match ThemeProvider's `storageKey`. Defaults to 'nexub-theme'. */
|
|
@@ -1340,7 +1756,7 @@ interface ThemeScriptProps {
|
|
|
1340
1756
|
* Applies the stored theme before first paint, so there is no light/dark flash.
|
|
1341
1757
|
* Render it in `<head>` (or at the top of `<body>`) on server-rendered pages.
|
|
1342
1758
|
*/
|
|
1343
|
-
declare function ThemeScript({ storageKey, productStorageKey, glassStorageKey, nonce }: ThemeScriptProps):
|
|
1759
|
+
declare function ThemeScript({ storageKey, productStorageKey, glassStorageKey, nonce }: ThemeScriptProps): React.JSX.Element;
|
|
1344
1760
|
|
|
1345
1761
|
type MotionDuration = 'instant' | 'fast' | 'normal' | 'slow' | 'slower';
|
|
1346
1762
|
type MotionEasing = 'linear' | 'in' | 'out' | 'in-out' | 'out-expo' | 'spring';
|
|
@@ -1448,4 +1864,4 @@ interface CollapseProps extends Omit<MotionBaseProps, 'easing'>, React.HTMLAttri
|
|
|
1448
1864
|
*/
|
|
1449
1865
|
declare const Collapse: React.ForwardRefExoticComponent<CollapseProps & React.RefAttributes<HTMLDivElement>>;
|
|
1450
1866
|
|
|
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 };
|
|
1867
|
+
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$1 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 };
|