@lovett/ui 0.0.5 → 0.0.7
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/index.d.ts +279 -115
- package/dist/index.js +479 -66
- package/dist/index.js.map +1 -1
- package/dist/styles.css +74 -0
- package/dist/tokens.css +181 -60
- package/package.json +16 -4
- package/src/__tests__/button.test.tsx +137 -0
- package/src/__tests__/card.test.tsx +103 -0
- package/src/__tests__/dead-render.test.tsx +117 -0
- package/src/__tests__/input.test.tsx +134 -0
- package/src/__tests__/modal.test.tsx +154 -0
- package/src/__tests__/page-shell.test.tsx +128 -0
- package/src/__tests__/setup.ts +43 -0
- package/src/__tests__/token-shape.test.ts +193 -0
- package/src/card.tsx +1 -1
- package/src/collapsible-card.tsx +85 -0
- package/src/data-grid/table-body.tsx +8 -1
- package/src/dropdown-menu.tsx +1 -1
- package/src/floating-status-bar.tsx +1 -1
- package/src/folder-tree-picker.tsx +5 -6
- package/src/frame-stack.tsx +27 -10
- package/src/hero-form-card.tsx +2 -2
- package/src/icons/brand.tsx +187 -0
- package/src/index.ts +32 -0
- package/src/lib/clipboard.ts +14 -0
- package/src/lib/color.ts +111 -0
- package/src/meta-cell.tsx +52 -0
- package/src/meta-previews/MetaFeedCarousel.tsx +1 -1
- package/src/meta-previews/MetaFeedPreview.tsx +1 -1
- package/src/modal.tsx +77 -6
- package/src/pill-button.tsx +23 -5
- package/src/profile-section.tsx +40 -9
- package/src/sortable-table.tsx +5 -1
- package/src/styles.css +74 -0
- package/src/tabs.tsx +4 -0
- package/src/tag-chip-input.tsx +1 -1
- package/src/theme-v2.css +466 -0
- package/src/tokens.css +181 -60
- package/src/v2/README.md +208 -0
- package/src/v2/__demo__/showcase.tsx +1045 -0
- package/src/v2/action.tsx +91 -0
- package/src/v2/callout.tsx +76 -0
- package/src/v2/document-section.tsx +82 -0
- package/src/v2/document-shell.tsx +0 -0
- package/src/v2/field-row.tsx +113 -0
- package/src/v2/icons.tsx +165 -0
- package/src/v2/index.ts +147 -0
- package/src/v2/layout.tsx +293 -0
- package/src/v2/progress-track.tsx +89 -0
- package/src/v2/stat-tile.tsx +129 -0
- package/src/v2/states.tsx +271 -0
- package/src/v2/status-pill.tsx +74 -0
- package/src/v2/theme.css +1861 -0
- package/src/v2/timeline.tsx +81 -0
- package/src/v2/tokens.ts +228 -0
- package/src/value-chip.tsx +76 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
1
|
import * as react from 'react';
|
|
3
2
|
import react__default, { HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, CSSProperties, RefObject, ComponentProps, ComponentType, FormHTMLAttributes, FormEvent } from 'react';
|
|
4
3
|
import { Toaster as Toaster$1 } from 'sonner';
|
|
@@ -34,21 +33,21 @@ interface CardProps extends DivProps {
|
|
|
34
33
|
interactive?: boolean;
|
|
35
34
|
}
|
|
36
35
|
declare const CardRoot: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
|
|
37
|
-
declare function Head({ className, ...rest }: DivProps):
|
|
38
|
-
declare function Body({ className, ...rest }: DivProps):
|
|
39
|
-
declare function Tray$1({ className, ...rest }: DivProps):
|
|
40
|
-
declare function Foot({ className, ...rest }: DivProps):
|
|
41
|
-
declare function Title({ children, className, ...rest }: HTMLAttributes<HTMLDivElement>):
|
|
36
|
+
declare function Head({ className, ...rest }: DivProps): react.JSX.Element;
|
|
37
|
+
declare function Body({ className, ...rest }: DivProps): react.JSX.Element;
|
|
38
|
+
declare function Tray$1({ className, ...rest }: DivProps): react.JSX.Element;
|
|
39
|
+
declare function Foot({ className, ...rest }: DivProps): react.JSX.Element;
|
|
40
|
+
declare function Title({ children, className, ...rest }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
|
|
42
41
|
declare function Desc({ children, className, ...rest }: HTMLAttributes<HTMLDivElement> & {
|
|
43
42
|
clamp?: 2 | 3;
|
|
44
|
-
}):
|
|
45
|
-
declare function Meta({ className, ...rest }: DivProps):
|
|
43
|
+
}): react.JSX.Element;
|
|
44
|
+
declare function Meta({ className, ...rest }: DivProps): react.JSX.Element;
|
|
46
45
|
declare function MetaItem({ icon, children, className, }: {
|
|
47
46
|
icon?: ReactNode;
|
|
48
47
|
children: ReactNode;
|
|
49
48
|
className?: string;
|
|
50
|
-
}):
|
|
51
|
-
declare function Actions({ className, ...rest }: DivProps):
|
|
49
|
+
}): react.JSX.Element;
|
|
50
|
+
declare function Actions({ className, ...rest }: DivProps): react.JSX.Element;
|
|
52
51
|
interface ActionButtonProps$1 extends HTMLAttributes<HTMLButtonElement> {
|
|
53
52
|
danger?: boolean;
|
|
54
53
|
}
|
|
@@ -63,13 +62,13 @@ declare function IconTile({ bg, fg, size, className, children, }: {
|
|
|
63
62
|
size?: number;
|
|
64
63
|
className?: string;
|
|
65
64
|
children: ReactNode;
|
|
66
|
-
}):
|
|
65
|
+
}): react.JSX.Element;
|
|
67
66
|
/** Tag row helper — reads `--tag-bg`/`--border` automatically. */
|
|
68
67
|
declare function TagRow({ tags, max, className, }: {
|
|
69
68
|
tags: string[];
|
|
70
69
|
max?: number;
|
|
71
70
|
className?: string;
|
|
72
|
-
}):
|
|
71
|
+
}): react.JSX.Element;
|
|
73
72
|
type CardComponent = typeof CardRoot & {
|
|
74
73
|
Head: typeof Head;
|
|
75
74
|
Body: typeof Body;
|
|
@@ -86,6 +85,22 @@ type CardComponent = typeof CardRoot & {
|
|
|
86
85
|
};
|
|
87
86
|
declare const Card: CardComponent;
|
|
88
87
|
|
|
88
|
+
interface CollapsibleCardProps {
|
|
89
|
+
title: ReactNode;
|
|
90
|
+
/** Optional leading icon (rendered before the title). */
|
|
91
|
+
icon?: ReactNode;
|
|
92
|
+
/** Optional header content after the title (e.g. a count or subtitle). */
|
|
93
|
+
meta?: ReactNode;
|
|
94
|
+
/** Right-aligned header controls, kept outside the collapse toggle. */
|
|
95
|
+
actions?: ReactNode;
|
|
96
|
+
/** Start expanded (default) or collapsed. */
|
|
97
|
+
defaultOpen?: boolean;
|
|
98
|
+
/** Body padding utility; pass '' for full-bleed bodies (e.g. tables). */
|
|
99
|
+
contentClassName?: string;
|
|
100
|
+
children: ReactNode;
|
|
101
|
+
}
|
|
102
|
+
declare function CollapsibleCard({ title, icon, meta, actions, defaultOpen, contentClassName, children, }: CollapsibleCardProps): react.JSX.Element;
|
|
103
|
+
|
|
89
104
|
type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'destructive-soft' | 'icon' | 'toolbar';
|
|
90
105
|
type ButtonSize = 'sm' | 'md' | 'lg';
|
|
91
106
|
type ButtonShape = 'default' | 'circle';
|
|
@@ -107,7 +122,7 @@ interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
107
122
|
/** One or more `<Button>` elements. */
|
|
108
123
|
children: ReactNode;
|
|
109
124
|
}
|
|
110
|
-
declare function ButtonGroup({ children, className, role, ...rest }: ButtonGroupProps):
|
|
125
|
+
declare function ButtonGroup({ children, className, role, ...rest }: ButtonGroupProps): react.JSX.Element;
|
|
111
126
|
|
|
112
127
|
type InputSize = 'sm' | 'md' | 'lg';
|
|
113
128
|
interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix'> {
|
|
@@ -179,10 +194,10 @@ interface ModalProps {
|
|
|
179
194
|
children: ReactNode;
|
|
180
195
|
className?: string;
|
|
181
196
|
}
|
|
182
|
-
declare function Modal({ isOpen, onClose, title, children, className }: ModalProps):
|
|
197
|
+
declare function Modal({ isOpen, onClose, title, children, className }: ModalProps): react.JSX.Element | null;
|
|
183
198
|
declare namespace Modal {
|
|
184
|
-
var Tray: ({ className, ...rest }: HTMLAttributes<HTMLDivElement>) =>
|
|
185
|
-
var Footer: ({ className, ...rest }: HTMLAttributes<HTMLDivElement>) =>
|
|
199
|
+
var Tray: ({ className, ...rest }: HTMLAttributes<HTMLDivElement>) => react.JSX.Element;
|
|
200
|
+
var Footer: ({ className, ...rest }: HTMLAttributes<HTMLDivElement>) => react.JSX.Element;
|
|
186
201
|
}
|
|
187
202
|
|
|
188
203
|
type Side$1 = 'right' | 'bottom';
|
|
@@ -245,7 +260,7 @@ interface FloatingDrawerProps {
|
|
|
245
260
|
* the right-drawer's body padding so the action bar feels integrated. */
|
|
246
261
|
headerClassName?: string;
|
|
247
262
|
}
|
|
248
|
-
declare function FloatingDrawer({ isOpen, onClose, side, size, resizable, onResize, title, titleSlot, footer, children, className, panelClassName, modal, anchor, showClose, headerClassName, collapsed, }: FloatingDrawerProps):
|
|
263
|
+
declare function FloatingDrawer({ isOpen, onClose, side, size, resizable, onResize, title, titleSlot, footer, children, className, panelClassName, modal, anchor, showClose, headerClassName, collapsed, }: FloatingDrawerProps): react.JSX.Element;
|
|
249
264
|
/**
|
|
250
265
|
* DetailSection — small label/value layout for drawer body content.
|
|
251
266
|
* Ports verbatim from brand-ai-extension's detail-drawer.tsx.
|
|
@@ -254,7 +269,7 @@ declare function DetailSection({ label, children, className, }: {
|
|
|
254
269
|
label: string;
|
|
255
270
|
children: ReactNode;
|
|
256
271
|
className?: string;
|
|
257
|
-
}):
|
|
272
|
+
}): react.JSX.Element;
|
|
258
273
|
|
|
259
274
|
type BrandLogoTileSize = 'xs' | 'sm' | 'md' | 'lg' | number;
|
|
260
275
|
interface BrandLogoTileProps {
|
|
@@ -300,12 +315,12 @@ interface BrandLogoTileProps {
|
|
|
300
315
|
className?: string;
|
|
301
316
|
style?: CSSProperties;
|
|
302
317
|
}
|
|
303
|
-
declare function BrandLogoTile({ size, url, name, isFavicon, accentGlow, fallbackChar, background, color, borderless, className, style, }: BrandLogoTileProps):
|
|
318
|
+
declare function BrandLogoTile({ size, url, name, isFavicon, accentGlow, fallbackChar, background, color, borderless, className, style, }: BrandLogoTileProps): react.JSX.Element;
|
|
304
319
|
|
|
305
320
|
interface ActionButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
306
321
|
label: string;
|
|
307
322
|
}
|
|
308
|
-
declare function ActionButton({ label, className, children, ...rest }: ActionButtonProps):
|
|
323
|
+
declare function ActionButton({ label, className, children, ...rest }: ActionButtonProps): react.JSX.Element;
|
|
309
324
|
interface FootProps {
|
|
310
325
|
meta?: ReactNode;
|
|
311
326
|
link?: {
|
|
@@ -317,7 +332,7 @@ interface FootProps {
|
|
|
317
332
|
/** FootItem — a single icon+text item inside the foot. */
|
|
318
333
|
declare function FootItem({ children }: {
|
|
319
334
|
children: ReactNode;
|
|
320
|
-
}):
|
|
335
|
+
}): react.JSX.Element;
|
|
321
336
|
interface BaseProps {
|
|
322
337
|
/** DOM id and `data-section-id` for ChipNav scroll-spy. */
|
|
323
338
|
id: string;
|
|
@@ -331,6 +346,20 @@ interface BaseProps {
|
|
|
331
346
|
foot?: FootProps;
|
|
332
347
|
/** Extra padding tweak. */
|
|
333
348
|
className?: string;
|
|
349
|
+
/**
|
|
350
|
+
* Render as a SINGLE flat surface — header, divider, body — instead of
|
|
351
|
+
* the default frame-plus-inner-tray.
|
|
352
|
+
*
|
|
353
|
+
* Use this when the section is already inside a <FrameStack>. A framed
|
|
354
|
+
* section nested in a frame gives you three surface tiers (group frame →
|
|
355
|
+
* section frame → tray), which reads as boxes inside boxes. Flat is the
|
|
356
|
+
* shape <SectionCard> uses in the Social Spec builder, and it is what
|
|
357
|
+
* makes a group of sections read as one contained unit rather than as a
|
|
358
|
+
* stack of independent cards.
|
|
359
|
+
*
|
|
360
|
+
* Default (false) is unchanged, so every existing consumer is unaffected.
|
|
361
|
+
*/
|
|
362
|
+
flat?: boolean;
|
|
334
363
|
}
|
|
335
364
|
interface StaticSectionProps extends BaseProps {
|
|
336
365
|
/** Right-side header actions (override default pencil/generate). */
|
|
@@ -355,7 +384,7 @@ interface EditableSectionProps extends BaseProps {
|
|
|
355
384
|
actions?: undefined;
|
|
356
385
|
}
|
|
357
386
|
type ProfileSectionProps = StaticSectionProps | EditableSectionProps;
|
|
358
|
-
declare function ProfileSection(props: ProfileSectionProps):
|
|
387
|
+
declare function ProfileSection(props: ProfileSectionProps): react.JSX.Element;
|
|
359
388
|
type ProfileSectionComponent = typeof ProfileSection & {
|
|
360
389
|
ActionButton: typeof ActionButton;
|
|
361
390
|
FootItem: typeof FootItem;
|
|
@@ -435,7 +464,7 @@ interface ChipNavProps {
|
|
|
435
464
|
*/
|
|
436
465
|
density?: 'comfortable' | 'compact';
|
|
437
466
|
}
|
|
438
|
-
declare function ChipNav({ items, scrollContainer, stickyTop, scrollOffset, actions, className, style, surface, activeId: activeIdProp, onItemClick, position, density, }: ChipNavProps):
|
|
467
|
+
declare function ChipNav({ items, scrollContainer, stickyTop, scrollOffset, actions, className, style, surface, activeId: activeIdProp, onItemClick, position, density, }: ChipNavProps): react.JSX.Element;
|
|
439
468
|
|
|
440
469
|
interface CompletionRingProps {
|
|
441
470
|
/** 0–100. Values outside the range are clamped. */
|
|
@@ -460,7 +489,7 @@ interface CompletionRingProps {
|
|
|
460
489
|
className?: string;
|
|
461
490
|
style?: CSSProperties;
|
|
462
491
|
}
|
|
463
|
-
declare function CompletionRing({ percent, size, strokeWidth, label, showLabel, trackColor, fillColor, className, style, }: CompletionRingProps):
|
|
492
|
+
declare function CompletionRing({ percent, size, strokeWidth, label, showLabel, trackColor, fillColor, className, style, }: CompletionRingProps): react.JSX.Element;
|
|
464
493
|
|
|
465
494
|
/**
|
|
466
495
|
* MicrosoftLogo — the Microsoft four-square brand mark, for "Sign in with
|
|
@@ -476,7 +505,64 @@ interface MicrosoftLogoProps {
|
|
|
476
505
|
size?: number;
|
|
477
506
|
className?: string;
|
|
478
507
|
}
|
|
479
|
-
declare function MicrosoftLogo({ size, className }: MicrosoftLogoProps):
|
|
508
|
+
declare function MicrosoftLogo({ size, className }: MicrosoftLogoProps): react.JSX.Element;
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Brand platform glyphs — real mono (currentColor) marks for the ad platforms
|
|
512
|
+
* the Social Spec builds for, replacing approximate Lucide stand-ins (Ghost for
|
|
513
|
+
* Snapchat, Home for Nextdoor, Music for TikTok, Megaphone for Meta). ADR-135.
|
|
514
|
+
*
|
|
515
|
+
* `@lovett/ui` is the one allowed home for bespoke SVG definitions (CLAUDE.md
|
|
516
|
+
* §2/§6) — same rationale as `MicrosoftLogo`. Path data is extracted from the
|
|
517
|
+
* owner's MIT-licensed fork github.com/edwinlov3tt/logos-apps (upstream: the
|
|
518
|
+
* ln-dev7 "logos" collection); each glyph is normalized to a single-colour
|
|
519
|
+
* `currentColor` silhouette so it adapts to its context (active pill = white,
|
|
520
|
+
* inactive tab = grey) — full-colour marks would clash inside the red pill.
|
|
521
|
+
* Extraction choices were picked by visual review; Facebook, Messenger and
|
|
522
|
+
* TikTok silhouettes are true path-boolean derivations of the official marks
|
|
523
|
+
* (disc⊖f, bubble⊖bolt, glitch-layer union — computed offline with paper.js,
|
|
524
|
+
* baked here as static path data).
|
|
525
|
+
*
|
|
526
|
+
* Marks are trademarks of their platforms — used nominatively to refer to the
|
|
527
|
+
* platforms themselves, exactly like the platform-chrome in the ad previews.
|
|
528
|
+
*/
|
|
529
|
+
interface BrandIconProps {
|
|
530
|
+
/** Square box size in px; the glyph letterboxes inside (non-square viewBoxes
|
|
531
|
+
* centre via preserveAspectRatio). Default 16 — a tab/affix glyph. */
|
|
532
|
+
size?: number;
|
|
533
|
+
className?: string;
|
|
534
|
+
}
|
|
535
|
+
/** Meta brand glyph (mono, currentColor). */
|
|
536
|
+
declare function BrandMeta({ size, className }: BrandIconProps): react.JSX.Element;
|
|
537
|
+
/** Facebook brand glyph (mono, currentColor). */
|
|
538
|
+
declare function BrandFacebook({ size, className }: BrandIconProps): react.JSX.Element;
|
|
539
|
+
/** Instagram brand glyph (mono, currentColor). */
|
|
540
|
+
declare function BrandInstagram({ size, className }: BrandIconProps): react.JSX.Element;
|
|
541
|
+
/** Messenger brand glyph (mono, currentColor). */
|
|
542
|
+
declare function BrandMessenger({ size, className }: BrandIconProps): react.JSX.Element;
|
|
543
|
+
/** LinkedIn brand glyph (mono, currentColor). */
|
|
544
|
+
declare function BrandLinkedIn({ size, className }: BrandIconProps): react.JSX.Element;
|
|
545
|
+
/** Nextdoor brand glyph (mono, currentColor). */
|
|
546
|
+
declare function BrandNextdoor({ size, className }: BrandIconProps): react.JSX.Element;
|
|
547
|
+
/** Pinterest brand glyph (mono, currentColor). */
|
|
548
|
+
declare function BrandPinterest({ size, className }: BrandIconProps): react.JSX.Element;
|
|
549
|
+
/** Snapchat brand glyph (mono, currentColor). */
|
|
550
|
+
declare function BrandSnapchat({ size, className }: BrandIconProps): react.JSX.Element;
|
|
551
|
+
/** TikTok brand glyph (mono, currentColor). */
|
|
552
|
+
declare function BrandTikTok({ size, className }: BrandIconProps): react.JSX.Element;
|
|
553
|
+
/** Keyed map for registry-style resolution (e.g. the Social Spec tactic icons). */
|
|
554
|
+
declare const BRAND_ICONS: {
|
|
555
|
+
readonly meta: typeof BrandMeta;
|
|
556
|
+
readonly facebook: typeof BrandFacebook;
|
|
557
|
+
readonly instagram: typeof BrandInstagram;
|
|
558
|
+
readonly messenger: typeof BrandMessenger;
|
|
559
|
+
readonly linkedin: typeof BrandLinkedIn;
|
|
560
|
+
readonly nextdoor: typeof BrandNextdoor;
|
|
561
|
+
readonly pinterest: typeof BrandPinterest;
|
|
562
|
+
readonly snapchat: typeof BrandSnapchat;
|
|
563
|
+
readonly tiktok: typeof BrandTikTok;
|
|
564
|
+
};
|
|
565
|
+
type BrandIconKey = keyof typeof BRAND_ICONS;
|
|
480
566
|
|
|
481
567
|
interface ChoroplethProps {
|
|
482
568
|
/** `radius` → concentric circles; `isochrone` → concentric polygons. */
|
|
@@ -484,7 +570,7 @@ interface ChoroplethProps {
|
|
|
484
570
|
className?: string;
|
|
485
571
|
style?: CSSProperties;
|
|
486
572
|
}
|
|
487
|
-
declare function Choropleth({ mode, className, style }: ChoroplethProps):
|
|
573
|
+
declare function Choropleth({ mode, className, style }: ChoroplethProps): react.JSX.Element;
|
|
488
574
|
|
|
489
575
|
type Crumb = {
|
|
490
576
|
label: string;
|
|
@@ -520,7 +606,7 @@ interface PageShellProps {
|
|
|
520
606
|
}
|
|
521
607
|
declare function PageHeaderSlotProvider({ children }: {
|
|
522
608
|
children: ReactNode;
|
|
523
|
-
}):
|
|
609
|
+
}): react.JSX.Element;
|
|
524
610
|
/**
|
|
525
611
|
* Page shell — promoted from brand-ai-extension Phase 2a (ADR-009 Decision 7).
|
|
526
612
|
*
|
|
@@ -533,7 +619,7 @@ declare function PageHeaderSlotProvider({ children }: {
|
|
|
533
619
|
* rendering its own bar — the workspace uses this to merge the lens crumbs
|
|
534
620
|
* onto the same row as the workspace sidebar toggle.
|
|
535
621
|
*/
|
|
536
|
-
declare function PageShell({ crumbs, breadcrumb, title, actions, headerCenter, children, contentClassName, }: PageShellProps):
|
|
622
|
+
declare function PageShell({ crumbs, breadcrumb, title, actions, headerCenter, children, contentClassName, }: PageShellProps): react.JSX.Element;
|
|
537
623
|
|
|
538
624
|
/**
|
|
539
625
|
* PageHeaderHost — single workspace-level header bar that the active
|
|
@@ -570,7 +656,7 @@ declare function PageHeaderHost({ leading, center, trailing, padX, }: {
|
|
|
570
656
|
*/
|
|
571
657
|
center?: ReactNode;
|
|
572
658
|
trailing?: ReactNode;
|
|
573
|
-
}):
|
|
659
|
+
}): react.JSX.Element;
|
|
574
660
|
/**
|
|
575
661
|
* Scrollable wrapper that exposes its scrollRef via a render prop so
|
|
576
662
|
* the consuming header (PageShell's internal PageHeader) can subscribe
|
|
@@ -579,7 +665,7 @@ declare function PageHeaderHost({ leading, center, trailing, padX, }: {
|
|
|
579
665
|
declare function AppScroll({ children, className, }: {
|
|
580
666
|
children: (scrollRef: RefObject<HTMLDivElement | null>) => ReactNode;
|
|
581
667
|
className?: string;
|
|
582
|
-
}):
|
|
668
|
+
}): react.JSX.Element;
|
|
583
669
|
|
|
584
670
|
type SonnerToasterProps = ComponentProps<typeof Toaster$1>;
|
|
585
671
|
/**
|
|
@@ -592,18 +678,18 @@ type SonnerToasterProps = ComponentProps<typeof Toaster$1>;
|
|
|
592
678
|
* Apps can override any prop (position, duration, theme, etc.) by
|
|
593
679
|
* passing it through.
|
|
594
680
|
*/
|
|
595
|
-
declare function Toaster(props: SonnerToasterProps):
|
|
681
|
+
declare function Toaster(props: SonnerToasterProps): react.JSX.Element;
|
|
596
682
|
|
|
597
683
|
declare function SectionLabel({ children }: {
|
|
598
684
|
children: ReactNode;
|
|
599
|
-
}):
|
|
685
|
+
}): react.JSX.Element;
|
|
600
686
|
declare function IdentityLabel({ children }: {
|
|
601
687
|
children: ReactNode;
|
|
602
|
-
}):
|
|
688
|
+
}): react.JSX.Element;
|
|
603
689
|
declare function IdentityValue({ children, className, }: {
|
|
604
690
|
children: ReactNode;
|
|
605
691
|
className?: string;
|
|
606
|
-
}):
|
|
692
|
+
}): react.JSX.Element;
|
|
607
693
|
declare function TextInput({ value, onChange, placeholder, autoFocus, autoComplete, name, }: {
|
|
608
694
|
value: string;
|
|
609
695
|
onChange: (v: string) => void;
|
|
@@ -613,7 +699,7 @@ declare function TextInput({ value, onChange, placeholder, autoFocus, autoComple
|
|
|
613
699
|
autoComplete?: string | undefined;
|
|
614
700
|
/** Forwarded so the field participates in form submission / autofill heuristics. */
|
|
615
701
|
name?: string | undefined;
|
|
616
|
-
}):
|
|
702
|
+
}): react.JSX.Element;
|
|
617
703
|
declare function TextareaInput({ value, onChange, placeholder, autoFocus, autoComplete, name, rows, }: {
|
|
618
704
|
value: string;
|
|
619
705
|
onChange: (v: string) => void;
|
|
@@ -622,15 +708,15 @@ declare function TextareaInput({ value, onChange, placeholder, autoFocus, autoCo
|
|
|
622
708
|
autoComplete?: string | undefined;
|
|
623
709
|
name?: string | undefined;
|
|
624
710
|
rows?: number | undefined;
|
|
625
|
-
}):
|
|
711
|
+
}): react.JSX.Element;
|
|
626
712
|
declare function EmptyPlaceholder({ label, description, onAdd, }: {
|
|
627
713
|
label: string;
|
|
628
714
|
description?: string | undefined;
|
|
629
715
|
onAdd?: (() => void) | undefined;
|
|
630
|
-
}):
|
|
716
|
+
}): react.JSX.Element;
|
|
631
717
|
declare function ListItem({ children }: {
|
|
632
718
|
children: ReactNode;
|
|
633
|
-
}):
|
|
719
|
+
}): react.JSX.Element;
|
|
634
720
|
|
|
635
721
|
type Strategy = 'vertical' | 'horizontal' | 'grid';
|
|
636
722
|
declare function SortableList<T>({ items, getId, onReorder, strategy, children, }: {
|
|
@@ -639,7 +725,7 @@ declare function SortableList<T>({ items, getId, onReorder, strategy, children,
|
|
|
639
725
|
onReorder: (items: T[]) => void;
|
|
640
726
|
strategy?: Strategy;
|
|
641
727
|
children: ReactNode;
|
|
642
|
-
}):
|
|
728
|
+
}): react.JSX.Element;
|
|
643
729
|
declare function SortableItem({ id, children, }: {
|
|
644
730
|
id: string;
|
|
645
731
|
children: (props: {
|
|
@@ -648,11 +734,11 @@ declare function SortableItem({ id, children, }: {
|
|
|
648
734
|
style: CSSProperties;
|
|
649
735
|
isDragging: boolean;
|
|
650
736
|
}) => ReactNode;
|
|
651
|
-
}):
|
|
737
|
+
}): react.JSX.Element;
|
|
652
738
|
declare function DragHandle({ dragHandleProps, className, }: {
|
|
653
739
|
dragHandleProps: HTMLAttributes<HTMLElement>;
|
|
654
740
|
className?: string;
|
|
655
|
-
}):
|
|
741
|
+
}): react.JSX.Element;
|
|
656
742
|
|
|
657
743
|
interface EmptyStateProps {
|
|
658
744
|
/** Lucide icon (or any ReactNode) rendered inside the 56×56 tile.
|
|
@@ -668,7 +754,7 @@ interface EmptyStateProps {
|
|
|
668
754
|
* (e.g. when the parent already provides vertical padding). */
|
|
669
755
|
className?: string;
|
|
670
756
|
}
|
|
671
|
-
declare function EmptyState({ icon, title, description, actions, className, }: EmptyStateProps):
|
|
757
|
+
declare function EmptyState({ icon, title, description, actions, className, }: EmptyStateProps): react.JSX.Element;
|
|
672
758
|
|
|
673
759
|
interface RadioGroupProps<T extends string = string> {
|
|
674
760
|
/** Form name — required for proper radio semantics + form submission. */
|
|
@@ -688,7 +774,7 @@ interface RadioGroupProps<T extends string = string> {
|
|
|
688
774
|
/** Disable every child radio. */
|
|
689
775
|
disabled?: boolean;
|
|
690
776
|
}
|
|
691
|
-
declare function RadioGroup<T extends string = string>({ name, value, onChange, children, ariaLabel, orientation, className, disabled, }: RadioGroupProps<T>):
|
|
777
|
+
declare function RadioGroup<T extends string = string>({ name, value, onChange, children, ariaLabel, orientation, className, disabled, }: RadioGroupProps<T>): react.JSX.Element;
|
|
692
778
|
interface RadioProps {
|
|
693
779
|
/** Value emitted to the group's onChange when picked. */
|
|
694
780
|
value: string;
|
|
@@ -714,7 +800,7 @@ interface OptionTileProps {
|
|
|
714
800
|
disabled: boolean | undefined;
|
|
715
801
|
className: string | undefined;
|
|
716
802
|
}
|
|
717
|
-
declare function OptionTile({ selected, onSelect, inputType, inputName, label, description, disabled, className, }: OptionTileProps):
|
|
803
|
+
declare function OptionTile({ selected, onSelect, inputType, inputName, label, description, disabled, className, }: OptionTileProps): react.JSX.Element;
|
|
718
804
|
interface OptionTileGroupOption<T extends string> {
|
|
719
805
|
value: T;
|
|
720
806
|
label: ReactNode;
|
|
@@ -741,7 +827,7 @@ type OptionTileGroupProps<T extends string = string> = {
|
|
|
741
827
|
/** Optional shared `name` attr on the underlying checkboxes (rarely needed). */
|
|
742
828
|
name?: string;
|
|
743
829
|
};
|
|
744
|
-
declare function OptionTileGroup<T extends string = string>(props: OptionTileGroupProps<T>):
|
|
830
|
+
declare function OptionTileGroup<T extends string = string>(props: OptionTileGroupProps<T>): react.JSX.Element;
|
|
745
831
|
|
|
746
832
|
type MetricCardTone = 'neutral' | 'accent' | 'success' | 'warning' | 'destructive' | 'info';
|
|
747
833
|
interface MetricCardProps {
|
|
@@ -765,7 +851,7 @@ interface MetricCardProps {
|
|
|
765
851
|
/** Optional className override for the outer container. */
|
|
766
852
|
className?: string;
|
|
767
853
|
}
|
|
768
|
-
declare function MetricCard({ value, label, tone, icon, labelPosition, className, }: MetricCardProps):
|
|
854
|
+
declare function MetricCard({ value, label, tone, icon, labelPosition, className, }: MetricCardProps): react.JSX.Element;
|
|
769
855
|
|
|
770
856
|
/**
|
|
771
857
|
* ProgressBar — labeled fill bar.
|
|
@@ -789,7 +875,7 @@ interface ProgressBarProps {
|
|
|
789
875
|
/** Track height in px (default 8). */
|
|
790
876
|
height?: number;
|
|
791
877
|
}
|
|
792
|
-
declare function ProgressBar({ label, percent, status, height }: ProgressBarProps):
|
|
878
|
+
declare function ProgressBar({ label, percent, status, height }: ProgressBarProps): react.JSX.Element;
|
|
793
879
|
|
|
794
880
|
/**
|
|
795
881
|
* StepLoader — a sequential, multi-step loading indicator (3-5 steps). Each step
|
|
@@ -821,7 +907,7 @@ interface StepLoaderProps {
|
|
|
821
907
|
minLastStepMs?: number;
|
|
822
908
|
className?: string;
|
|
823
909
|
}
|
|
824
|
-
declare function StepLoader({ steps, done, onComplete, defaultStepMs, minLastStepMs, className, }: StepLoaderProps):
|
|
910
|
+
declare function StepLoader({ steps, done, onComplete, defaultStepMs, minLastStepMs, className, }: StepLoaderProps): react.JSX.Element;
|
|
825
911
|
|
|
826
912
|
type BadgeTone = 'neutral' | 'accent' | 'success' | 'warning' | 'destructive' | 'info';
|
|
827
913
|
interface BadgeProps {
|
|
@@ -838,7 +924,7 @@ interface BadgeProps {
|
|
|
838
924
|
/** Extra classes merged onto the outer span (no longer replaces base). */
|
|
839
925
|
className?: string;
|
|
840
926
|
}
|
|
841
|
-
declare function Badge({ tone, children, icon, dot, size, className, }: BadgeProps):
|
|
927
|
+
declare function Badge({ tone, children, icon, dot, size, className, }: BadgeProps): react.JSX.Element;
|
|
842
928
|
|
|
843
929
|
interface TokenBadgeProps {
|
|
844
930
|
/** Public token name to tint from, e.g. `--folder-teal`, `--accent`,
|
|
@@ -860,7 +946,79 @@ interface TokenBadgeProps {
|
|
|
860
946
|
uppercase?: boolean;
|
|
861
947
|
className?: string;
|
|
862
948
|
}
|
|
863
|
-
declare function TokenBadge({ colorVar, children, variant, dot, icon, size, shape, uppercase, className, }: TokenBadgeProps):
|
|
949
|
+
declare function TokenBadge({ colorVar, children, variant, dot, icon, size, shape, uppercase, className, }: TokenBadgeProps): react.JSX.Element;
|
|
950
|
+
|
|
951
|
+
interface ValueChipProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
|
|
952
|
+
children: ReactNode;
|
|
953
|
+
/** Makes the chip copyable. The toast reads "Copied <copyLabel>". */
|
|
954
|
+
copyValue?: string;
|
|
955
|
+
copyLabel?: string;
|
|
956
|
+
/** `sm` for dense rows (10px), `md` default (11px). */
|
|
957
|
+
size?: 'sm' | 'md';
|
|
958
|
+
/** Stretch to fill a flex row — the equal-thirds hex/rgb/hsl layout. */
|
|
959
|
+
fill?: boolean;
|
|
960
|
+
}
|
|
961
|
+
declare const ValueChip: react.ForwardRefExoticComponent<ValueChipProps & react.RefAttributes<HTMLButtonElement>>;
|
|
962
|
+
|
|
963
|
+
interface MetaCellProps extends HTMLAttributes<HTMLDivElement> {
|
|
964
|
+
label: ReactNode;
|
|
965
|
+
children: ReactNode;
|
|
966
|
+
/** Optional leading glyph in the label row. */
|
|
967
|
+
icon?: ReactNode;
|
|
968
|
+
}
|
|
969
|
+
declare const MetaCell: react.ForwardRefExoticComponent<MetaCellProps & react.RefAttributes<HTMLDivElement>>;
|
|
970
|
+
|
|
971
|
+
declare function copyText(value: string, label?: string): Promise<void>;
|
|
972
|
+
|
|
973
|
+
/**
|
|
974
|
+
* Colour maths for brand-palette surfaces — hex to rgb/hsl, WCAG contrast.
|
|
975
|
+
*
|
|
976
|
+
* Promoted from `apps/extension/src/sidepanel/color-utils.ts` when the
|
|
977
|
+
* workspace's Brand Profile grew the same colour cards the extension's
|
|
978
|
+
* Colors tab already had. Two consumers, one implementation — the same
|
|
979
|
+
* rule the platform-chrome tokens were consolidated under.
|
|
980
|
+
*
|
|
981
|
+
* Pure functions, no deps, no DOM.
|
|
982
|
+
*/
|
|
983
|
+
type RgbTuple = [number, number, number];
|
|
984
|
+
/** Parse `#abc` or `#aabbcc` (with or without the hash) into an rgb tuple. */
|
|
985
|
+
declare function hexToRgbTuple(hex: string): RgbTuple;
|
|
986
|
+
/** `"24, 119, 242"` — display form, the inside of an `rgb()`. */
|
|
987
|
+
declare function rgbString(hex: string): string;
|
|
988
|
+
/**
|
|
989
|
+
* `"rgb(24, 119, 242)"` — a complete CSS value, for copying.
|
|
990
|
+
*
|
|
991
|
+
* Lives here rather than being assembled at the call site because the
|
|
992
|
+
* token-boundary lint reads `rgb(...)` in app code as a raw colour
|
|
993
|
+
* literal — correctly, since it cannot tell a clipboard string from a
|
|
994
|
+
* style. packages/ui is the exempt substrate, so this is its job.
|
|
995
|
+
*/
|
|
996
|
+
declare function rgbCss(hex: string): string;
|
|
997
|
+
/** `"217° 89% 52%"` — display form, not a CSS value. */
|
|
998
|
+
declare function hslString(hex: string): string;
|
|
999
|
+
/** WCAG 2.1 relative luminance (sRGB). */
|
|
1000
|
+
declare function relativeLuminance(hex: string): number;
|
|
1001
|
+
/** Contrast ratio between two relative luminances. */
|
|
1002
|
+
declare function contrastRatio(a: number, b: number): number;
|
|
1003
|
+
/**
|
|
1004
|
+
* Whether black or white text reads better ON this colour, and at what
|
|
1005
|
+
* ratio. Used to pick a legible foreground for a swatch banner.
|
|
1006
|
+
*/
|
|
1007
|
+
declare function bestTextOn(hex: string): {
|
|
1008
|
+
onLight: boolean;
|
|
1009
|
+
ratio: number;
|
|
1010
|
+
};
|
|
1011
|
+
interface WcagBadge {
|
|
1012
|
+
label: string;
|
|
1013
|
+
pass: boolean;
|
|
1014
|
+
}
|
|
1015
|
+
/**
|
|
1016
|
+
* The three standard thresholds, scored against the BEST of black-or-white
|
|
1017
|
+
* text on this swatch. It answers "can any text sit on this colour", which
|
|
1018
|
+
* is the useful question for a brand palette — not "is this colour itself
|
|
1019
|
+
* readable", which depends on a background the palette doesn't know.
|
|
1020
|
+
*/
|
|
1021
|
+
declare function wcagBadges(hex: string): WcagBadge[];
|
|
864
1022
|
|
|
865
1023
|
/**
|
|
866
1024
|
* AllocationSparkbar — a compact per-period bar strip.
|
|
@@ -890,7 +1048,7 @@ interface AllocationSparkbarProps {
|
|
|
890
1048
|
height?: number;
|
|
891
1049
|
className?: string;
|
|
892
1050
|
}
|
|
893
|
-
declare function AllocationSparkbar({ values, baseColorVar, colorVars, labels, titles, height, className, }: AllocationSparkbarProps):
|
|
1051
|
+
declare function AllocationSparkbar({ values, baseColorVar, colorVars, labels, titles, height, className, }: AllocationSparkbarProps): react.JSX.Element;
|
|
894
1052
|
|
|
895
1053
|
type FloatingStatusTone = 'neutral' | 'accent' | 'success' | 'warning' | 'destructive' | 'info';
|
|
896
1054
|
interface FloatingStatusBarProps {
|
|
@@ -908,7 +1066,7 @@ interface FloatingStatusBarProps {
|
|
|
908
1066
|
* bottom-center. */
|
|
909
1067
|
className?: string;
|
|
910
1068
|
}
|
|
911
|
-
declare function FloatingStatusBar({ tone, label, meta, summary, action, className, }: FloatingStatusBarProps):
|
|
1069
|
+
declare function FloatingStatusBar({ tone, label, meta, summary, action, className, }: FloatingStatusBarProps): react.JSX.Element;
|
|
912
1070
|
|
|
913
1071
|
interface StatsGridProps {
|
|
914
1072
|
children: ReactNode;
|
|
@@ -918,7 +1076,7 @@ interface StatsGridProps {
|
|
|
918
1076
|
/** Optional className override for the outer container. */
|
|
919
1077
|
className?: string;
|
|
920
1078
|
}
|
|
921
|
-
declare function StatsGrid({ children, minColumnWidth, className, }: StatsGridProps):
|
|
1079
|
+
declare function StatsGrid({ children, minColumnWidth, className, }: StatsGridProps): react.JSX.Element;
|
|
922
1080
|
|
|
923
1081
|
interface Column<T> {
|
|
924
1082
|
/** Unique id; doubles as the sort key. Use a `keyof T` string or
|
|
@@ -957,7 +1115,7 @@ interface SortableTableProps<T> {
|
|
|
957
1115
|
/** Compact density (smaller padding). Default false. */
|
|
958
1116
|
compact?: boolean;
|
|
959
1117
|
}
|
|
960
|
-
declare function SortableTable<T>({ columns, rows, rowKey, initialSort, onRowClick, emptyState, zebra, compact, }: SortableTableProps<T>):
|
|
1118
|
+
declare function SortableTable<T>({ columns, rows, rowKey, initialSort, onRowClick, emptyState, zebra, compact, }: SortableTableProps<T>): react.JSX.Element;
|
|
961
1119
|
|
|
962
1120
|
/**
|
|
963
1121
|
* Pagination — "Showing X-Y of Z" + prev/next buttons.
|
|
@@ -979,7 +1137,7 @@ interface PaginationProps {
|
|
|
979
1137
|
totalItems: number;
|
|
980
1138
|
onPageChange: (page: number) => void;
|
|
981
1139
|
}
|
|
982
|
-
declare function Pagination({ currentPage, pageSize, totalItems, onPageChange, }: PaginationProps):
|
|
1140
|
+
declare function Pagination({ currentPage, pageSize, totalItems, onPageChange, }: PaginationProps): react.JSX.Element | null;
|
|
983
1141
|
|
|
984
1142
|
interface Tab {
|
|
985
1143
|
id: string;
|
|
@@ -989,6 +1147,9 @@ interface Tab {
|
|
|
989
1147
|
/** Optional count badge rendered after the label. */
|
|
990
1148
|
count?: number;
|
|
991
1149
|
disabled?: boolean;
|
|
1150
|
+
/** Accessible name for ICON-ONLY tabs (label rendered empty) — e.g. the
|
|
1151
|
+
* responsive platform switcher's compact tier (ADR-135). */
|
|
1152
|
+
ariaLabel?: string;
|
|
992
1153
|
}
|
|
993
1154
|
interface TabsProps {
|
|
994
1155
|
tabs: Tab[];
|
|
@@ -1002,7 +1163,7 @@ interface TabsProps {
|
|
|
1002
1163
|
stretch?: boolean;
|
|
1003
1164
|
className?: string;
|
|
1004
1165
|
}
|
|
1005
|
-
declare function Tabs({ tabs, activeTabId, onTabChange, size, variant, stretch, className, }: TabsProps):
|
|
1166
|
+
declare function Tabs({ tabs, activeTabId, onTabChange, size, variant, stretch, className, }: TabsProps): react.JSX.Element;
|
|
1006
1167
|
|
|
1007
1168
|
interface PillButtonProps {
|
|
1008
1169
|
active: boolean;
|
|
@@ -1016,7 +1177,7 @@ interface PillButtonProps {
|
|
|
1016
1177
|
icon?: ReactNode;
|
|
1017
1178
|
disabled?: boolean;
|
|
1018
1179
|
}
|
|
1019
|
-
declare function PillButton({ active, onClick, children, size, tone, icon, disabled, }: PillButtonProps):
|
|
1180
|
+
declare function PillButton({ active, onClick, children, size, tone, icon, disabled, }: PillButtonProps): react.JSX.Element;
|
|
1020
1181
|
|
|
1021
1182
|
interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange' | 'checked'> {
|
|
1022
1183
|
checked?: boolean;
|
|
@@ -1035,7 +1196,7 @@ interface DropdownMenuProps {
|
|
|
1035
1196
|
defaultOpen?: boolean;
|
|
1036
1197
|
children: ReactNode;
|
|
1037
1198
|
}
|
|
1038
|
-
declare function DropdownMenu({ open: controlledOpen, onOpenChange, defaultOpen, children, }: DropdownMenuProps):
|
|
1199
|
+
declare function DropdownMenu({ open: controlledOpen, onOpenChange, defaultOpen, children, }: DropdownMenuProps): react.JSX.Element;
|
|
1039
1200
|
interface DropdownMenuTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
1040
1201
|
/** Skip the default secondary-Button styling. Useful when wrapping
|
|
1041
1202
|
* an existing Button primitive. */
|
|
@@ -1046,7 +1207,7 @@ interface DropdownMenuTriggerProps extends ButtonHTMLAttributes<HTMLButtonElemen
|
|
|
1046
1207
|
* secondary Button visual (rounded-xl + `--bg-card` fill + 1px
|
|
1047
1208
|
* `--border`). Set `unstyled` to wrap your own button shape.
|
|
1048
1209
|
*/
|
|
1049
|
-
declare function DropdownMenuTrigger({ unstyled, className, onClick, children, ...rest }: DropdownMenuTriggerProps):
|
|
1210
|
+
declare function DropdownMenuTrigger({ unstyled, className, onClick, children, ...rest }: DropdownMenuTriggerProps): react.JSX.Element;
|
|
1050
1211
|
interface DropdownMenuContentProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
1051
1212
|
children: ReactNode;
|
|
1052
1213
|
/** Horizontal alignment relative to the trigger. Default `start`. */
|
|
@@ -1065,18 +1226,18 @@ interface DropdownMenuItemProps extends ButtonHTMLAttributes<HTMLButtonElement>
|
|
|
1065
1226
|
* items that have one. */
|
|
1066
1227
|
inset?: boolean;
|
|
1067
1228
|
}
|
|
1068
|
-
declare function DropdownMenuItem({ variant, inset, className, onClick, children, ...rest }: DropdownMenuItemProps):
|
|
1229
|
+
declare function DropdownMenuItem({ variant, inset, className, onClick, children, ...rest }: DropdownMenuItemProps): react.JSX.Element;
|
|
1069
1230
|
interface DropdownMenuCheckboxItemProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
|
|
1070
1231
|
checked?: boolean;
|
|
1071
1232
|
onCheckedChange?: (checked: boolean) => void;
|
|
1072
1233
|
}
|
|
1073
|
-
declare function DropdownMenuCheckboxItem({ checked, onCheckedChange, className, children, onClick, disabled, ...rest }: DropdownMenuCheckboxItemProps):
|
|
1074
|
-
declare function DropdownMenuSeparator({ className, ...rest }: HTMLAttributes<HTMLDivElement>):
|
|
1234
|
+
declare function DropdownMenuCheckboxItem({ checked, onCheckedChange, className, children, onClick, disabled, ...rest }: DropdownMenuCheckboxItemProps): react.JSX.Element;
|
|
1235
|
+
declare function DropdownMenuSeparator({ className, ...rest }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
|
|
1075
1236
|
interface DropdownMenuLabelProps extends HTMLAttributes<HTMLDivElement> {
|
|
1076
1237
|
inset?: boolean;
|
|
1077
1238
|
}
|
|
1078
|
-
declare function DropdownMenuLabel({ inset, className, ...rest }: DropdownMenuLabelProps):
|
|
1079
|
-
declare function DropdownMenuGroup({ className, ...rest }: HTMLAttributes<HTMLDivElement>):
|
|
1239
|
+
declare function DropdownMenuLabel({ inset, className, ...rest }: DropdownMenuLabelProps): react.JSX.Element;
|
|
1240
|
+
declare function DropdownMenuGroup({ className, ...rest }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
|
|
1080
1241
|
|
|
1081
1242
|
/**
|
|
1082
1243
|
* DataGrid public types.
|
|
@@ -1213,7 +1374,7 @@ type EditingCell<ColumnId extends string> = {
|
|
|
1213
1374
|
};
|
|
1214
1375
|
};
|
|
1215
1376
|
|
|
1216
|
-
declare function DataGrid<Row extends DataGridRowBase, ColumnId extends string>({ rows, columns, getRowLabel, renderCell, isEditableColumn, getCellEditValue, applyCellEdit, getDrawerCellValue, canOpenDrawer, renderSummary, renderDrawerPanel, renderToolbar, onToolbarPropsChange, onOpenDrawerCell, drawerModal, drawerSize, stickySummaryFooter, stickyHeader, fillWidth, fillAvailableHeight, tableContainerClassName, onRowsChange, sort, onSortChange, }: DataGridProps<Row, ColumnId>):
|
|
1377
|
+
declare function DataGrid<Row extends DataGridRowBase, ColumnId extends string>({ rows, columns, getRowLabel, renderCell, isEditableColumn, getCellEditValue, applyCellEdit, getDrawerCellValue, canOpenDrawer, renderSummary, renderDrawerPanel, renderToolbar, onToolbarPropsChange, onOpenDrawerCell, drawerModal, drawerSize, stickySummaryFooter, stickyHeader, fillWidth, fillAvailableHeight, tableContainerClassName, onRowsChange, sort, onSortChange, }: DataGridProps<Row, ColumnId>): react.JSX.Element;
|
|
1217
1378
|
|
|
1218
1379
|
interface DataGridToolbarProps {
|
|
1219
1380
|
/** Left slot — typically a <SearchBar>. Stretches up to a comfortable
|
|
@@ -1223,19 +1384,19 @@ interface DataGridToolbarProps {
|
|
|
1223
1384
|
children?: ReactNode;
|
|
1224
1385
|
className?: string;
|
|
1225
1386
|
}
|
|
1226
|
-
declare function DataGridToolbar({ search, children, className, }: DataGridToolbarProps):
|
|
1387
|
+
declare function DataGridToolbar({ search, children, className, }: DataGridToolbarProps): react.JSX.Element;
|
|
1227
1388
|
|
|
1228
1389
|
type DataGridColumnOptionsMenuProps<ColumnId extends string> = Pick<DataGridToolbarRenderProps<ColumnId>, 'showSummaries' | 'onShowSummariesChange' | 'visibleColumns' | 'visibleColumnIds' | 'hiddenColumns' | 'toggleColumnVisibility' | 'optionsSensors' | 'onOptionColumnDragEnd' | 'optionsDndContextId'> & {
|
|
1229
1390
|
triggerLabel?: string;
|
|
1230
1391
|
};
|
|
1231
|
-
declare function DataGridColumnOptionsMenu<ColumnId extends string>({ showSummaries, onShowSummariesChange, visibleColumns, visibleColumnIds, hiddenColumns, toggleColumnVisibility, optionsSensors, onOptionColumnDragEnd, optionsDndContextId, triggerLabel, }: DataGridColumnOptionsMenuProps<ColumnId>):
|
|
1392
|
+
declare function DataGridColumnOptionsMenu<ColumnId extends string>({ showSummaries, onShowSummariesChange, visibleColumns, visibleColumnIds, hiddenColumns, toggleColumnVisibility, optionsSensors, onOptionColumnDragEnd, optionsDndContextId, triggerLabel, }: DataGridColumnOptionsMenuProps<ColumnId>): react.JSX.Element;
|
|
1232
1393
|
|
|
1233
1394
|
type DataGridDragOverlayProps<ColumnId extends string> = {
|
|
1234
1395
|
dragOverlayColumn: DataGridColumn<ColumnId> | null;
|
|
1235
1396
|
columnWidths: Record<ColumnId, number>;
|
|
1236
1397
|
dragOverlayHeight: number;
|
|
1237
1398
|
};
|
|
1238
|
-
declare function DataGridDragOverlay<ColumnId extends string>({ dragOverlayColumn, columnWidths, dragOverlayHeight, }: DataGridDragOverlayProps<ColumnId>):
|
|
1399
|
+
declare function DataGridDragOverlay<ColumnId extends string>({ dragOverlayColumn, columnWidths, dragOverlayHeight, }: DataGridDragOverlayProps<ColumnId>): react.JSX.Element | null;
|
|
1239
1400
|
type DataGridDropIndicatorProps = {
|
|
1240
1401
|
dropIndicatorLeft: number | null;
|
|
1241
1402
|
dragTableRect: {
|
|
@@ -1243,7 +1404,7 @@ type DataGridDropIndicatorProps = {
|
|
|
1243
1404
|
height: number;
|
|
1244
1405
|
} | null;
|
|
1245
1406
|
};
|
|
1246
|
-
declare function DataGridDropIndicator({ dropIndicatorLeft, dragTableRect, }: DataGridDropIndicatorProps):
|
|
1407
|
+
declare function DataGridDropIndicator({ dropIndicatorLeft, dragTableRect, }: DataGridDropIndicatorProps): react.JSX.Element | null;
|
|
1247
1408
|
|
|
1248
1409
|
interface DropdownButtonItem {
|
|
1249
1410
|
/** Stable id for keying. If omitted, the index is used (avoid for
|
|
@@ -1299,7 +1460,7 @@ interface DropdownButtonProps {
|
|
|
1299
1460
|
* an engaged filter. Pair with `activeId` for filter-chip use. */
|
|
1300
1461
|
active?: boolean;
|
|
1301
1462
|
}
|
|
1302
|
-
declare function DropdownButton({ label, variant, size, leadingIcon, trailingIcon, items, disabled, loading, className, align, side, sideOffset, menuWidth, triggerAriaLabel, activeId, active, }: DropdownButtonProps):
|
|
1463
|
+
declare function DropdownButton({ label, variant, size, leadingIcon, trailingIcon, items, disabled, loading, className, align, side, sideOffset, menuWidth, triggerAriaLabel, activeId, active, }: DropdownButtonProps): react.JSX.Element;
|
|
1303
1464
|
|
|
1304
1465
|
interface AccordionProps {
|
|
1305
1466
|
/** Ids of the currently-open sections. */
|
|
@@ -1309,7 +1470,7 @@ interface AccordionProps {
|
|
|
1309
1470
|
children: ReactNode;
|
|
1310
1471
|
className?: string;
|
|
1311
1472
|
}
|
|
1312
|
-
declare function Accordion({ openIds, onToggle, children, className }: AccordionProps):
|
|
1473
|
+
declare function Accordion({ openIds, onToggle, children, className }: AccordionProps): react.JSX.Element;
|
|
1313
1474
|
interface AccordionSectionProps {
|
|
1314
1475
|
/** Stable id — matched against the Accordion's `openIds`. */
|
|
1315
1476
|
id: string;
|
|
@@ -1323,7 +1484,7 @@ interface AccordionSectionProps {
|
|
|
1323
1484
|
complete?: boolean;
|
|
1324
1485
|
children: ReactNode;
|
|
1325
1486
|
}
|
|
1326
|
-
declare function AccordionSection({ id, title, summary, badge, complete, children, }: AccordionSectionProps):
|
|
1487
|
+
declare function AccordionSection({ id, title, summary, badge, complete, children, }: AccordionSectionProps): react.JSX.Element;
|
|
1327
1488
|
declare const AccordionCompound: typeof Accordion & {
|
|
1328
1489
|
Section: typeof AccordionSection;
|
|
1329
1490
|
};
|
|
@@ -1365,7 +1526,7 @@ interface MenuButtonProps {
|
|
|
1365
1526
|
/** aria-label for the trigger when the visible label is ambiguous. */
|
|
1366
1527
|
triggerAriaLabel?: string;
|
|
1367
1528
|
}
|
|
1368
|
-
declare function MenuButton({ label, items, leadingIcon, disabled, align, menuWidth, className, triggerAriaLabel, }: MenuButtonProps):
|
|
1529
|
+
declare function MenuButton({ label, items, leadingIcon, disabled, align, menuWidth, className, triggerAriaLabel, }: MenuButtonProps): react.JSX.Element;
|
|
1369
1530
|
|
|
1370
1531
|
/**
|
|
1371
1532
|
* CopyField — an input/output field with a copy button pinned to the
|
|
@@ -1407,7 +1568,7 @@ interface CopyFieldProps {
|
|
|
1407
1568
|
copyToastMessage?: string;
|
|
1408
1569
|
className?: string;
|
|
1409
1570
|
}
|
|
1410
|
-
declare function CopyField({ value, onChange, multiline, rows, placeholder, readOnly, label, hideLabel, id, copyToastMessage, className, }: CopyFieldProps):
|
|
1571
|
+
declare function CopyField({ value, onChange, multiline, rows, placeholder, readOnly, label, hideLabel, id, copyToastMessage, className, }: CopyFieldProps): react.JSX.Element;
|
|
1411
1572
|
|
|
1412
1573
|
/**
|
|
1413
1574
|
* TagChipInput — type-to-create chips with autocomplete.
|
|
@@ -1450,7 +1611,7 @@ interface TagChipInputProps {
|
|
|
1450
1611
|
error?: boolean;
|
|
1451
1612
|
className?: string;
|
|
1452
1613
|
}
|
|
1453
|
-
declare function TagChipInput({ value, onChange, suggestions, placeholder, max, maxLength, disabled, id, error, className, }: TagChipInputProps):
|
|
1614
|
+
declare function TagChipInput({ value, onChange, suggestions, placeholder, max, maxLength, disabled, id, error, className, }: TagChipInputProps): react.JSX.Element;
|
|
1454
1615
|
|
|
1455
1616
|
/**
|
|
1456
1617
|
* FolderTreePicker — dropdown picker for a nestable folder tree.
|
|
@@ -1503,7 +1664,7 @@ interface FolderTreePickerProps {
|
|
|
1503
1664
|
/** Apply error styling to the trigger. */
|
|
1504
1665
|
error?: boolean;
|
|
1505
1666
|
}
|
|
1506
|
-
declare function FolderTreePicker({ folders, value, onChange, onCreateFolder, placeholder, disabled, id, className, error, }: FolderTreePickerProps):
|
|
1667
|
+
declare function FolderTreePicker({ folders, value, onChange, onCreateFolder, placeholder, disabled, id, className, error, }: FolderTreePickerProps): react.JSX.Element;
|
|
1507
1668
|
|
|
1508
1669
|
interface HeroFormCardProps extends Omit<FormHTMLAttributes<HTMLFormElement>, 'title' | 'onSubmit'> {
|
|
1509
1670
|
/** Small accent text above the title, e.g. "Brand · Research". */
|
|
@@ -1543,7 +1704,7 @@ interface HeroFormCardSectionProps extends Omit<HTMLAttributes<HTMLElement>, 'ti
|
|
|
1543
1704
|
trailing?: ReactNode;
|
|
1544
1705
|
children: ReactNode;
|
|
1545
1706
|
}
|
|
1546
|
-
declare function Section({ title, icon, description, trailing, children, className, ...rest }: HeroFormCardSectionProps):
|
|
1707
|
+
declare function Section({ title, icon, description, trailing, children, className, ...rest }: HeroFormCardSectionProps): react.JSX.Element;
|
|
1547
1708
|
interface HeroFormCardFieldProps {
|
|
1548
1709
|
/** Visible field label. */
|
|
1549
1710
|
label: ReactNode;
|
|
@@ -1558,8 +1719,8 @@ interface HeroFormCardFieldProps {
|
|
|
1558
1719
|
children: ReactNode;
|
|
1559
1720
|
className?: string;
|
|
1560
1721
|
}
|
|
1561
|
-
declare function Field({ label, htmlFor, required, optional, error, hint, children, className, }: HeroFormCardFieldProps):
|
|
1562
|
-
declare function FieldRow({ children, className, ...rest }: HTMLAttributes<HTMLDivElement>):
|
|
1722
|
+
declare function Field({ label, htmlFor, required, optional, error, hint, children, className, }: HeroFormCardFieldProps): react.JSX.Element;
|
|
1723
|
+
declare function FieldRow({ children, className, ...rest }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
|
|
1563
1724
|
interface HeroFormCardBannerProps {
|
|
1564
1725
|
/** Optional leading icon. */
|
|
1565
1726
|
icon?: ReactNode;
|
|
@@ -1569,7 +1730,7 @@ interface HeroFormCardBannerProps {
|
|
|
1569
1730
|
tone?: 'info' | 'accent' | 'success' | 'warning' | 'destructive';
|
|
1570
1731
|
className?: string;
|
|
1571
1732
|
}
|
|
1572
|
-
declare function Banner({ icon, children, tone, className, }: HeroFormCardBannerProps):
|
|
1733
|
+
declare function Banner({ icon, children, tone, className, }: HeroFormCardBannerProps): react.JSX.Element;
|
|
1573
1734
|
interface HeroFormCardAdvancedProps {
|
|
1574
1735
|
summary?: ReactNode;
|
|
1575
1736
|
/** Optional icon node next to the summary. */
|
|
@@ -1578,8 +1739,8 @@ interface HeroFormCardAdvancedProps {
|
|
|
1578
1739
|
children: ReactNode;
|
|
1579
1740
|
className?: string;
|
|
1580
1741
|
}
|
|
1581
|
-
declare function Advanced({ summary, icon, defaultOpen, children, className, }: HeroFormCardAdvancedProps):
|
|
1582
|
-
declare function Footer({ children, className, ...rest }: HTMLAttributes<HTMLDivElement>):
|
|
1742
|
+
declare function Advanced({ summary, icon, defaultOpen, children, className, }: HeroFormCardAdvancedProps): react.JSX.Element;
|
|
1743
|
+
declare function Footer({ children, className, ...rest }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
|
|
1583
1744
|
declare const HeroFormCardCompound: react.ForwardRefExoticComponent<HeroFormCardProps & react.RefAttributes<HTMLFormElement>> & {
|
|
1584
1745
|
Section: typeof Section;
|
|
1585
1746
|
Field: typeof Field;
|
|
@@ -1609,7 +1770,7 @@ interface RangeSliderProps {
|
|
|
1609
1770
|
disabled?: boolean;
|
|
1610
1771
|
className?: string;
|
|
1611
1772
|
}
|
|
1612
|
-
declare function RangeSlider({ min, max, value, onChange, step, label, formatValue, id, disabled, className, }: RangeSliderProps):
|
|
1773
|
+
declare function RangeSlider({ min, max, value, onChange, step, label, formatValue, id, disabled, className, }: RangeSliderProps): react.JSX.Element;
|
|
1613
1774
|
|
|
1614
1775
|
interface SegmentedPillItem<Id extends string = string> {
|
|
1615
1776
|
id: Id;
|
|
@@ -1633,7 +1794,7 @@ interface SegmentedPillProps<Id extends string = string> {
|
|
|
1633
1794
|
stretch?: boolean;
|
|
1634
1795
|
className?: string;
|
|
1635
1796
|
}
|
|
1636
|
-
declare function SegmentedPill<Id extends string = string>({ items, value, onChange, ariaLabel, size, stretch, className, }: SegmentedPillProps<Id>):
|
|
1797
|
+
declare function SegmentedPill<Id extends string = string>({ items, value, onChange, ariaLabel, size, stretch, className, }: SegmentedPillProps<Id>): react.JSX.Element;
|
|
1637
1798
|
|
|
1638
1799
|
interface ShellProps extends HTMLAttributes<HTMLDivElement> {
|
|
1639
1800
|
/** Max-width for the auto-centered page-level wrapper, in pixels.
|
|
@@ -1665,7 +1826,7 @@ interface ShellTrayHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'title'
|
|
|
1665
1826
|
/** Tighter padding for dense layouts. */
|
|
1666
1827
|
compact?: boolean;
|
|
1667
1828
|
}
|
|
1668
|
-
declare function TrayHeader({ title, meta, index, description, compact, className, style, ...rest }: ShellTrayHeaderProps):
|
|
1829
|
+
declare function TrayHeader({ title, meta, index, description, compact, className, style, ...rest }: ShellTrayHeaderProps): react.JSX.Element;
|
|
1669
1830
|
interface ShellTrayBodyProps extends HTMLAttributes<HTMLDivElement> {
|
|
1670
1831
|
/** Vertical gap between children. Default `form` (16px). `grid`
|
|
1671
1832
|
* (14px) is for tighter sub-card grids. `flush` (0) lets the
|
|
@@ -1674,7 +1835,7 @@ interface ShellTrayBodyProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1674
1835
|
/** Tighter padding for dense layouts. */
|
|
1675
1836
|
compact?: boolean;
|
|
1676
1837
|
}
|
|
1677
|
-
declare function TrayBody({ spacing, compact, className, style, children, ...rest }: ShellTrayBodyProps):
|
|
1838
|
+
declare function TrayBody({ spacing, compact, className, style, children, ...rest }: ShellTrayBodyProps): react.JSX.Element;
|
|
1678
1839
|
interface ShellTrayFooterProps extends HTMLAttributes<HTMLDivElement> {
|
|
1679
1840
|
/** Tighter padding for dense layouts. */
|
|
1680
1841
|
compact?: boolean;
|
|
@@ -1685,12 +1846,12 @@ interface ShellTrayFooterProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1685
1846
|
* the right edge via `margin-left: auto`. */
|
|
1686
1847
|
right?: ReactNode;
|
|
1687
1848
|
}
|
|
1688
|
-
declare function TrayFooter({ compact, left, right, className, style, children, ...rest }: ShellTrayFooterProps):
|
|
1849
|
+
declare function TrayFooter({ compact, left, right, className, style, children, ...rest }: ShellTrayFooterProps): react.JSX.Element;
|
|
1689
1850
|
interface ShellSubCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
1690
1851
|
/** Optional header content rendered above the body. */
|
|
1691
1852
|
header?: ReactNode;
|
|
1692
1853
|
}
|
|
1693
|
-
declare function SubCard({ header, className, style, children, ...rest }: ShellSubCardProps):
|
|
1854
|
+
declare function SubCard({ header, className, style, children, ...rest }: ShellSubCardProps): react.JSX.Element;
|
|
1694
1855
|
/** Value-text tone for <ShellStat>. Semantic tones map to the public
|
|
1695
1856
|
* status tokens — handy for traffic-light KPIs (e.g. competition). */
|
|
1696
1857
|
type ShellStatTone = 'default' | 'accent' | 'success' | 'warning' | 'destructive';
|
|
@@ -1707,7 +1868,7 @@ interface ShellStatProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
|
1707
1868
|
* color (`success` / `warning` / `destructive`). */
|
|
1708
1869
|
valueTone?: ShellStatTone;
|
|
1709
1870
|
}
|
|
1710
|
-
declare function ShellStat({ label, value, icon, hint, valueTone, className, ...rest }: ShellStatProps):
|
|
1871
|
+
declare function ShellStat({ label, value, icon, hint, valueTone, className, ...rest }: ShellStatProps): react.JSX.Element;
|
|
1711
1872
|
type ShellComponent = typeof ShellRoot & {
|
|
1712
1873
|
Tray: typeof Tray;
|
|
1713
1874
|
TrayHeader: typeof TrayHeader;
|
|
@@ -1740,7 +1901,7 @@ interface FolderCardProps {
|
|
|
1740
1901
|
menuSlot?: ReactNode;
|
|
1741
1902
|
className?: string;
|
|
1742
1903
|
}
|
|
1743
|
-
declare function FolderCard({ name, colorKey, assetCount, folderCount, selected, selectable, onOpen, onSelect, menuSlot, className, }: FolderCardProps):
|
|
1904
|
+
declare function FolderCard({ name, colorKey, assetCount, folderCount, selected, selectable, onOpen, onSelect, menuSlot, className, }: FolderCardProps): react.JSX.Element;
|
|
1744
1905
|
|
|
1745
1906
|
interface BulkActionBarProps {
|
|
1746
1907
|
/** Selection count shown in the accent badge. */
|
|
@@ -1752,7 +1913,7 @@ interface BulkActionBarProps {
|
|
|
1752
1913
|
children: ReactNode;
|
|
1753
1914
|
onClear: () => void;
|
|
1754
1915
|
}
|
|
1755
|
-
declare function BulkActionBar({ count, summary, children, onClear, }: BulkActionBarProps):
|
|
1916
|
+
declare function BulkActionBar({ count, summary, children, onClear, }: BulkActionBarProps): react.JSX.Element;
|
|
1756
1917
|
|
|
1757
1918
|
/**
|
|
1758
1919
|
* FileUploadButton — paperclip trigger that opens a native file picker.
|
|
@@ -1766,7 +1927,7 @@ interface FileUploadButtonProps {
|
|
|
1766
1927
|
fileCount?: number;
|
|
1767
1928
|
maxFiles?: number;
|
|
1768
1929
|
}
|
|
1769
|
-
declare function FileUploadButton({ onFilesSelected, disabled, fileCount, maxFiles, }: FileUploadButtonProps):
|
|
1930
|
+
declare function FileUploadButton({ onFilesSelected, disabled, fileCount, maxFiles, }: FileUploadButtonProps): react.JSX.Element;
|
|
1770
1931
|
|
|
1771
1932
|
interface FileDropZoneProps {
|
|
1772
1933
|
children: ReactNode;
|
|
@@ -1774,7 +1935,7 @@ interface FileDropZoneProps {
|
|
|
1774
1935
|
disabled?: boolean;
|
|
1775
1936
|
className?: string;
|
|
1776
1937
|
}
|
|
1777
|
-
declare function FileDropZone({ children, onFilesDropped, disabled, className, }: FileDropZoneProps):
|
|
1938
|
+
declare function FileDropZone({ children, onFilesDropped, disabled, className, }: FileDropZoneProps): react.JSX.Element;
|
|
1778
1939
|
|
|
1779
1940
|
/**
|
|
1780
1941
|
* useFileUpload — stateful file-selection, validation, text-extraction, and
|
|
@@ -1847,13 +2008,13 @@ interface FilePreviewGridProps {
|
|
|
1847
2008
|
onRemove: (id: string) => void;
|
|
1848
2009
|
className?: string;
|
|
1849
2010
|
}
|
|
1850
|
-
declare function FilePreviewGrid({ files, onRemove, className }: FilePreviewGridProps):
|
|
2011
|
+
declare function FilePreviewGrid({ files, onRemove, className }: FilePreviewGridProps): react.JSX.Element | null;
|
|
1851
2012
|
|
|
1852
2013
|
interface FilePreviewItemProps {
|
|
1853
2014
|
pendingFile: PendingFile;
|
|
1854
2015
|
onRemove: (id: string) => void;
|
|
1855
2016
|
}
|
|
1856
|
-
declare function FilePreviewItem({ pendingFile, onRemove }: FilePreviewItemProps):
|
|
2017
|
+
declare function FilePreviewItem({ pendingFile, onRemove }: FilePreviewItemProps): react.JSX.Element;
|
|
1857
2018
|
|
|
1858
2019
|
/**
|
|
1859
2020
|
* FileThumbnail — icon-based preview tile for non-image files; renders the
|
|
@@ -1873,7 +2034,7 @@ interface FileThumbnailProps {
|
|
|
1873
2034
|
previewUrl?: string;
|
|
1874
2035
|
className?: string;
|
|
1875
2036
|
}
|
|
1876
|
-
declare function FileThumbnail({ file, previewUrl, className }: FileThumbnailProps):
|
|
2037
|
+
declare function FileThumbnail({ file, previewUrl, className }: FileThumbnailProps): react.JSX.Element;
|
|
1877
2038
|
|
|
1878
2039
|
interface CodeBlockProps {
|
|
1879
2040
|
/** Lowercased language identifier, e.g. "typescript" or "json". */
|
|
@@ -1881,7 +2042,7 @@ interface CodeBlockProps {
|
|
|
1881
2042
|
/** Raw source text. */
|
|
1882
2043
|
children: string;
|
|
1883
2044
|
}
|
|
1884
|
-
declare function CodeBlock({ language, children }: CodeBlockProps):
|
|
2045
|
+
declare function CodeBlock({ language, children }: CodeBlockProps): react.JSX.Element;
|
|
1885
2046
|
/**
|
|
1886
2047
|
* MarkdownCode — react-markdown code element adapter.
|
|
1887
2048
|
*
|
|
@@ -1889,7 +2050,7 @@ declare function CodeBlock({ language, children }: CodeBlockProps): react_jsx_ru
|
|
|
1889
2050
|
* Fenced code (triple backtick, className="language-xxx") delegates to
|
|
1890
2051
|
* CodeBlock for syntax highlighting + copy button.
|
|
1891
2052
|
*/
|
|
1892
|
-
declare function MarkdownCode({ className, children }: HTMLAttributes<HTMLElement>):
|
|
2053
|
+
declare function MarkdownCode({ className, children }: HTMLAttributes<HTMLElement>): react.JSX.Element;
|
|
1893
2054
|
|
|
1894
2055
|
interface MarkdownRendererProps {
|
|
1895
2056
|
/** Raw markdown string to render. */
|
|
@@ -1902,7 +2063,7 @@ interface MarkdownRendererProps {
|
|
|
1902
2063
|
* Renders headings, lists, code (via CodeBlock), tables, task lists,
|
|
1903
2064
|
* strikethrough, blockquotes, and links with workspace token styling.
|
|
1904
2065
|
*/
|
|
1905
|
-
declare function MarkdownRenderer({ children, className }: MarkdownRendererProps):
|
|
2066
|
+
declare function MarkdownRenderer({ children, className }: MarkdownRendererProps): react.JSX.Element;
|
|
1906
2067
|
|
|
1907
2068
|
interface ResizableHandleProps {
|
|
1908
2069
|
/** Which edge of the parent the handle decorates. */
|
|
@@ -1927,12 +2088,12 @@ interface ResizableHandleProps {
|
|
|
1927
2088
|
disabled?: boolean;
|
|
1928
2089
|
className?: string;
|
|
1929
2090
|
}
|
|
1930
|
-
declare function ResizableHandle({ side, value, onChange, onCommit, min, max, defaultValue, step, 'aria-label': ariaLabel, disabled, className, }: ResizableHandleProps):
|
|
2091
|
+
declare function ResizableHandle({ side, value, onChange, onCommit, min, max, defaultValue, step, 'aria-label': ariaLabel, disabled, className, }: ResizableHandleProps): react.JSX.Element;
|
|
1931
2092
|
interface ResizablePaneProps extends ResizableHandleProps {
|
|
1932
2093
|
children: ReactNode;
|
|
1933
2094
|
paneClassName?: string;
|
|
1934
2095
|
}
|
|
1935
|
-
declare function ResizablePane({ children, paneClassName, ...handleProps }: ResizablePaneProps):
|
|
2096
|
+
declare function ResizablePane({ children, paneClassName, ...handleProps }: ResizablePaneProps): react.JSX.Element;
|
|
1936
2097
|
|
|
1937
2098
|
interface KbdProps {
|
|
1938
2099
|
/** Child text — typically a single key glyph or short string. */
|
|
@@ -1940,13 +2101,16 @@ interface KbdProps {
|
|
|
1940
2101
|
/** Optional size — defaults to 'md'. */
|
|
1941
2102
|
size?: 'sm' | 'md';
|
|
1942
2103
|
}
|
|
1943
|
-
declare function Kbd({ children, size }: KbdProps):
|
|
2104
|
+
declare function Kbd({ children, size }: KbdProps): react.JSX.Element;
|
|
1944
2105
|
|
|
1945
2106
|
interface FrameStackProps extends HTMLAttributes<HTMLDivElement> {
|
|
1946
2107
|
/** Visual gap between child cards. Defaults to 10 px to match the
|
|
1947
2108
|
* prototype's spec. Override only with a token value
|
|
1948
2109
|
* (e.g. `'var(--space-3)'` for 12 px) — never a literal. */
|
|
1949
2110
|
gap?: string;
|
|
2111
|
+
/** Outer padding. Defaults to `--tray-inset`, the same inset <Card>
|
|
2112
|
+
* uses, so a framed group and a framed card share one edge. */
|
|
2113
|
+
padding?: string;
|
|
1950
2114
|
}
|
|
1951
2115
|
declare const FrameStack: react.ForwardRefExoticComponent<FrameStackProps & react.RefAttributes<HTMLDivElement>>;
|
|
1952
2116
|
|
|
@@ -1990,7 +2154,7 @@ interface CalculatorShellProps {
|
|
|
1990
2154
|
* CalculatorShell — the layout primitive. See file-level JSDoc for the
|
|
1991
2155
|
* locked layout / interaction / token rules.
|
|
1992
2156
|
*/
|
|
1993
|
-
declare function CalculatorShell({ title, subtitle, inputs, result, formula, secondaryStats, onReset, copyValue, shareUrl, }: CalculatorShellProps):
|
|
2157
|
+
declare function CalculatorShell({ title, subtitle, inputs, result, formula, secondaryStats, onReset, copyValue, shareUrl, }: CalculatorShellProps): react.JSX.Element;
|
|
1994
2158
|
|
|
1995
2159
|
type CalcLayout = 'shell' | 'open';
|
|
1996
2160
|
/**
|
|
@@ -2041,7 +2205,7 @@ interface CalculatorShellV2Props {
|
|
|
2041
2205
|
* "Benchmark unavailable in manual mode" placeholder (Amendment 1 E). */
|
|
2042
2206
|
benchmarkSlot?: ReactNode;
|
|
2043
2207
|
}
|
|
2044
|
-
declare function CalculatorShellV2({ eyebrow, title, icon, layout, inputs, result, footerNote, actions, assumptions, copyReport, benchmarkSlot, }: CalculatorShellV2Props):
|
|
2208
|
+
declare function CalculatorShellV2({ eyebrow, title, icon, layout, inputs, result, footerNote, actions, assumptions, copyReport, benchmarkSlot, }: CalculatorShellV2Props): react.JSX.Element;
|
|
2045
2209
|
|
|
2046
2210
|
interface StatRowStep {
|
|
2047
2211
|
/** Lucide glyph (~16px). Inherits the dark-frame label colour. */
|
|
@@ -2058,7 +2222,7 @@ interface StatRowProps {
|
|
|
2058
2222
|
steps: StatRowStep[];
|
|
2059
2223
|
className?: string;
|
|
2060
2224
|
}
|
|
2061
|
-
declare function StatRow({ steps, className }: StatRowProps):
|
|
2225
|
+
declare function StatRow({ steps, className }: StatRowProps): react.JSX.Element;
|
|
2062
2226
|
|
|
2063
2227
|
/**
|
|
2064
2228
|
* Slider — single-value numeric slider (ADR-076 D8).
|
|
@@ -2087,7 +2251,7 @@ interface SliderProps {
|
|
|
2087
2251
|
disabled?: boolean;
|
|
2088
2252
|
className?: string;
|
|
2089
2253
|
}
|
|
2090
|
-
declare function Slider({ value, min, max, step, onChange, 'aria-label': ariaLabel, disabled, className, }: SliderProps):
|
|
2254
|
+
declare function Slider({ value, min, max, step, onChange, 'aria-label': ariaLabel, disabled, className, }: SliderProps): react.JSX.Element;
|
|
2091
2255
|
|
|
2092
2256
|
/**
|
|
2093
2257
|
* Number-formatting helpers — small set of pure, zero-dep utilities
|
|
@@ -2197,7 +2361,7 @@ interface PageHeroProps {
|
|
|
2197
2361
|
leading?: ReactNode;
|
|
2198
2362
|
className?: string;
|
|
2199
2363
|
}
|
|
2200
|
-
declare function PageHero({ eyebrow, title, subtitle, actions, leading, className, }: PageHeroProps):
|
|
2364
|
+
declare function PageHero({ eyebrow, title, subtitle, actions, leading, className, }: PageHeroProps): react.JSX.Element;
|
|
2201
2365
|
|
|
2202
2366
|
interface SearchBarProps {
|
|
2203
2367
|
value: string;
|
|
@@ -2206,7 +2370,7 @@ interface SearchBarProps {
|
|
|
2206
2370
|
width?: number | string;
|
|
2207
2371
|
className?: string;
|
|
2208
2372
|
}
|
|
2209
|
-
declare function SearchBar({ value, onChange, placeholder, width, className, }: SearchBarProps):
|
|
2373
|
+
declare function SearchBar({ value, onChange, placeholder, width, className, }: SearchBarProps): react.JSX.Element;
|
|
2210
2374
|
|
|
2211
2375
|
interface FilterBarProps {
|
|
2212
2376
|
/**
|
|
@@ -2220,7 +2384,7 @@ interface FilterBarProps {
|
|
|
2220
2384
|
className?: string;
|
|
2221
2385
|
children: ReactNode;
|
|
2222
2386
|
}
|
|
2223
|
-
declare function FilterBarRoot({ variant, 'aria-label': ariaLabel, className, children, }: FilterBarProps):
|
|
2387
|
+
declare function FilterBarRoot({ variant, 'aria-label': ariaLabel, className, children, }: FilterBarProps): react.JSX.Element;
|
|
2224
2388
|
interface FilterBarSearchProps {
|
|
2225
2389
|
value: string;
|
|
2226
2390
|
onChange: (next: string) => void;
|
|
@@ -2231,15 +2395,15 @@ interface FilterBarSearchProps {
|
|
|
2231
2395
|
className?: string;
|
|
2232
2396
|
}
|
|
2233
2397
|
/** Standardized search field: small `Input` with a leading magnifier. */
|
|
2234
|
-
declare function FilterBarSearch({ value, onChange, placeholder, 'aria-label': ariaLabel, className, }: FilterBarSearchProps):
|
|
2398
|
+
declare function FilterBarSearch({ value, onChange, placeholder, 'aria-label': ariaLabel, className, }: FilterBarSearchProps): react.JSX.Element;
|
|
2235
2399
|
/** Flexible spacer — everything after it is pushed to the right edge. */
|
|
2236
|
-
declare function FilterBarSpacer():
|
|
2400
|
+
declare function FilterBarSpacer(): react.JSX.Element;
|
|
2237
2401
|
interface FilterBarCountProps {
|
|
2238
2402
|
shown: number;
|
|
2239
2403
|
total: number;
|
|
2240
2404
|
}
|
|
2241
2405
|
/** Right-aligned "{shown} of {total}" result count, tabular-nums. */
|
|
2242
|
-
declare function FilterBarCount({ shown, total }: FilterBarCountProps):
|
|
2406
|
+
declare function FilterBarCount({ shown, total }: FilterBarCountProps): react.JSX.Element;
|
|
2243
2407
|
declare const FilterBar: typeof FilterBarRoot & {
|
|
2244
2408
|
Search: typeof FilterBarSearch;
|
|
2245
2409
|
Spacer: typeof FilterBarSpacer;
|
|
@@ -2267,7 +2431,7 @@ interface FilterDropdownProps<T extends string = string> {
|
|
|
2267
2431
|
className?: string;
|
|
2268
2432
|
align?: 'left' | 'right';
|
|
2269
2433
|
}
|
|
2270
|
-
declare function FilterDropdown<T extends string = string>({ label, value, onChange, options, neutralValue, triggerValueLabel, className, align, }: FilterDropdownProps<T>):
|
|
2434
|
+
declare function FilterDropdown<T extends string = string>({ label, value, onChange, options, neutralValue, triggerValueLabel, className, align, }: FilterDropdownProps<T>): react.JSX.Element;
|
|
2271
2435
|
|
|
2272
2436
|
interface DeviceFrameProps {
|
|
2273
2437
|
/** Which device bezel to render. */
|
|
@@ -2283,7 +2447,7 @@ interface DeviceFrameProps {
|
|
|
2283
2447
|
/** Optional className on the outer frame element. */
|
|
2284
2448
|
className?: string;
|
|
2285
2449
|
}
|
|
2286
|
-
declare function DeviceFrame({ device, url, children, className }: DeviceFrameProps):
|
|
2450
|
+
declare function DeviceFrame({ device, url, children, className }: DeviceFrameProps): react.JSX.Element;
|
|
2287
2451
|
|
|
2288
2452
|
interface CreativeMediaProps {
|
|
2289
2453
|
src: string;
|
|
@@ -2492,4 +2656,4 @@ declare namespace index {
|
|
|
2492
2656
|
export { type index_CarouselCardView as CarouselCardView, type index_CarouselViewProps as CarouselViewProps, index_CreativeMedia as CreativeMedia, index_InstagramExplorePreview as InstagramExplorePreview, index_InstagramFeedCarousel as InstagramFeedCarousel, index_InstagramFeedPreview as InstagramFeedPreview, index_MetaFeedCarousel as MetaFeedCarousel, index_MetaFeedPreview as MetaFeedPreview, index_MetaInstreamPreview as MetaInstreamPreview, index_MetaMessengerPreview as MetaMessengerPreview, index_MetaReelPreview as MetaReelPreview, index_MetaRightColumnPreview as MetaRightColumnPreview, index_MetaSearchPreview as MetaSearchPreview, index_MetaStoryPreview as MetaStoryPreview, index_PLACEMENT_CONFIGS as PLACEMENT_CONFIGS, type index_PlacementPreview as PlacementPreview, type index_PreviewAdData as PreviewAdData, type index_PreviewConfiguration as PreviewConfiguration, type index_PreviewDevice as PreviewDevice, type index_PreviewPlacement as PreviewPlacement, type index_PreviewPlatform as PreviewPlatform };
|
|
2493
2657
|
}
|
|
2494
2658
|
|
|
2495
|
-
export { AccordionCompound as Accordion, type AccordionProps, type AccordionSectionProps, AllocationSparkbar, type AllocationSparkbarProps, AppScroll, Badge, type BadgeProps, type BadgeTone, BrandLogoTile, type BrandLogoTileProps, type BrandLogoTileSize, BulkActionBar, type BulkActionBarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, type CalcLayout, type CalcPrefill, CalculatorShell, type CalculatorShellProps, CalculatorShellV2, type CalculatorShellV2Props, Card, Checkbox, type CheckboxProps, ChipNav, type ChipNavItem, Choropleth, type ChoroplethProps, CodeBlock, type CodeBlockProps, CompletionRing, type CompletionRingProps, CopyField, type CopyFieldProps, type Crumb, DataGrid, type DataGridColumn, DataGridColumnOptionsMenu, DataGridDragOverlay, type DataGridDrawerPanelProps, DataGridDropIndicator, type DataGridIcon, type DataGridProps, type DataGridRowBase, type DataGridSortState, DataGridToolbar, type DataGridToolbarProps, type DataGridToolbarRenderProps, DetailSection, DeviceFrame, type DeviceFrameProps, DragHandle, DropdownButton, type DropdownButtonItem, type DropdownButtonProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, type DropdownMenuTriggerProps, type EditingCell, EmptyPlaceholder, EmptyState, type EmptyStateProps, FOLDER_COLOR_KEYS, FileDropZone, FilePreviewGrid, FilePreviewItem, FileThumbnail, FileUploadButton, FilterBar, type FilterBarCountProps, type FilterBarProps, type FilterBarSearchProps, FilterDropdown, type FilterDropdownProps, type FilterOption, FloatingDrawer, type FloatingDrawerProps, FloatingStatusBar, type FloatingStatusBarProps, type FloatingStatusTone, FolderCard, type FolderCardProps, type FolderColorKey, type FolderTreeNode, FolderTreePicker, type FolderTreePickerProps, FrameStack, type FrameStackProps, HEADER_HEIGHT, HeroFormCardCompound as HeroFormCard, type HeroFormCardAdvancedProps, type HeroFormCardBannerProps, type HeroFormCardFieldProps, type HeroFormCardProps, type HeroFormCardSectionProps, IconTile, IdentityLabel, IdentityValue, Input, type InputProps, type InputSize, Kbd, type KbdProps, ListItem, MarkdownCode, MarkdownRenderer, type MarkdownRendererProps, MenuButton, type MenuButtonEntry, type MenuButtonItem, type MenuButtonProps, type MenuButtonSeparator, index as MetaPreviews, MetricCard, type MetricCardProps, type MetricCardTone, MicrosoftLogo, type MicrosoftLogoProps, Modal, OptionTile, OptionTileGroup, type OptionTileGroupProps, type OptionTileProps, PLACEMENT_CONFIGS, PageHeaderHost, PageHeaderSlotProvider, PageHero, type PageHeroProps, PageShell, Pagination, type PaginationProps, type PendingFile, PillButton, type PillButtonProps, type PlacementPreview, type PreviewAdData, type PreviewConfiguration, type PreviewDevice, type PreviewPlacement, type PreviewPlatform, PS as ProfileSection, type ProfileSectionProps, ProgressBar, type ProgressBarProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, ResizableHandle, type ResizableHandleProps, ResizablePane, type ResizablePaneProps, SECTION_SCROLL_OFFSET, SearchBar, type SearchBarProps, SectionLabel, SegmentedPill, type SegmentedPillItem, type SegmentedPillProps, Shell, type ShellProps, ShellStat, type ShellStatProps, type ShellStatTone, type ShellSubCardProps, type ShellTrayBodyProps, type ShellTrayFooterProps, type ShellTrayHeaderProps, type ShellTrayProps, Slider, type SliderProps, SortableItem, SortableList, SortableTable, type Column as SortableTableColumn, type SortableTableProps, StatRow, type StatRowProps, type StatRowStep, StatsGrid, type StatsGridProps, StepLoader, type StepLoaderProps, type StepLoaderStep, type Tab, Tabs, type TabsProps, TagChipInput, type TagChipInputProps, TagRow, TextInput, Textarea, TextareaInput, type TextareaProps, Toaster, TokenBadge, type TokenBadgeProps, type UploadResult, type UseFileUploadOptions, cn, folderColorVar, formatCurrency, formatNumber, formatPercent, formatRatio, useFileUpload };
|
|
2659
|
+
export { AccordionCompound as Accordion, type AccordionProps, type AccordionSectionProps, AllocationSparkbar, type AllocationSparkbarProps, AppScroll, BRAND_ICONS, Badge, type BadgeProps, type BadgeTone, BrandFacebook, type BrandIconKey, type BrandIconProps, BrandInstagram, BrandLinkedIn, BrandLogoTile, type BrandLogoTileProps, type BrandLogoTileSize, BrandMessenger, BrandMeta, BrandNextdoor, BrandPinterest, BrandSnapchat, BrandTikTok, BulkActionBar, type BulkActionBarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, type CalcLayout, type CalcPrefill, CalculatorShell, type CalculatorShellProps, CalculatorShellV2, type CalculatorShellV2Props, Card, Checkbox, type CheckboxProps, ChipNav, type ChipNavItem, Choropleth, type ChoroplethProps, CodeBlock, type CodeBlockProps, CollapsibleCard, type CollapsibleCardProps, CompletionRing, type CompletionRingProps, CopyField, type CopyFieldProps, type Crumb, DataGrid, type DataGridColumn, DataGridColumnOptionsMenu, DataGridDragOverlay, type DataGridDrawerPanelProps, DataGridDropIndicator, type DataGridIcon, type DataGridProps, type DataGridRowBase, type DataGridSortState, DataGridToolbar, type DataGridToolbarProps, type DataGridToolbarRenderProps, DetailSection, DeviceFrame, type DeviceFrameProps, DragHandle, DropdownButton, type DropdownButtonItem, type DropdownButtonProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, type DropdownMenuTriggerProps, type EditingCell, EmptyPlaceholder, EmptyState, type EmptyStateProps, FOLDER_COLOR_KEYS, FileDropZone, FilePreviewGrid, FilePreviewItem, FileThumbnail, FileUploadButton, FilterBar, type FilterBarCountProps, type FilterBarProps, type FilterBarSearchProps, FilterDropdown, type FilterDropdownProps, type FilterOption, FloatingDrawer, type FloatingDrawerProps, FloatingStatusBar, type FloatingStatusBarProps, type FloatingStatusTone, FolderCard, type FolderCardProps, type FolderColorKey, type FolderTreeNode, FolderTreePicker, type FolderTreePickerProps, FrameStack, type FrameStackProps, HEADER_HEIGHT, HeroFormCardCompound as HeroFormCard, type HeroFormCardAdvancedProps, type HeroFormCardBannerProps, type HeroFormCardFieldProps, type HeroFormCardProps, type HeroFormCardSectionProps, IconTile, IdentityLabel, IdentityValue, Input, type InputProps, type InputSize, Kbd, type KbdProps, ListItem, MarkdownCode, MarkdownRenderer, type MarkdownRendererProps, MenuButton, type MenuButtonEntry, type MenuButtonItem, type MenuButtonProps, type MenuButtonSeparator, MetaCell, type MetaCellProps, index as MetaPreviews, MetricCard, type MetricCardProps, type MetricCardTone, MicrosoftLogo, type MicrosoftLogoProps, Modal, OptionTile, OptionTileGroup, type OptionTileGroupProps, type OptionTileProps, PLACEMENT_CONFIGS, PageHeaderHost, PageHeaderSlotProvider, PageHero, type PageHeroProps, PageShell, Pagination, type PaginationProps, type PendingFile, PillButton, type PillButtonProps, type PlacementPreview, type PreviewAdData, type PreviewConfiguration, type PreviewDevice, type PreviewPlacement, type PreviewPlatform, PS as ProfileSection, type ProfileSectionProps, ProgressBar, type ProgressBarProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, ResizableHandle, type ResizableHandleProps, ResizablePane, type ResizablePaneProps, type RgbTuple, SECTION_SCROLL_OFFSET, SearchBar, type SearchBarProps, SectionLabel, SegmentedPill, type SegmentedPillItem, type SegmentedPillProps, Shell, type ShellProps, ShellStat, type ShellStatProps, type ShellStatTone, type ShellSubCardProps, type ShellTrayBodyProps, type ShellTrayFooterProps, type ShellTrayHeaderProps, type ShellTrayProps, Slider, type SliderProps, SortableItem, SortableList, SortableTable, type Column as SortableTableColumn, type SortableTableProps, StatRow, type StatRowProps, type StatRowStep, StatsGrid, type StatsGridProps, StepLoader, type StepLoaderProps, type StepLoaderStep, type Tab, Tabs, type TabsProps, TagChipInput, type TagChipInputProps, TagRow, TextInput, Textarea, TextareaInput, type TextareaProps, Toaster, TokenBadge, type TokenBadgeProps, type UploadResult, type UseFileUploadOptions, ValueChip, type ValueChipProps, type WcagBadge, bestTextOn, cn, contrastRatio, copyText, folderColorVar, formatCurrency, formatNumber, formatPercent, formatRatio, hexToRgbTuple, hslString, relativeLuminance, rgbCss, rgbString, useFileUpload, wcagBadges };
|