@akhil-saxena/design-system 1.2.0 → 1.5.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/README.md +17 -17
- package/dist/chunk-34YNJKI2.js +231 -0
- package/dist/chunk-34YNJKI2.js.map +1 -0
- package/dist/hooks/index.d.ts +19 -1
- package/dist/hooks/index.js +22 -124
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +907 -64
- package/dist/index.js +3378 -335
- package/dist/index.js.map +1 -1
- package/dist/primitives.css +1197 -40
- package/dist/tokens.css +118 -32
- package/package.json +4 -2
- package/dist/chunk-FUXR6QZ3.js +0 -108
- package/dist/chunk-FUXR6QZ3.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import react__default, { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes,
|
|
2
|
+
import react__default, { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, CSSProperties, HTMLAttributes, ElementType, AnchorHTMLAttributes, TextareaHTMLAttributes, ChangeEvent, ReactElement, RefObject } from 'react';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
export { I as Icon, a as IconProps } from './Icon-XUp5t4PQ.js';
|
|
5
5
|
import { UniqueIdentifier } from '@dnd-kit/core';
|
|
@@ -51,6 +51,28 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
51
51
|
*/
|
|
52
52
|
declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
53
53
|
|
|
54
|
+
type OAuthProvider = "google" | "github" | "apple";
|
|
55
|
+
interface OAuthButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
56
|
+
/** OAuth provider — determines logo + default label. @default "google" */
|
|
57
|
+
provider?: OAuthProvider;
|
|
58
|
+
/** Override the button label (defaults to "Continue with {Provider}"). */
|
|
59
|
+
label?: string;
|
|
60
|
+
/** When true, renders inverted for dark surfaces. @default false */
|
|
61
|
+
dark?: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* OAuth provider button. Renders the provider's official logo + a label
|
|
65
|
+
* styled to match DS Button conventions (44px height, 9px radius, transitions).
|
|
66
|
+
*
|
|
67
|
+
* Hooks into press feedback via `.ds-atom-oauthbtn:active { transform: scale(.97); }`
|
|
68
|
+
* defined in primitives.css.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* <OAuthButton provider="google" type="submit" />
|
|
72
|
+
* <OAuthButton provider="github" dark />
|
|
73
|
+
*/
|
|
74
|
+
declare const OAuthButton: react.ForwardRefExoticComponent<OAuthButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
75
|
+
|
|
54
76
|
interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "prefix"> {
|
|
55
77
|
/** When true, applies error-state border color to the input or wrapper. */
|
|
56
78
|
error?: boolean;
|
|
@@ -65,6 +87,303 @@ interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "pr
|
|
|
65
87
|
}
|
|
66
88
|
declare const TextInput: react.ForwardRefExoticComponent<TextInputProps & react.RefAttributes<HTMLInputElement>>;
|
|
67
89
|
|
|
90
|
+
interface InlineEditFieldProps {
|
|
91
|
+
/** Current display value. */
|
|
92
|
+
value: string;
|
|
93
|
+
/**
|
|
94
|
+
* Called with the new value on commit (Enter, ⌘Enter for multiline, or blur).
|
|
95
|
+
* Return a Promise to trigger the saving state.
|
|
96
|
+
* If the Promise rejects, component enters error state with rejection message.
|
|
97
|
+
*/
|
|
98
|
+
onSave: (next: string) => void | Promise<void>;
|
|
99
|
+
/** When true, renders a Textarea instead of a single-line TextInput.
|
|
100
|
+
* @default false
|
|
101
|
+
*/
|
|
102
|
+
multiline?: boolean;
|
|
103
|
+
/** Placeholder shown in idle state when value is empty.
|
|
104
|
+
* Rendered as an italic span with `var(--ink-4)` color.
|
|
105
|
+
*/
|
|
106
|
+
placeholder?: string;
|
|
107
|
+
/** When true, the idle span is not clickable.
|
|
108
|
+
* @default false
|
|
109
|
+
*/
|
|
110
|
+
disabled?: boolean;
|
|
111
|
+
/** Maximum character length passed to the underlying input/textarea. */
|
|
112
|
+
maxLength?: number;
|
|
113
|
+
/**
|
|
114
|
+
* Accessible label for the trigger element in idle state and the underlying
|
|
115
|
+
* input in edit state. Required.
|
|
116
|
+
*/
|
|
117
|
+
ariaLabel: string;
|
|
118
|
+
/**
|
|
119
|
+
* Typography preset for edit-mode input. Controls font-family + matching
|
|
120
|
+
* size defaults. Does NOT affect idle mode — idle inherits from parent.
|
|
121
|
+
* - "default" — Inter, 13px, weight 500 (matches existing INPUT style object)
|
|
122
|
+
* - "mono" — var(--mono), 10.5px, weight 700, letter-spacing .12em, uppercase
|
|
123
|
+
* - "serif" — Newsreader, 14px, line-height 1.55
|
|
124
|
+
* @default "default"
|
|
125
|
+
*/
|
|
126
|
+
font?: "default" | "mono" | "serif";
|
|
127
|
+
className?: string;
|
|
128
|
+
style?: CSSProperties;
|
|
129
|
+
}
|
|
130
|
+
declare function InlineEditField({ value, onSave, multiline, placeholder, disabled, maxLength, ariaLabel, font, className, style, }: InlineEditFieldProps): react_jsx_runtime.JSX.Element;
|
|
131
|
+
|
|
132
|
+
interface InlineAddRowProps {
|
|
133
|
+
/** Placeholder shown in both the dashed trigger and the active input. */
|
|
134
|
+
placeholder?: string;
|
|
135
|
+
/** Called with the trimmed value when the user commits (Enter). */
|
|
136
|
+
onSave: (value: string) => void;
|
|
137
|
+
/** Keyboard hint rendered at the right edge of the active input. */
|
|
138
|
+
kbdHint?: string;
|
|
139
|
+
className?: string;
|
|
140
|
+
style?: CSSProperties;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* InlineAddRow — a dashed "+ add" affordance that expands into an inline text
|
|
144
|
+
* input on click. Enter commits (`onSave` with the trimmed value); Esc or blur
|
|
145
|
+
* discards. Use for "add a question / note / person / row" patterns where a full
|
|
146
|
+
* form is overkill.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* <InlineAddRow placeholder="Add a question…" onSave={(t) => addQuestion(t)} />
|
|
150
|
+
*/
|
|
151
|
+
declare const InlineAddRow: react.ForwardRefExoticComponent<InlineAddRowProps & react.RefAttributes<HTMLDivElement>>;
|
|
152
|
+
|
|
153
|
+
type EyebrowSize = "xs" | "sm" | "md";
|
|
154
|
+
type EyebrowTone = "ink-3" | "ink-4" | "amber";
|
|
155
|
+
interface EyebrowProps extends HTMLAttributes<HTMLSpanElement> {
|
|
156
|
+
/** Type-scale token. @default "sm" */
|
|
157
|
+
size?: EyebrowSize;
|
|
158
|
+
/** Override color (legacy — defaults to var(--ink-3)). Use `tone` for the
|
|
159
|
+
* declarative path. */
|
|
160
|
+
color?: string;
|
|
161
|
+
/** Tone token — emits a data-attr so CSS rules apply the color. */
|
|
162
|
+
tone?: EyebrowTone;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Mono-caps eyebrow / overline. Used as form field labels, hero kickers,
|
|
166
|
+
* section headers, and stage-chip captions.
|
|
167
|
+
*
|
|
168
|
+
* `tone` (declarative, CSS data-attr) is the preferred way to set color in
|
|
169
|
+
* new code; `color` (legacy inline override) still works for one-offs.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* <Eyebrow>FULL NAME</Eyebrow>
|
|
173
|
+
* <Eyebrow size="md" tone="amber">WELCOME BACK</Eyebrow>
|
|
174
|
+
*/
|
|
175
|
+
declare const Eyebrow: react.ForwardRefExoticComponent<EyebrowProps & react.RefAttributes<HTMLSpanElement>>;
|
|
176
|
+
|
|
177
|
+
type TextVariant = "body" | "small" | "caption" | "legal";
|
|
178
|
+
type TextElement = "p" | "span" | "div";
|
|
179
|
+
type TextSizeToken = "2xs" | "xs" | "sm" | "base" | "md" | "lg";
|
|
180
|
+
type TextWeightToken = "regular" | "medium" | "bold" | "black";
|
|
181
|
+
type TextTone = "ink" | "ink-2" | "ink-3" | "ink-4" | "amber" | "red" | "green";
|
|
182
|
+
type TextLeading = "tight" | "snug" | "normal" | "relaxed";
|
|
183
|
+
interface TextProps extends HTMLAttributes<HTMLElement> {
|
|
184
|
+
/** Legacy preset — drives inline style. @default "body" */
|
|
185
|
+
variant?: TextVariant;
|
|
186
|
+
/** Semantic element to render. @default "p" */
|
|
187
|
+
as?: TextElement;
|
|
188
|
+
/** Override color (legacy — defaults to tone for variant). Use `tone` for
|
|
189
|
+
* the declarative path. */
|
|
190
|
+
color?: string;
|
|
191
|
+
/** Override max-width — caps line length for readability. */
|
|
192
|
+
maxWidth?: number | string;
|
|
193
|
+
/** Type-scale token — emits data-attr; CSS applies font-size. */
|
|
194
|
+
size?: TextSizeToken;
|
|
195
|
+
/** Weight token — emits data-attr; CSS applies font-weight. */
|
|
196
|
+
weight?: TextWeightToken;
|
|
197
|
+
/** Color tone token — emits data-attr; CSS applies color. */
|
|
198
|
+
tone?: TextTone;
|
|
199
|
+
/** When true, swaps to var(--mono) family + letter-spacing. */
|
|
200
|
+
mono?: boolean;
|
|
201
|
+
/** Line-height token — overrides the default (relaxed). */
|
|
202
|
+
leading?: TextLeading;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Body text primitive. Two APIs coexist:
|
|
206
|
+
* - **Legacy:** `variant` preset drives inline style (body/small/caption/legal).
|
|
207
|
+
* - **Token/data-attr:** `size` + `tone` + `weight` + `mono` + `leading` all
|
|
208
|
+
* emit data-attrs; `primitives.css` resolves them. Use this for new code.
|
|
209
|
+
*
|
|
210
|
+
* The two are NOT exclusive — pass `variant` for the base + a `size`/`tone`
|
|
211
|
+
* override to tweak one axis.
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* <Text>Mark every step of your job search.</Text>
|
|
215
|
+
* <Text size="sm" tone="ink-3">Applied 3d ago</Text>
|
|
216
|
+
* <Text variant="caption" maxWidth={360}>Sent to alex@example.com…</Text>
|
|
217
|
+
*/
|
|
218
|
+
declare const Text: react.ForwardRefExoticComponent<TextProps & react.RefAttributes<HTMLElement>>;
|
|
219
|
+
|
|
220
|
+
type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
221
|
+
type HeadingSizeToken = "2xs" | "xs" | "sm" | "base" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl";
|
|
222
|
+
type HeadingWeightToken = "regular" | "medium" | "bold" | "black";
|
|
223
|
+
type HeadingTone = "ink" | "ink-2" | "ink-3" | "amber";
|
|
224
|
+
interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
225
|
+
/** Semantic heading level. @default 2 */
|
|
226
|
+
level?: HeadingLevel;
|
|
227
|
+
/** Visual size — either a px number (legacy, drives inline style) or a
|
|
228
|
+
* type-scale token ('2xs'..'4xl') which routes through the CSS data-attr
|
|
229
|
+
* path. @default 28
|
|
230
|
+
*/
|
|
231
|
+
size?: number | HeadingSizeToken;
|
|
232
|
+
/** Archivo weight — numeric (legacy) or token. @default 900 */
|
|
233
|
+
weight?: 500 | 600 | 700 | 800 | 900 | HeadingWeightToken;
|
|
234
|
+
/** Override color (legacy — defaults to var(--ink)). Use `tone` for the
|
|
235
|
+
* declarative path. */
|
|
236
|
+
color?: string;
|
|
237
|
+
/** Tone token — emits a data-attr so CSS rules apply the color. */
|
|
238
|
+
tone?: HeadingTone;
|
|
239
|
+
/** Override the rendered tag — useful when the visual size and the semantic
|
|
240
|
+
* level diverge (e.g. an `<h2>` styled as a small kicker). */
|
|
241
|
+
as?: ElementType;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Display heading primitive — for hero headlines and form headlines.
|
|
245
|
+
*
|
|
246
|
+
* Two APIs coexist:
|
|
247
|
+
* - **Legacy/inline:** `size={28}` (number) + `weight={900}` (number) drives
|
|
248
|
+
* inline style. Letter-spacing derives from size.
|
|
249
|
+
* - **Token/data-attr:** `size="2xl"` + `weight="black"` emit data-attrs;
|
|
250
|
+
* `primitives.css` applies font-size + font-weight from token vars. Use this
|
|
251
|
+
* for new code where the theme drives sizing.
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* <Heading level={1} size={72} weight={900}>Job search, organized.</Heading>
|
|
255
|
+
* <Heading level={2} size="2xl" weight="black" tone="amber">Settings</Heading>
|
|
256
|
+
*/
|
|
257
|
+
declare const Heading: react.ForwardRefExoticComponent<HeadingProps & react.RefAttributes<HTMLHeadingElement>>;
|
|
258
|
+
|
|
259
|
+
type DividerSpacing = "none" | "sm" | "md" | "lg" | "xl";
|
|
260
|
+
type DividerAccent = "dashed" | "amber";
|
|
261
|
+
interface DividerProps extends HTMLAttributes<HTMLDivElement> {
|
|
262
|
+
/** Optional centered label between two hairlines (e.g. "OR"). */
|
|
263
|
+
label?: ReactNode;
|
|
264
|
+
/** When true, renders vertically (height: 100%, width: 1px). @default false */
|
|
265
|
+
vertical?: boolean;
|
|
266
|
+
/** Override the hairline color (defaults to var(--rule)). */
|
|
267
|
+
color?: string;
|
|
268
|
+
/** Margin preset — data-attr-driven via primitives.css. When set, overrides
|
|
269
|
+
* the legacy default (no margin for horizontal, var(--space-3) horizontal
|
|
270
|
+
* for vertical). */
|
|
271
|
+
spacing?: DividerSpacing;
|
|
272
|
+
/** Accent style — `dashed` uses a dashed top-border, `amber` paints an
|
|
273
|
+
* amber-tinted 2px hairline. */
|
|
274
|
+
accent?: DividerAccent;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Hairline rule with an optional centered label.
|
|
278
|
+
*
|
|
279
|
+
* - Horizontal (default): `1px` rule across the row; label centered with
|
|
280
|
+
* monospace caps if provided (e.g. the "OR" between OAuth and email forms).
|
|
281
|
+
* - Vertical: `1px` rule fills the parent's height.
|
|
282
|
+
*
|
|
283
|
+
* New axes (data-attr driven):
|
|
284
|
+
* - `spacing` adds the bundle's margin presets.
|
|
285
|
+
* - `accent` swaps to dashed or amber-tinted stylings via primitives.css.
|
|
286
|
+
*
|
|
287
|
+
* @example
|
|
288
|
+
* <Divider />
|
|
289
|
+
* <Divider label="OR" spacing="md" />
|
|
290
|
+
* <Divider accent="amber" spacing="lg" />
|
|
291
|
+
*/
|
|
292
|
+
declare const Divider: react.ForwardRefExoticComponent<DividerProps & react.RefAttributes<HTMLDivElement>>;
|
|
293
|
+
|
|
294
|
+
type LinkVariant = "default" | "inline" | "footer" | "action" | "quiet";
|
|
295
|
+
interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
296
|
+
/** Style variant.
|
|
297
|
+
* - `default` — neutral inline link, amber on hover.
|
|
298
|
+
* - `inline` — body-text inline link, amber underline.
|
|
299
|
+
* - `footer` — small footer/cross-link.
|
|
300
|
+
* - `action` — bold action link with trailing arrow (e.g. "Sign in →").
|
|
301
|
+
* - `quiet` — muted, no underline until hover.
|
|
302
|
+
* @default "inline"
|
|
303
|
+
*/
|
|
304
|
+
variant?: LinkVariant;
|
|
305
|
+
/** Override color (inline). */
|
|
306
|
+
color?: string;
|
|
307
|
+
/** Override the rendered element. Use to attach Link styles to a `<button>`
|
|
308
|
+
* or any custom element. @default "a"
|
|
309
|
+
*/
|
|
310
|
+
as?: ElementType;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Text-style hyperlink primitive. Five variants cover the common surfaces:
|
|
314
|
+
* default (neutral), inline (body-text amber), footer (small cross-link),
|
|
315
|
+
* action (bold with arrow), quiet (muted, hover-only underline).
|
|
316
|
+
*
|
|
317
|
+
* `as` overrides the rendered element — useful when the visual contract is
|
|
318
|
+
* "link" but the semantic is "button" (e.g. JS-handled actions).
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* <Link href="/signin">Sign in</Link>
|
|
322
|
+
* <Link variant="quiet" href="/legal">Legal</Link>
|
|
323
|
+
* <Link variant="footer" as="button" onClick={clear}>CLEAR</Link>
|
|
324
|
+
*/
|
|
325
|
+
declare const Link: react.ForwardRefExoticComponent<LinkProps & react.RefAttributes<HTMLAnchorElement>>;
|
|
326
|
+
|
|
327
|
+
interface DotGridProps extends HTMLAttributes<HTMLDivElement> {
|
|
328
|
+
/** Dot color (any CSS color). @default "var(--cream)" */
|
|
329
|
+
color?: string;
|
|
330
|
+
/** Dot opacity. @default 0.055 */
|
|
331
|
+
opacity?: number;
|
|
332
|
+
/** Tile size in px — controls dot spacing. @default 18 */
|
|
333
|
+
tile?: number;
|
|
334
|
+
/** Dot radius in px. @default 1.4 */
|
|
335
|
+
dotRadius?: number;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Radial-gradient dot-pattern overlay. Use as an `position: absolute; inset: 0;`
|
|
339
|
+
* decoration on dark hero panels, marketing surfaces, or empty-state backgrounds.
|
|
340
|
+
*
|
|
341
|
+
* Pointer-events disabled so it never blocks content underneath.
|
|
342
|
+
*
|
|
343
|
+
* @example
|
|
344
|
+
* <div style={{ position: "relative" }}>
|
|
345
|
+
* <DotGrid />
|
|
346
|
+
* <p>Hero content over dots…</p>
|
|
347
|
+
* </div>
|
|
348
|
+
*/
|
|
349
|
+
declare const DotGrid: react.ForwardRefExoticComponent<DotGridProps & react.RefAttributes<HTMLDivElement>>;
|
|
350
|
+
|
|
351
|
+
interface SplitHeroProps extends Omit<HTMLAttributes<HTMLElement>, "children"> {
|
|
352
|
+
/** Left/aside content — typically a marketing or brand panel on a dark surface. */
|
|
353
|
+
aside: ReactNode;
|
|
354
|
+
/** Right/main content — typically the form, body, or interactive payload. */
|
|
355
|
+
main: ReactNode;
|
|
356
|
+
/** Aside-to-main column ratio, e.g. "1fr 1fr" (default) or "1.15fr 1fr". @default "1fr 1fr" */
|
|
357
|
+
ratio?: string;
|
|
358
|
+
/** Aside background color. @default "var(--ink)" */
|
|
359
|
+
asideBackground?: string;
|
|
360
|
+
/** Main background color. @default "var(--cream)" */
|
|
361
|
+
mainBackground?: string;
|
|
362
|
+
/** When viewport ≤ this breakpoint (px), stack vertically (aside on top). @default 900 */
|
|
363
|
+
stackBelow?: number;
|
|
364
|
+
/** When viewport ≤ this breakpoint (px), hide the aside entirely. @default 600 */
|
|
365
|
+
hideAsideBelow?: number;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Two-column page chrome for marketing / auth / onboarding surfaces.
|
|
369
|
+
*
|
|
370
|
+
* - Desktop (`> stackBelow`): aside | main, side-by-side.
|
|
371
|
+
* - Tablet (`≤ stackBelow`, `> hideAsideBelow`): stacked vertically.
|
|
372
|
+
* - Mobile (`≤ hideAsideBelow`): aside hidden, main fills the viewport.
|
|
373
|
+
*
|
|
374
|
+
* The root is `height: 100vh; overflow: hidden;` so the aside cannot push the
|
|
375
|
+
* page taller than the viewport; the `main` slot internally allows scroll for
|
|
376
|
+
* long forms. At the stacked breakpoints the clamp releases so the page
|
|
377
|
+
* scrolls naturally.
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* <SplitHero
|
|
381
|
+
* aside={<HeroPanel kicker="WELCOME BACK" headline="Sign in to your trail." />}
|
|
382
|
+
* main={<SignInForm />}
|
|
383
|
+
* />
|
|
384
|
+
*/
|
|
385
|
+
declare const SplitHero: react.ForwardRefExoticComponent<SplitHeroProps & react.RefAttributes<HTMLElement>>;
|
|
386
|
+
|
|
68
387
|
interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
69
388
|
/** When true, applies error-state border color to the textarea. */
|
|
70
389
|
error?: boolean;
|
|
@@ -84,6 +403,13 @@ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
84
403
|
}
|
|
85
404
|
declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttributes<HTMLSpanElement>>;
|
|
86
405
|
|
|
406
|
+
type KbdSize = "sm" | "md";
|
|
407
|
+
interface KbdProps extends HTMLAttributes<HTMLElement> {
|
|
408
|
+
/** Size variant. "sm" for inline hints (9.5px); "md" default (11px). */
|
|
409
|
+
size?: KbdSize;
|
|
410
|
+
}
|
|
411
|
+
declare const Kbd: react.ForwardRefExoticComponent<KbdProps & react.RefAttributes<HTMLElement>>;
|
|
412
|
+
|
|
87
413
|
type ChipTone = "default" | "match" | "miss" | "learning" | "tag";
|
|
88
414
|
interface ChipProps extends HTMLAttributes<HTMLSpanElement> {
|
|
89
415
|
/** Color tone applying semantic background and text colors.
|
|
@@ -105,6 +431,18 @@ interface AvatarProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
105
431
|
name?: string;
|
|
106
432
|
/** Override the auto-derived initials (1–2 uppercase letters). */
|
|
107
433
|
initials?: string;
|
|
434
|
+
/**
|
|
435
|
+
* Derive the background color from this string instead of `name` — e.g. a
|
|
436
|
+
* stable id — so the color stays fixed even if the display name changes.
|
|
437
|
+
* Initials are still derived from `name`/`initials`.
|
|
438
|
+
*/
|
|
439
|
+
seed?: string;
|
|
440
|
+
/**
|
|
441
|
+
* Override the built-in solid-color palette used for the name→color hash.
|
|
442
|
+
* Pass a custom set (e.g. WCAG-tuned colors) to control which colors the
|
|
443
|
+
* deterministic hash can land on. Ignored when `gradient` is set.
|
|
444
|
+
*/
|
|
445
|
+
palette?: string[];
|
|
108
446
|
/**
|
|
109
447
|
* URL of an image to display. When provided, the image fills the circle and
|
|
110
448
|
* initials/background are not rendered.
|
|
@@ -248,6 +586,55 @@ interface RollingNumberProps {
|
|
|
248
586
|
}
|
|
249
587
|
declare function RollingNumber({ value, format, prefix, suffix, variant, ariaLabel, className, style, }: RollingNumberProps): react_jsx_runtime.JSX.Element;
|
|
250
588
|
|
|
589
|
+
type StatCardChangeDir = "up" | "down";
|
|
590
|
+
interface StatCardProps {
|
|
591
|
+
/** Monospace uppercase label, e.g. "Total Applications" */
|
|
592
|
+
label: string;
|
|
593
|
+
/** Primary metric value as string or number, e.g. "24", "42%", "4.2d" */
|
|
594
|
+
value: string | number;
|
|
595
|
+
/** Change string displayed in trend badge, e.g. "+12%", "-5%" */
|
|
596
|
+
change?: string;
|
|
597
|
+
/** Trend direction — determines badge and sparkline color */
|
|
598
|
+
changeDir?: StatCardChangeDir;
|
|
599
|
+
/** Sparkline data points — renders chart when provided (min 2 points) */
|
|
600
|
+
data?: number[];
|
|
601
|
+
/** Additional className forwarded to the root div */
|
|
602
|
+
className?: string;
|
|
603
|
+
/** Additional inline styles for the root div */
|
|
604
|
+
style?: CSSProperties;
|
|
605
|
+
}
|
|
606
|
+
declare function StatCard({ label, value, change, changeDir, data, className, style, }: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
607
|
+
|
|
608
|
+
interface SparklineProps {
|
|
609
|
+
data: number[];
|
|
610
|
+
width?: number;
|
|
611
|
+
height?: number;
|
|
612
|
+
color?: string;
|
|
613
|
+
fill?: boolean;
|
|
614
|
+
/** Accessible label. Defaults to "Trend chart". */
|
|
615
|
+
ariaLabel?: string;
|
|
616
|
+
}
|
|
617
|
+
declare function Sparkline({ data, width, height, color, fill, ariaLabel, }: SparklineProps): react_jsx_runtime.JSX.Element | null;
|
|
618
|
+
|
|
619
|
+
interface MiniDonutProps {
|
|
620
|
+
value: number;
|
|
621
|
+
max?: number;
|
|
622
|
+
size?: number;
|
|
623
|
+
strokeWidth?: number;
|
|
624
|
+
color?: string;
|
|
625
|
+
/** Accessible label. Defaults to "{percentage}%". */
|
|
626
|
+
ariaLabel?: string;
|
|
627
|
+
}
|
|
628
|
+
declare function MiniDonut({ value, max, size, strokeWidth, color, ariaLabel, }: MiniDonutProps): react_jsx_runtime.JSX.Element;
|
|
629
|
+
|
|
630
|
+
interface MiniBarProps {
|
|
631
|
+
data: number[];
|
|
632
|
+
labels?: string[];
|
|
633
|
+
height?: number;
|
|
634
|
+
barColor?: string;
|
|
635
|
+
}
|
|
636
|
+
declare function MiniBar({ data, labels, height, barColor }: MiniBarProps): react_jsx_runtime.JSX.Element;
|
|
637
|
+
|
|
251
638
|
interface RangeSliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "value" | "onChange" | "min" | "max" | "step" | "disabled"> {
|
|
252
639
|
/** Controlled numeric value of the slider thumb position. */
|
|
253
640
|
value: number;
|
|
@@ -310,6 +697,41 @@ interface StarRatingProps {
|
|
|
310
697
|
}
|
|
311
698
|
declare function StarRating({ value, onChange, size, label, readOnly, disabled, className, style, }: StarRatingProps): react_jsx_runtime.JSX.Element;
|
|
312
699
|
|
|
700
|
+
type StatusPillStage = "wishlist" | "applied" | "screening" | "interviewing" | "offer" | "closed";
|
|
701
|
+
interface StatusPillBaseProps {
|
|
702
|
+
/** Pipeline stage — drives bg/color tinting. */
|
|
703
|
+
stage: StatusPillStage;
|
|
704
|
+
/** Show trailing chevron (▾) — signals the pill is a dropdown trigger. */
|
|
705
|
+
withChevron?: boolean;
|
|
706
|
+
/** When true, renders as <button>. When false, renders as <span> and ignores
|
|
707
|
+
* onClick. Use false for table cells / read-only kanban cards where the pill
|
|
708
|
+
* is decorative.
|
|
709
|
+
* @default true
|
|
710
|
+
*/
|
|
711
|
+
interactive?: boolean;
|
|
712
|
+
children: ReactNode;
|
|
713
|
+
}
|
|
714
|
+
type StatusPillProps = StatusPillBaseProps & ((Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof StatusPillBaseProps> & {
|
|
715
|
+
interactive?: true;
|
|
716
|
+
}) | (Omit<HTMLAttributes<HTMLSpanElement>, keyof StatusPillBaseProps> & {
|
|
717
|
+
interactive: false;
|
|
718
|
+
}));
|
|
719
|
+
/**
|
|
720
|
+
* StatusPill - per-stage tinted chip for Cairn-style kanban + DataGrid status columns.
|
|
721
|
+
*
|
|
722
|
+
* Six locked stage variants (`wishlist`, `applied`, `screening`, `interviewing`,
|
|
723
|
+
* `offer`, `closed`) map to subtle tints — `wishlist`/`applied` are outlined,
|
|
724
|
+
* `screening`/`interviewing` use amber tints, `offer` uses green, `closed` is muted.
|
|
725
|
+
* Use the same atom in both kanban cards and DataGrid status columns so the
|
|
726
|
+
* visual contract stays single-sourced.
|
|
727
|
+
*
|
|
728
|
+
* <StatusPill stage="screening" withChevron onClick={openMenu}>Screening</StatusPill>
|
|
729
|
+
* <StatusPill stage="offer" interactive={false}>Offer</StatusPill>
|
|
730
|
+
*
|
|
731
|
+
* Visual styling lives in primitives.css under `.ds-atom-statuspill[.stage]`.
|
|
732
|
+
*/
|
|
733
|
+
declare const StatusPill: react.ForwardRefExoticComponent<StatusPillProps & react.RefAttributes<HTMLButtonElement | HTMLSpanElement>>;
|
|
734
|
+
|
|
313
735
|
type StickyNoteRotation = "left" | "right" | "none";
|
|
314
736
|
interface StickyNoteProps extends HTMLAttributes<HTMLDivElement> {
|
|
315
737
|
/** Static rotation applied to the note surface for a handwritten feel.
|
|
@@ -338,38 +760,39 @@ interface StickyNoteProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
338
760
|
declare const StickyNote: react.ForwardRefExoticComponent<StickyNoteProps & react.RefAttributes<HTMLDivElement>>;
|
|
339
761
|
|
|
340
762
|
type CardVariant = "glass" | "amber" | "dark" | "kanban";
|
|
763
|
+
type CardPadding = "none" | "sm" | "md" | "lg" | "xl";
|
|
764
|
+
type CardRadius = "sm" | "md" | "lg" | "xl";
|
|
765
|
+
type CardTone = "amber" | "cream-2" | "flat";
|
|
766
|
+
type CardHover = "elevate";
|
|
341
767
|
interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
342
|
-
/**
|
|
343
|
-
*
|
|
344
|
-
* - `amber` - amber-tinted CTA card.
|
|
345
|
-
* - `dark` - always-dark surface independent of theme.
|
|
346
|
-
* - `kanban` - compact glass with hover-lift; use for drag-and-drop boards.
|
|
347
|
-
* @default "glass"
|
|
348
|
-
*/
|
|
768
|
+
/** Top-level preset (legacy). One of glass / amber / dark / kanban. Adds
|
|
769
|
+
* its own bg + border treatment via `data-variant`. @default "glass" */
|
|
349
770
|
variant?: CardVariant;
|
|
350
|
-
/**
|
|
771
|
+
/** Padding scale. Independent of variant. */
|
|
772
|
+
padding?: CardPadding;
|
|
773
|
+
/** Border-radius token. Independent of variant. */
|
|
774
|
+
radius?: CardRadius;
|
|
775
|
+
/** Surface tone (separate axis from variant). `amber` tints the bg, `flat`
|
|
776
|
+
* uses a dashed neutral border, `cream-2` switches to the cream-2 surface. */
|
|
777
|
+
tone?: CardTone;
|
|
778
|
+
/** Interactive elevation on hover. Adds shadow + cursor + border-color shift. */
|
|
779
|
+
hover?: CardHover;
|
|
780
|
+
/** Override the rendered element. @default "div" */
|
|
781
|
+
as?: ElementType;
|
|
351
782
|
children: ReactNode;
|
|
352
783
|
}
|
|
353
784
|
/**
|
|
354
|
-
* Card
|
|
355
|
-
*
|
|
356
|
-
* <Card variant="glass"> // default - translucent glass surface
|
|
357
|
-
* <Card variant="amber"> // amber-tinted CTA card
|
|
358
|
-
* <Card variant="dark"> // always-dark surface (handoff invariant)
|
|
359
|
-
* <Card variant="kanban"> // compact glass card with hover-lift; visual surface only
|
|
785
|
+
* Card — surface primitive. Visual is driven by a top-level `variant` plus
|
|
786
|
+
* independent data-attr axes (`padding`, `radius`, `tone`, `hover`).
|
|
360
787
|
*
|
|
361
|
-
*
|
|
788
|
+
* <Card>...</Card> // glass, default radius/padding
|
|
789
|
+
* <Card variant="amber">...</Card> // amber CTA card
|
|
790
|
+
* <Card variant="kanban" hover="elevate">...</Card> // hover-lift kanban surface
|
|
791
|
+
* <Card padding="lg" radius="xl" tone="cream-2"> // declarative overrides
|
|
362
792
|
*
|
|
363
|
-
*
|
|
364
|
-
*
|
|
365
|
-
*
|
|
366
|
-
* <footer>...</footer>
|
|
367
|
-
* </Card>
|
|
368
|
-
*
|
|
369
|
-
* The `kanban` variant ships only the VISUAL surface (12px padding, 10px
|
|
370
|
-
* radius, glass bg, hover shadow lift). Application data binding (logo +
|
|
371
|
-
* role + age + chips + priority dot) is deferred to Wave 7 / DragDropList
|
|
372
|
-
* per D-302.
|
|
793
|
+
* The four axes layer on top of each other — variant sets the baseline, the
|
|
794
|
+
* data-attr axes refine padding/radius/tone/hover. See primitives.css for
|
|
795
|
+
* the resolved rules.
|
|
373
796
|
*/
|
|
374
797
|
declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
|
|
375
798
|
|
|
@@ -538,57 +961,92 @@ interface ModalProps {
|
|
|
538
961
|
* - closeOnBackdropClick defaults to true; click on backdrop only (not panel) closes
|
|
539
962
|
* - Animations namespaced (ds-atom-modal-fadein, ds-atom-modal-in) to avoid
|
|
540
963
|
* colliding with consumer-defined keyframes
|
|
541
|
-
*
|
|
542
|
-
* ConfirmDialog ships from this same file as a named variant export (D-287, D-356).
|
|
543
964
|
*/
|
|
544
965
|
declare function Modal({ open, onClose, title, description, footer, children, closeOnBackdropClick, role, initialFocus, className, style, }: ModalProps): react_jsx_runtime.JSX.Element | null;
|
|
966
|
+
|
|
967
|
+
type ConfirmDialogTone = "danger" | "warn" | "success" | "neutral";
|
|
545
968
|
interface ConfirmDialogProps {
|
|
546
969
|
/** Controls visibility; returns null when false. */
|
|
547
970
|
open: boolean;
|
|
548
|
-
/** Called when the user
|
|
971
|
+
/** Called when the user cancels (Escape key or Cancel button). */
|
|
549
972
|
onClose: () => void;
|
|
550
|
-
/**
|
|
973
|
+
/** Called when the user confirms (Enter key or Confirm button). */
|
|
974
|
+
onConfirm: () => void;
|
|
975
|
+
/** Visual tone — controls icon, icon bg, and confirm button style. */
|
|
976
|
+
tone?: ConfirmDialogTone;
|
|
977
|
+
/** Dialog heading. */
|
|
551
978
|
title: ReactNode;
|
|
552
|
-
/**
|
|
553
|
-
|
|
554
|
-
/** Label for the confirm
|
|
979
|
+
/** Optional body text below the heading. */
|
|
980
|
+
body?: ReactNode;
|
|
981
|
+
/** Label for the confirm button.
|
|
555
982
|
* @default "Confirm"
|
|
556
983
|
*/
|
|
557
984
|
confirmLabel?: string;
|
|
558
|
-
/** Label for the cancel
|
|
985
|
+
/** Label for the cancel button.
|
|
559
986
|
* @default "Cancel"
|
|
560
987
|
*/
|
|
561
988
|
cancelLabel?: string;
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
989
|
+
}
|
|
990
|
+
declare function ConfirmDialog({ open, onClose, onConfirm, tone, title, body, confirmLabel, cancelLabel, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element | null;
|
|
991
|
+
interface TypeToConfirmProps {
|
|
992
|
+
/** Controls visibility; returns null when false. */
|
|
993
|
+
open: boolean;
|
|
994
|
+
/** Called when the user cancels (Escape key or Cancel button). */
|
|
995
|
+
onClose: () => void;
|
|
996
|
+
/** Called when the user confirms (Enter key when ok, or Confirm button). */
|
|
567
997
|
onConfirm: () => void;
|
|
998
|
+
/** Dialog heading. */
|
|
999
|
+
title: ReactNode;
|
|
1000
|
+
/** Optional body text below the heading. */
|
|
1001
|
+
body?: ReactNode;
|
|
1002
|
+
/** Word the user must type exactly (case-sensitive, no trim) to enable confirm.
|
|
1003
|
+
* @default "DELETE"
|
|
1004
|
+
*/
|
|
1005
|
+
guardWord?: string;
|
|
1006
|
+
/** Label for the confirm button.
|
|
1007
|
+
* @default "Delete forever"
|
|
1008
|
+
*/
|
|
1009
|
+
confirmLabel?: string;
|
|
1010
|
+
/** Label for the cancel button.
|
|
1011
|
+
* @default "Cancel"
|
|
1012
|
+
*/
|
|
1013
|
+
cancelLabel?: string;
|
|
568
1014
|
}
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
*/
|
|
591
|
-
|
|
1015
|
+
declare function TypeToConfirm({ open, onClose, onConfirm, title, body, guardWord, confirmLabel, cancelLabel, }: TypeToConfirmProps): react_jsx_runtime.JSX.Element | null;
|
|
1016
|
+
|
|
1017
|
+
interface CommandPaletteItem {
|
|
1018
|
+
/** Stable identity used as the React key. */
|
|
1019
|
+
id: string;
|
|
1020
|
+
/** Display label; used for case-insensitive substring filtering. */
|
|
1021
|
+
label: string;
|
|
1022
|
+
/** Group bucket name; items with the same group cluster under a header. */
|
|
1023
|
+
group: string;
|
|
1024
|
+
/** Optional ReactNode icon (16–18px recommended). */
|
|
1025
|
+
icon?: ReactNode;
|
|
1026
|
+
/** Optional keyboard shortcut hint, rendered as a Kbd chip. */
|
|
1027
|
+
shortcut?: string;
|
|
1028
|
+
/** Fires when the item is selected (Enter on active row, or click). */
|
|
1029
|
+
onSelect: () => void;
|
|
1030
|
+
}
|
|
1031
|
+
interface CommandPaletteProps {
|
|
1032
|
+
/** Controls visibility; component returns null when false. */
|
|
1033
|
+
open: boolean;
|
|
1034
|
+
/** Called when the user dismisses the palette (Escape, backdrop click, item select). */
|
|
1035
|
+
onClose: () => void;
|
|
1036
|
+
/** Flat list of items; the component derives groups internally. */
|
|
1037
|
+
items: CommandPaletteItem[];
|
|
1038
|
+
/** Search input placeholder.
|
|
1039
|
+
* @default "Type a command or search…"
|
|
1040
|
+
*/
|
|
1041
|
+
placeholder?: string;
|
|
1042
|
+
/** Optional override text shown when filter has zero matches. Defaults to `No results for "<query>"`. */
|
|
1043
|
+
emptyText?: string;
|
|
1044
|
+
/** Optional className appended to the panel. */
|
|
1045
|
+
className?: string;
|
|
1046
|
+
/** Optional inline style applied to the panel. */
|
|
1047
|
+
style?: CSSProperties;
|
|
1048
|
+
}
|
|
1049
|
+
declare function CommandPalette({ open, onClose, items, placeholder, emptyText, className, style, }: CommandPaletteProps): react_jsx_runtime.JSX.Element | null;
|
|
592
1050
|
|
|
593
1051
|
type SheetSide = "right" | "left";
|
|
594
1052
|
interface SheetProps {
|
|
@@ -697,6 +1155,13 @@ interface BottomSheetProps {
|
|
|
697
1155
|
* Defaults to detecting `html.dark` (Canvas dark mode toggle).
|
|
698
1156
|
*/
|
|
699
1157
|
dark?: boolean;
|
|
1158
|
+
/**
|
|
1159
|
+
* Track the mobile soft keyboard via `window.visualViewport` and lift the
|
|
1160
|
+
* footer above it (padding-bottom = visible-viewport delta). Defaults to
|
|
1161
|
+
* true. Set false to opt out; it is a no-op anyway on platforms without a
|
|
1162
|
+
* `visualViewport` (e.g. desktop) or when there is no footer.
|
|
1163
|
+
*/
|
|
1164
|
+
trackKeyboard?: boolean;
|
|
700
1165
|
className?: string;
|
|
701
1166
|
style?: CSSProperties;
|
|
702
1167
|
}
|
|
@@ -730,7 +1195,38 @@ interface BottomSheetProps {
|
|
|
730
1195
|
* feeding it into useFocusTrap's `active` arg ensures the trap re-runs
|
|
731
1196
|
* once the portal commits the panel into the DOM.
|
|
732
1197
|
*/
|
|
733
|
-
declare function BottomSheet({ open, onClose, title, footer, children, height, closeOnBackdropClick, dark, className, style, }: BottomSheetProps): react_jsx_runtime.JSX.Element | null;
|
|
1198
|
+
declare function BottomSheet({ open, onClose, title, footer, children, height, closeOnBackdropClick, dark, trackKeyboard, className, style, }: BottomSheetProps): react_jsx_runtime.JSX.Element | null;
|
|
1199
|
+
|
|
1200
|
+
interface ActionSheetItem {
|
|
1201
|
+
label: string;
|
|
1202
|
+
/** `"destructive"` renders the label in `--red`. */
|
|
1203
|
+
variant?: "default" | "destructive";
|
|
1204
|
+
onSelect: () => void;
|
|
1205
|
+
}
|
|
1206
|
+
interface ActionSheetProps {
|
|
1207
|
+
open: boolean;
|
|
1208
|
+
onClose: () => void;
|
|
1209
|
+
items: ActionSheetItem[];
|
|
1210
|
+
/** Dismiss-without-picking label. Default "Close". Backdrop tap + Esc also dismiss. */
|
|
1211
|
+
cancelLabel?: string;
|
|
1212
|
+
}
|
|
1213
|
+
/**
|
|
1214
|
+
* ActionSheet — an iOS-style bottom-anchored action list: a rounded block of
|
|
1215
|
+
* tappable items plus a separate Cancel block. Backdrop tap, the Cancel button,
|
|
1216
|
+
* and Esc all dismiss; body scroll locks while open. Pair with `useLongPress`
|
|
1217
|
+
* for the touch "long-press → actions" pattern.
|
|
1218
|
+
*
|
|
1219
|
+
* @example
|
|
1220
|
+
* <ActionSheet
|
|
1221
|
+
* open={open}
|
|
1222
|
+
* onClose={() => setOpen(false)}
|
|
1223
|
+
* items={[
|
|
1224
|
+
* { label: "Edit", onSelect: edit },
|
|
1225
|
+
* { label: "Delete", variant: "destructive", onSelect: remove },
|
|
1226
|
+
* ]}
|
|
1227
|
+
* />
|
|
1228
|
+
*/
|
|
1229
|
+
declare function ActionSheet({ open, onClose, items, cancelLabel }: ActionSheetProps): react.ReactPortal | null;
|
|
734
1230
|
|
|
735
1231
|
interface LightboxItem {
|
|
736
1232
|
src: string;
|
|
@@ -937,6 +1433,12 @@ interface AlertBannerProps extends Omit<HTMLAttributes<HTMLDivElement>, "title">
|
|
|
937
1433
|
children?: ReactNode;
|
|
938
1434
|
/** Whether to show the dismiss X button. Defaults to `!!onDismiss`. Pass `false` to suppress it. */
|
|
939
1435
|
dismissible?: boolean;
|
|
1436
|
+
/** Whether the title renders in semibold (600) or regular (400) weight.
|
|
1437
|
+
* Default `true` keeps the original bold weight; `false` is for surfaces
|
|
1438
|
+
* where the icon + tone already signal severity and bold feels heavy.
|
|
1439
|
+
* @default true
|
|
1440
|
+
*/
|
|
1441
|
+
boldTitle?: boolean;
|
|
940
1442
|
}
|
|
941
1443
|
/**
|
|
942
1444
|
* AlertBanner - inline-flow controlled tone banner (D-410, D-411).
|
|
@@ -1059,6 +1561,87 @@ interface ToastProviderProps {
|
|
|
1059
1561
|
*/
|
|
1060
1562
|
declare function ToastProvider({ children }: ToastProviderProps): react_jsx_runtime.JSX.Element;
|
|
1061
1563
|
|
|
1564
|
+
/**
|
|
1565
|
+
* Snackbar — bottom-center, solid-fill action surface. Companion to Toast
|
|
1566
|
+
* but with a different intent: snackbars confirm a destructive or
|
|
1567
|
+
* reversible action and offer an inline UNDO / RETRY. Toast is for
|
|
1568
|
+
* passive notifications; Snackbar pairs with a callback. Single-at-a-time
|
|
1569
|
+
* (replaces any active snackbar with FIFO ordering) — never stacks. Solid
|
|
1570
|
+
* ink background so the message stays readable over any page chrome
|
|
1571
|
+
* (Toast's translucent fill becomes hard to read on top-heavy apps).
|
|
1572
|
+
*/
|
|
1573
|
+
type SnackbarTone = "neutral" | "success" | "error";
|
|
1574
|
+
interface SnackbarAction {
|
|
1575
|
+
/** Visible label, e.g. "UNDO", "RETRY". Rendered mono caps amber. */
|
|
1576
|
+
label: string;
|
|
1577
|
+
/** Fires when the action is activated. The snackbar auto-dismisses after. */
|
|
1578
|
+
onClick: () => void;
|
|
1579
|
+
}
|
|
1580
|
+
interface SnackbarOptions {
|
|
1581
|
+
/** Auto-dismiss after `duration` ms. Default 5000 (longer than Toast — the
|
|
1582
|
+
* user needs time to read + click the action). Pass `Infinity` to disable. */
|
|
1583
|
+
duration?: number;
|
|
1584
|
+
/** Optional inline action (UNDO / RETRY / etc.). Rendered to the right of
|
|
1585
|
+
* the message. Clicking it fires `onClick` then dismisses the snackbar. */
|
|
1586
|
+
action?: SnackbarAction;
|
|
1587
|
+
/** Visual tone. `"neutral"` (default) for confirmations; `"success"` /
|
|
1588
|
+
* `"error"` add a left-border accent without changing the ink fill. */
|
|
1589
|
+
tone?: SnackbarTone;
|
|
1590
|
+
/** Show the explicit dismiss "✕" affordance.
|
|
1591
|
+
*
|
|
1592
|
+
* Default behavior:
|
|
1593
|
+
* - with `action` → false (the action button doubles as the dismiss path,
|
|
1594
|
+
* plus the timeout will close it; an extra "✕" is redundant chrome)
|
|
1595
|
+
* - without `action` → true (otherwise the snackbar would only have the
|
|
1596
|
+
* timeout as an escape hatch, which is too implicit)
|
|
1597
|
+
*
|
|
1598
|
+
* Pass an explicit boolean to override.
|
|
1599
|
+
*/
|
|
1600
|
+
dismissible?: boolean;
|
|
1601
|
+
/** Render a thin countdown progress bar along the bottom edge that depletes
|
|
1602
|
+
* (width 100% → 0%) linearly over `duration` ms — a visual undo timer
|
|
1603
|
+
* (matches the SoftConfirmToast pattern). Only renders when `true` AND
|
|
1604
|
+
* `duration` is finite. Respects `prefers-reduced-motion: reduce` (the bar
|
|
1605
|
+
* is shown static, no animation). Default `false`. */
|
|
1606
|
+
progress?: boolean;
|
|
1607
|
+
}
|
|
1608
|
+
interface SnackbarApi {
|
|
1609
|
+
/** Show a snackbar. Replaces any active snackbar (single-at-a-time). */
|
|
1610
|
+
show: (message: ReactNode, opts?: SnackbarOptions) => number;
|
|
1611
|
+
dismiss: (id: number) => void;
|
|
1612
|
+
}
|
|
1613
|
+
/**
|
|
1614
|
+
* useSnackbar — imperative bottom-center action surface hook.
|
|
1615
|
+
*
|
|
1616
|
+
* Must be called inside a `<SnackbarProvider>`. Throws otherwise.
|
|
1617
|
+
*
|
|
1618
|
+
* const snack = useSnackbar();
|
|
1619
|
+
* snack.show("Application deleted.", {
|
|
1620
|
+
* action: { label: "UNDO", onClick: () => restore(row) },
|
|
1621
|
+
* });
|
|
1622
|
+
* snack.show("Saved.", { tone: "success" });
|
|
1623
|
+
* const id = snack.show("...", { duration: Infinity });
|
|
1624
|
+
* snack.dismiss(id);
|
|
1625
|
+
*/
|
|
1626
|
+
declare function useSnackbar(): SnackbarApi;
|
|
1627
|
+
interface SnackbarProviderProps {
|
|
1628
|
+
children: ReactNode;
|
|
1629
|
+
}
|
|
1630
|
+
/**
|
|
1631
|
+
* SnackbarProvider — context + DSPortal-mounted region (bottom-center).
|
|
1632
|
+
*
|
|
1633
|
+
* <SnackbarProvider>
|
|
1634
|
+
* <App />
|
|
1635
|
+
* </SnackbarProvider>
|
|
1636
|
+
*
|
|
1637
|
+
* Single-snackbar-at-a-time: calling show() while another is visible
|
|
1638
|
+
* dismisses the old one before fading in the new (FIFO swap, not a queue).
|
|
1639
|
+
* Mounts a fixed bottom-center region (z-1100) that renders only when a
|
|
1640
|
+
* snackbar is active. The region pointer-events:none lets clicks pass to
|
|
1641
|
+
* the page; the snackbar itself sets pointer-events:auto.
|
|
1642
|
+
*/
|
|
1643
|
+
declare function SnackbarProvider({ children }: SnackbarProviderProps): react_jsx_runtime.JSX.Element;
|
|
1644
|
+
|
|
1062
1645
|
interface CopyToClipboardProps extends Omit<HTMLAttributes<HTMLButtonElement>, "onCopy" | "onError"> {
|
|
1063
1646
|
/** The string value written to the clipboard on click. */
|
|
1064
1647
|
value: string;
|
|
@@ -1084,6 +1667,16 @@ interface CopyToClipboardProps extends Omit<HTMLAttributes<HTMLButtonElement>, "
|
|
|
1084
1667
|
*/
|
|
1085
1668
|
declare const CopyToClipboard: react.ForwardRefExoticComponent<CopyToClipboardProps & react.RefAttributes<HTMLButtonElement>>;
|
|
1086
1669
|
|
|
1670
|
+
interface RelativeTimeProps extends HTMLAttributes<HTMLTimeElement> {
|
|
1671
|
+
/** Date to format. Accepts Date object, ISO string, or Unix ms timestamp. */
|
|
1672
|
+
date: Date | string | number;
|
|
1673
|
+
/** Optional prefix rendered in --ink-4 color before the relative string (e.g. "Applied"). */
|
|
1674
|
+
prefix?: string;
|
|
1675
|
+
/** Recompute interval in ms. Pass 0 to disable live updates. @default 60000 */
|
|
1676
|
+
updateInterval?: number;
|
|
1677
|
+
}
|
|
1678
|
+
declare const RelativeTime: react.ForwardRefExoticComponent<RelativeTimeProps & react.RefAttributes<HTMLTimeElement>>;
|
|
1679
|
+
|
|
1087
1680
|
interface DatePickerProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
1088
1681
|
/** Controlled selected date; pass `null` for no selection. */
|
|
1089
1682
|
value: Date | null;
|
|
@@ -1117,6 +1710,15 @@ interface DatePickerProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange
|
|
|
1117
1710
|
isRangeStart?: (d: Date) => boolean;
|
|
1118
1711
|
/** Marks a cell as the end of a range for edge-pill visual polish; used by DateRangePicker. */
|
|
1119
1712
|
isRangeEnd?: (d: Date) => boolean;
|
|
1713
|
+
/** Render mode. `"inline"` (default) shows the calendar grid in flow. `"popover"`
|
|
1714
|
+
* renders a trigger pill that opens the grid in an anchored DS Popover.
|
|
1715
|
+
* @default "inline"
|
|
1716
|
+
*/
|
|
1717
|
+
variant?: "inline" | "popover";
|
|
1718
|
+
/** Placeholder text shown on the trigger pill when `value` is null. Only used when `variant="popover"`. */
|
|
1719
|
+
placeholder?: string;
|
|
1720
|
+
/** Override the date formatter for the trigger pill label. Only used when `variant="popover"`. */
|
|
1721
|
+
formatLabel?: (d: Date, showTime: boolean) => string;
|
|
1120
1722
|
}
|
|
1121
1723
|
declare const DatePicker: react.ForwardRefExoticComponent<DatePickerProps & react.RefAttributes<HTMLDivElement>>;
|
|
1122
1724
|
|
|
@@ -1191,6 +1793,42 @@ interface MultiSelectProps {
|
|
|
1191
1793
|
* @default "Select…"
|
|
1192
1794
|
*/
|
|
1193
1795
|
placeholder?: string;
|
|
1796
|
+
/** When true, the trigger renders as a single-line count summary instead of
|
|
1797
|
+
* the default chips-in-trigger layout. Useful in filter bars where the
|
|
1798
|
+
* trigger height needs to stay stable regardless of selection count.
|
|
1799
|
+
*
|
|
1800
|
+
* Trigger copy:
|
|
1801
|
+
* - 0 selected → `placeholder` (e.g. "Status")
|
|
1802
|
+
* - all selected (value.length === options.length) → `allSelectedLabel`
|
|
1803
|
+
* - 1+ selected (partial) → `${placeholder} (${count})`
|
|
1804
|
+
*
|
|
1805
|
+
* @default false
|
|
1806
|
+
*/
|
|
1807
|
+
compact?: boolean;
|
|
1808
|
+
/** Label rendered in the compact trigger when every option is selected.
|
|
1809
|
+
* Has no effect unless `compact` is true.
|
|
1810
|
+
* @default "All"
|
|
1811
|
+
*/
|
|
1812
|
+
allSelectedLabel?: string;
|
|
1813
|
+
/** Visual tone of the trigger surface.
|
|
1814
|
+
* - `"default"` — cream surface with ink text + a thin rule border.
|
|
1815
|
+
* The standard look for filter-bar triggers.
|
|
1816
|
+
* - `"solid"` — ink fill with cream text, no border. A confident
|
|
1817
|
+
* "filter applied" affordance; pairs well with `compact` for a
|
|
1818
|
+
* count-summary chip.
|
|
1819
|
+
*
|
|
1820
|
+
* @default "default"
|
|
1821
|
+
*/
|
|
1822
|
+
tone?: "default" | "solid";
|
|
1823
|
+
/** Trigger height + padding scale.
|
|
1824
|
+
* - `"md"` (default) — 36px height, standard form-input rhythm.
|
|
1825
|
+
* - `"sm"` — 28px height, smaller padding + 12px text.
|
|
1826
|
+
* Use when the trigger sits in a dense filter row where the chips
|
|
1827
|
+
* should read as chips, not full-size form controls.
|
|
1828
|
+
*
|
|
1829
|
+
* @default "md"
|
|
1830
|
+
*/
|
|
1831
|
+
size?: "sm" | "md";
|
|
1194
1832
|
/** When true, disables the trigger and prevents interaction.
|
|
1195
1833
|
* @default false
|
|
1196
1834
|
*/
|
|
@@ -1228,6 +1866,22 @@ interface SelectProps {
|
|
|
1228
1866
|
* @default true
|
|
1229
1867
|
*/
|
|
1230
1868
|
searchable?: boolean;
|
|
1869
|
+
/** Visual tone of the trigger surface.
|
|
1870
|
+
* - `"default"` — cream surface with ink text + a thin rule border.
|
|
1871
|
+
* - `"solid"` — ink fill with cream text, no visible border. Pairs with
|
|
1872
|
+
* MultiSelect's matching tone for filter-bar consistency.
|
|
1873
|
+
*
|
|
1874
|
+
* @default "default"
|
|
1875
|
+
*/
|
|
1876
|
+
tone?: "default" | "solid";
|
|
1877
|
+
/** Trigger height + padding scale.
|
|
1878
|
+
* - `"md"` (default) — 36px height, standard form-input rhythm.
|
|
1879
|
+
* - `"sm"` — 28px height, smaller padding + 12px text. Use in
|
|
1880
|
+
* dense filter rows alongside MultiSelect at the same size.
|
|
1881
|
+
*
|
|
1882
|
+
* @default "md"
|
|
1883
|
+
*/
|
|
1884
|
+
size?: "sm" | "md";
|
|
1231
1885
|
/** When true, disables the trigger button and prevents interaction.
|
|
1232
1886
|
* @default false
|
|
1233
1887
|
*/
|
|
@@ -1342,10 +1996,111 @@ interface AutocompleteProps<T> {
|
|
|
1342
1996
|
*/
|
|
1343
1997
|
declare function Autocomplete<T>({ value, onValueChange, items, recentItems, onSelect, onCreate, getItemLabel, getItemKey, renderItem, placeholder, className, style, }: AutocompleteProps<T>): react_jsx_runtime.JSX.Element;
|
|
1344
1998
|
|
|
1999
|
+
interface FileInputProps {
|
|
2000
|
+
/** Called when the user selects or drops file(s). */
|
|
2001
|
+
onSelect: (files: File[]) => void;
|
|
2002
|
+
/** MIME type or file extension allowlist (passed to hidden input `accept`).
|
|
2003
|
+
* @example "application/pdf" | ".pdf,.docx,.md"
|
|
2004
|
+
*/
|
|
2005
|
+
accept?: string;
|
|
2006
|
+
/** Whether to allow multiple files.
|
|
2007
|
+
* @default false
|
|
2008
|
+
*/
|
|
2009
|
+
multiple?: boolean;
|
|
2010
|
+
/** Maximum file size in bytes. `onError` is called if exceeded.
|
|
2011
|
+
* @default undefined (no limit)
|
|
2012
|
+
*/
|
|
2013
|
+
maxSizeBytes?: number;
|
|
2014
|
+
/**
|
|
2015
|
+
* Called when a file is rejected due to type or size constraint.
|
|
2016
|
+
* Receives a human-readable reason string.
|
|
2017
|
+
*/
|
|
2018
|
+
onError?: (reason: string) => void;
|
|
2019
|
+
/** When true, disables interaction.
|
|
2020
|
+
* @default false
|
|
2021
|
+
*/
|
|
2022
|
+
disabled?: boolean;
|
|
2023
|
+
/**
|
|
2024
|
+
* Visual variant.
|
|
2025
|
+
* - "dropzone" — dashed bordered drop area; accepts drag-and-drop.
|
|
2026
|
+
* - "button" — renders a Button-like trigger with no drop area.
|
|
2027
|
+
* @default "dropzone"
|
|
2028
|
+
*/
|
|
2029
|
+
variant?: "dropzone" | "button";
|
|
2030
|
+
/** Accessible label for the trigger.
|
|
2031
|
+
* @default "Upload file"
|
|
2032
|
+
*/
|
|
2033
|
+
ariaLabel?: string;
|
|
2034
|
+
/**
|
|
2035
|
+
* Content rendered inside the dropzone area (dropzone variant only).
|
|
2036
|
+
* When not provided, a default amber icon + "Drop a file here, or click
|
|
2037
|
+
* to upload" + meta line is rendered (matching cairn UploadDropZone visual).
|
|
2038
|
+
*/
|
|
2039
|
+
children?: ReactNode;
|
|
2040
|
+
className?: string;
|
|
2041
|
+
style?: CSSProperties;
|
|
2042
|
+
}
|
|
2043
|
+
declare function FileInput({ onSelect, accept, multiple, maxSizeBytes, onError, disabled, variant, ariaLabel, children, className, style, }: FileInputProps): react_jsx_runtime.JSX.Element;
|
|
2044
|
+
|
|
2045
|
+
interface ColorPickerProps {
|
|
2046
|
+
/** Controlled hex value, e.g. '#f59e0b'. Optional — uncontrolled if absent. */
|
|
2047
|
+
value?: string;
|
|
2048
|
+
/** Called with new hex string when color changes via any sub-control. */
|
|
2049
|
+
onChange?: (hex: string) => void;
|
|
2050
|
+
/** Initial hex when uncontrolled. @default '#f59e0b' */
|
|
2051
|
+
defaultValue?: string;
|
|
2052
|
+
/** Custom preset swatches. @default the 10-color amber-led palette */
|
|
2053
|
+
presets?: string[];
|
|
2054
|
+
/** Additional className applied to the root wrapper. */
|
|
2055
|
+
className?: string;
|
|
2056
|
+
/** Inline styles applied to the root wrapper. */
|
|
2057
|
+
style?: CSSProperties;
|
|
2058
|
+
}
|
|
2059
|
+
declare function ColorPicker({ value, onChange, defaultValue, presets, className, style, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
|
|
2060
|
+
|
|
2061
|
+
interface ColorInputProps {
|
|
2062
|
+
/** Controlled hex value, e.g. '#f59e0b'. Optional — uncontrolled if absent. */
|
|
2063
|
+
value?: string;
|
|
2064
|
+
/** Called with new hex string when a valid 6-digit hex is typed. */
|
|
2065
|
+
onChange?: (hex: string) => void;
|
|
2066
|
+
/** Initial hex when uncontrolled. @default '#f59e0b' */
|
|
2067
|
+
defaultValue?: string;
|
|
2068
|
+
/** Optional label rendered above the input row. */
|
|
2069
|
+
label?: string;
|
|
2070
|
+
/** Additional className applied to the root wrapper. */
|
|
2071
|
+
className?: string;
|
|
2072
|
+
/** Inline styles applied to the root wrapper. */
|
|
2073
|
+
style?: CSSProperties;
|
|
2074
|
+
}
|
|
2075
|
+
/**
|
|
2076
|
+
* Compact inline color field — swatch + hex text input.
|
|
2077
|
+
* No popover, no full picker — designed to drop into form rows alongside
|
|
2078
|
+
* other inline form fields.
|
|
2079
|
+
*/
|
|
2080
|
+
declare function ColorInput({ value, onChange, defaultValue, label, className, style, }: ColorInputProps): react_jsx_runtime.JSX.Element;
|
|
2081
|
+
|
|
2082
|
+
/**
|
|
2083
|
+
* Optional per-option active colors. When set, the option uses these
|
|
2084
|
+
* foreground/background colors *while active* instead of the default amber
|
|
2085
|
+
* pill. Prefer DS CSS-var tokens (e.g. `var(--green)`). Inactive options are
|
|
2086
|
+
* unaffected and render with default styling.
|
|
2087
|
+
*/
|
|
2088
|
+
interface SegmentedTone {
|
|
2089
|
+
/** Text color of the option while active. */
|
|
2090
|
+
fg: string;
|
|
2091
|
+
/** Background of the option while active. */
|
|
2092
|
+
activeBg: string;
|
|
2093
|
+
}
|
|
1345
2094
|
interface SegmentedOption<T extends string = string> {
|
|
1346
2095
|
value: T;
|
|
1347
2096
|
label: string;
|
|
1348
2097
|
disabled?: boolean;
|
|
2098
|
+
/**
|
|
2099
|
+
* Optional per-option active tone. When provided, the *active* segment
|
|
2100
|
+
* renders with `tone.fg` / `tone.activeBg` instead of the default amber.
|
|
2101
|
+
* Omit for the standard styling (fully backward compatible).
|
|
2102
|
+
*/
|
|
2103
|
+
tone?: SegmentedTone;
|
|
1349
2104
|
}
|
|
1350
2105
|
interface SegmentedControlProps<T extends string = string> {
|
|
1351
2106
|
options: SegmentedOption<T>[];
|
|
@@ -1751,6 +2506,83 @@ declare const Calendar: react.ForwardRefExoticComponent<CalendarProps & react.Re
|
|
|
1751
2506
|
Agenda: typeof AgendaList;
|
|
1752
2507
|
};
|
|
1753
2508
|
|
|
2509
|
+
interface PaginationProps {
|
|
2510
|
+
/** Total number of pages. */
|
|
2511
|
+
totalPages: number;
|
|
2512
|
+
/** Currently active page (1-based). */
|
|
2513
|
+
currentPage: number;
|
|
2514
|
+
/** Called when user navigates to a different page. */
|
|
2515
|
+
onPageChange: (page: number) => void;
|
|
2516
|
+
/** Display variant. "full" shows numbered page buttons; "compact" shows "N / M" only.
|
|
2517
|
+
* @default "full"
|
|
2518
|
+
*/
|
|
2519
|
+
variant?: "full" | "compact";
|
|
2520
|
+
/** Accessible label for the nav landmark.
|
|
2521
|
+
* @default "Pagination"
|
|
2522
|
+
*/
|
|
2523
|
+
ariaLabel?: string;
|
|
2524
|
+
/** Additional className applied to the root `<nav>` element. */
|
|
2525
|
+
className?: string;
|
|
2526
|
+
/** Inline styles applied to the root `<nav>` element. */
|
|
2527
|
+
style?: CSSProperties;
|
|
2528
|
+
}
|
|
2529
|
+
declare const Pagination: react.ForwardRefExoticComponent<PaginationProps & react.RefAttributes<HTMLElement>>;
|
|
2530
|
+
|
|
2531
|
+
/**
|
|
2532
|
+
* # Usage Audit - DataGrid (DS-62)
|
|
2533
|
+
*
|
|
2534
|
+
* Composed component built on Table.* + three table hooks. Provides a
|
|
2535
|
+
* higher-level columns/rows API with status badge rendering, priority dots,
|
|
2536
|
+
* bulk-action bar, and footer pagination.
|
|
2537
|
+
*
|
|
2538
|
+
* <DataGrid
|
|
2539
|
+
* columns={cols}
|
|
2540
|
+
* rows={rows}
|
|
2541
|
+
* page={page}
|
|
2542
|
+
* totalPages={n}
|
|
2543
|
+
* onPageChange={setPage}
|
|
2544
|
+
* onSelectionChange={(ids) => setSelected(ids)}
|
|
2545
|
+
* />
|
|
2546
|
+
*
|
|
2547
|
+
* Important: <Pagination> is rendered as a SIBLING of the inner Table.Root,
|
|
2548
|
+
* NOT inside it. <nav> inside <table> is invalid HTML.
|
|
2549
|
+
*
|
|
2550
|
+
* Status mapping:
|
|
2551
|
+
* applied → Badge tone="upcoming" label="Applied"
|
|
2552
|
+
* interviewing → Badge tone="done" label="Interview"
|
|
2553
|
+
* offer → Badge tone="passed" label="Offer"
|
|
2554
|
+
* rejected → Badge tone="pending" label="Rejected"
|
|
2555
|
+
*
|
|
2556
|
+
* Priority mapping:
|
|
2557
|
+
* high → red dot (var(--red-vivid))
|
|
2558
|
+
* medium → amber dot (var(--amber-vivid))
|
|
2559
|
+
* low → green dot (var(--green-vivid))
|
|
2560
|
+
*/
|
|
2561
|
+
|
|
2562
|
+
interface DataGridColumn {
|
|
2563
|
+
key: string;
|
|
2564
|
+
label: string;
|
|
2565
|
+
width: number;
|
|
2566
|
+
sortable?: boolean;
|
|
2567
|
+
align?: "left" | "right";
|
|
2568
|
+
}
|
|
2569
|
+
type DataGridRow = Record<string, unknown> & {
|
|
2570
|
+
id: string | number;
|
|
2571
|
+
};
|
|
2572
|
+
interface DataGridProps extends react__default.HTMLAttributes<HTMLDivElement> {
|
|
2573
|
+
columns: DataGridColumn[];
|
|
2574
|
+
rows: DataGridRow[];
|
|
2575
|
+
/** Current page (1-based). Optional — defaults to 1 when pagination not used. */
|
|
2576
|
+
page?: number;
|
|
2577
|
+
/** Total page count. Optional — defaults to 1. */
|
|
2578
|
+
totalPages?: number;
|
|
2579
|
+
/** Page-change callback wired to <Pagination>. */
|
|
2580
|
+
onPageChange?: (page: number) => void;
|
|
2581
|
+
/** Fires whenever the selected row IDs change. */
|
|
2582
|
+
onSelectionChange?: (ids: Array<string | number>) => void;
|
|
2583
|
+
}
|
|
2584
|
+
declare const DataGrid: react__default.ForwardRefExoticComponent<DataGridProps & react__default.RefAttributes<HTMLDivElement>>;
|
|
2585
|
+
|
|
1754
2586
|
interface RichTextProps {
|
|
1755
2587
|
/** Controlled HTML string (default) or TipTap JSON Doc object when `outputFormat="json"`. */
|
|
1756
2588
|
value: string | object;
|
|
@@ -1776,6 +2608,17 @@ interface RichTextProps {
|
|
|
1776
2608
|
ariaLabel?: string;
|
|
1777
2609
|
/** Inline styles applied to the outer root wrapper. */
|
|
1778
2610
|
style?: CSSProperties;
|
|
2611
|
+
/** Borderless/inline mode: strips the editor chrome (border, background, padding,
|
|
2612
|
+
* min-height) so the editor sits inline inside a card or click-to-edit surface.
|
|
2613
|
+
* Purely additive - default keeps the bordered "card" appearance.
|
|
2614
|
+
* @default false
|
|
2615
|
+
*/
|
|
2616
|
+
inline?: boolean;
|
|
2617
|
+
/** Show a keyboard-shortcut hint strip (⌘B ⌘I ⌘U ⌘⇧H ⌘K ⌘↵ Esc) that is revealed
|
|
2618
|
+
* while the editor has focus. Suppressed in `readOnly` mode.
|
|
2619
|
+
* @default false
|
|
2620
|
+
*/
|
|
2621
|
+
hints?: boolean;
|
|
1779
2622
|
}
|
|
1780
2623
|
declare const RichText: react.ForwardRefExoticComponent<RichTextProps & react.RefAttributes<HTMLDivElement>>;
|
|
1781
2624
|
|
|
@@ -2088,4 +2931,4 @@ declare function SortableItem({ id, children, reducedMotion }: SortableItemProps
|
|
|
2088
2931
|
declare function SortableDndContext({ children, onMove, renderOverlay }: SortableDndContextProps): react_jsx_runtime.JSX.Element;
|
|
2089
2932
|
declare function Sortable({ items, onReorder, renderItem, id, className, style }: SortableProps): react_jsx_runtime.JSX.Element;
|
|
2090
2933
|
|
|
2091
|
-
export { Accordion, type AccordionItemProps, type AccordionProps, AlertBanner, type AlertBannerProps, type AlertBannerTone, AppBar, type AppBarProps, type AppBarVariant, AppShell, type AppShellProps, Autocomplete, type AutocompleteProps, Avatar, type AvatarPresence, type AvatarPresencePosition, type AvatarProps, type AvatarSize, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, type BadgeTone, BottomSheet, type BottomSheetHeight, type BottomSheetProps, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Calendar, type CalendarEvent, type CalendarProps, Card, type CardProps, type CardVariant, Carousel, type CarouselProps, type CarouselSlide, Checkbox, type CheckboxProps, Chip, type ChipProps, type ChipTone, Coachmark, type CoachmarkProps, ConfirmDialog, type ConfirmDialogProps, ContextMenu, type ContextMenuItem, type ContextMenuProps, CopyToClipboard, type CopyToClipboardProps, DSPortal, type DSPortalProps, DatePicker, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, EmptyState, type EmptyStateProps, FieldError, type FieldErrorProps, Footer, type FooterColumn, type FooterProps, type FooterVariant, FormErrorSummary, type FormErrorSummaryProps, HoverCard, type HoverCardPlacement, type HoverCardProps, InfiniteList, type InfiniteListProps, InlineConfirm, type InlineConfirmProps, type InlineConfirmTriggerProps, InlineEdit, type InlineEditProps, Lightbox, type LightboxItem, type LightboxProps, Modal, type ModalProps, type ModalRole, MultiSelect, type MultiSelectOption, type MultiSelectProps, NumberStepper, type NumberStepperProps, PasswordStrength, type PasswordStrengthProps, Popover, type PopoverPlacement, type PopoverProps, type PopoverVariant, ProgressBar, type ProgressBarProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RichText, type RichTextProps, RollingNumber, type RollingNumberProps, SearchAndFilters, type SearchAndFiltersProps, type SearchFilter, type SearchSuggestion, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Select, type SelectOption, type SelectProps, Sheet, type SheetProps, type SheetSide, Skeleton, type SkeletonProps, type SkeletonShape, Sortable, SortableDndContext, type SortableDndContextProps, SortableItem, type SortableItemData, type SortableItemProps, type SortableProps, SplitButton, type SplitButtonAction, type SplitButtonProps, StarRating, type StarRatingProps, type StarRatingSize, StickyNote, type StickyNoteProps, type StickyNoteRotation, type TabItem, Table, type TableHeaderCellProps, type TableRootProps, Tabs, type TabsProps, TextInput, type TextInputProps, Textarea, type TextareaProps, Timeline, type TimelineEvent, type TimelineProps, type ToastOptions, ToastProvider, type ToastProviderProps, type ToastTone, Toggle, type ToggleProps, Tooltip, type TooltipPlacement, type TooltipProps, Wizard, type WizardProps, type WizardStep, deriveGradient, deriveInitials, useToast };
|
|
2934
|
+
export { Accordion, type AccordionItemProps, type AccordionProps, ActionSheet, type ActionSheetItem, type ActionSheetProps, AlertBanner, type AlertBannerProps, type AlertBannerTone, AppBar, type AppBarProps, type AppBarVariant, AppShell, type AppShellProps, Autocomplete, type AutocompleteProps, Avatar, type AvatarPresence, type AvatarPresencePosition, type AvatarProps, type AvatarSize, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, type BadgeTone, BottomSheet, type BottomSheetHeight, type BottomSheetProps, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Calendar, type CalendarEvent, type CalendarProps, Card, type CardProps, type CardVariant, Carousel, type CarouselProps, type CarouselSlide, Checkbox, type CheckboxProps, Chip, type ChipProps, type ChipTone, Coachmark, type CoachmarkProps, ColorInput, type ColorInputProps, ColorPicker, type ColorPickerProps, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, ConfirmDialog, type ConfirmDialogProps, type ConfirmDialogTone, ContextMenu, type ContextMenuItem, type ContextMenuProps, CopyToClipboard, type CopyToClipboardProps, DSPortal, type DSPortalProps, DataGrid, type DataGridColumn, type DataGridProps, type DataGridRow, DatePicker, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, Divider, type DividerProps, DotGrid, type DotGridProps, EmptyState, type EmptyStateProps, Eyebrow, type EyebrowProps, type EyebrowSize, FieldError, type FieldErrorProps, FileInput, type FileInputProps, Footer, type FooterColumn, type FooterProps, type FooterVariant, FormErrorSummary, type FormErrorSummaryProps, Heading, type HeadingLevel, type HeadingProps, HoverCard, type HoverCardPlacement, type HoverCardProps, InfiniteList, type InfiniteListProps, InlineAddRow, type InlineAddRowProps, InlineConfirm, type InlineConfirmProps, type InlineConfirmTriggerProps, InlineEdit, InlineEditField, type InlineEditFieldProps, type InlineEditProps, Kbd, type KbdProps, type KbdSize, Lightbox, type LightboxItem, type LightboxProps, Link, type LinkProps, type LinkVariant, MiniBar, type MiniBarProps, MiniDonut, type MiniDonutProps, Modal, type ModalProps, type ModalRole, MultiSelect, type MultiSelectOption, type MultiSelectProps, NumberStepper, type NumberStepperProps, OAuthButton, type OAuthButtonProps, type OAuthProvider, Pagination, type PaginationProps, PasswordStrength, type PasswordStrengthProps, Popover, type PopoverPlacement, type PopoverProps, type PopoverVariant, ProgressBar, type ProgressBarProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RelativeTime, type RelativeTimeProps, RichText, type RichTextProps, RollingNumber, type RollingNumberProps, SearchAndFilters, type SearchAndFiltersProps, type SearchFilter, type SearchSuggestion, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Select, type SelectOption, type SelectProps, Sheet, type SheetProps, type SheetSide, Skeleton, type SkeletonProps, type SkeletonShape, type SnackbarAction, type SnackbarOptions, SnackbarProvider, type SnackbarProviderProps, type SnackbarTone, Sortable, SortableDndContext, type SortableDndContextProps, SortableItem, type SortableItemData, type SortableItemProps, type SortableProps, Sparkline, type SparklineProps, SplitButton, type SplitButtonAction, type SplitButtonProps, SplitHero, type SplitHeroProps, StarRating, type StarRatingProps, type StarRatingSize, StatCard, type StatCardChangeDir, type StatCardProps, StatusPill, type StatusPillProps, type StatusPillStage, StickyNote, type StickyNoteProps, type StickyNoteRotation, type TabItem, Table, type TableHeaderCellProps, type TableRootProps, Tabs, type TabsProps, Text, type TextElement, TextInput, type TextInputProps, type TextProps, type TextVariant, Textarea, type TextareaProps, Timeline, type TimelineEvent, type TimelineProps, type ToastOptions, ToastProvider, type ToastProviderProps, type ToastTone, Toggle, type ToggleProps, Tooltip, type TooltipPlacement, type TooltipProps, TypeToConfirm, type TypeToConfirmProps, Wizard, type WizardProps, type WizardStep, deriveGradient, deriveInitials, useSnackbar, useToast };
|