@tailor-platform/app-shell 1.18.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-shell-core.css +2 -2
- package/dist/app-shell.d.ts +1108 -190
- package/dist/app-shell.js +13090 -10783
- package/dist/{appshell-Y1AYCuVJ.js → appshell-B4QkQvXF.js} +519 -392
- package/dist/fonts/inter.css +7 -7
- package/dist/fonts/noto-sans-jp.css +116 -116
- package/dist/style-entry.d.ts +1 -656
- package/dist/testing.d.ts +132 -97
- package/dist/testing.js +1 -1
- package/dist/vite-plugin.d.ts +132 -97
- package/package.json +15 -10
- package/skills/app-shell-patterns/SKILL.md +38 -27
- package/skills/app-shell-patterns/references/api/aggregations.md +131 -0
- package/skills/app-shell-patterns/references/api/create-ai-gateway-client.md +32 -2
- package/skills/app-shell-patterns/references/api/define-module.md +5 -5
- package/skills/app-shell-patterns/references/api/router/use-params.md +2 -2
- package/skills/app-shell-patterns/references/api/use-ai-chat.md +46 -8
- package/skills/app-shell-patterns/references/api/use-app-shell-config.md +4 -4
- package/skills/app-shell-patterns/references/api/use-app-shell-data.md +5 -5
- package/skills/app-shell-patterns/references/api/use-app-shell.md +2 -2
- package/skills/app-shell-patterns/references/api/use-auth.md +3 -3
- package/skills/app-shell-patterns/references/api/use-route-error.md +12 -12
- package/skills/app-shell-patterns/references/components/action-panel.md +57 -23
- package/skills/app-shell-patterns/references/components/activity-card.md +3 -3
- package/skills/app-shell-patterns/references/components/ai-chat.md +37 -3
- package/skills/app-shell-patterns/references/components/app-shell.md +6 -5
- package/skills/app-shell-patterns/references/components/badge.md +7 -3
- package/skills/app-shell-patterns/references/components/card.md +2 -2
- package/skills/app-shell-patterns/references/components/data-table.md +514 -77
- package/skills/app-shell-patterns/references/components/date-picker.md +2 -2
- package/skills/app-shell-patterns/references/components/default-sidebar.md +2 -2
- package/skills/app-shell-patterns/references/components/dialog.md +8 -0
- package/skills/app-shell-patterns/references/components/filter-rail.md +10 -3
- package/skills/app-shell-patterns/references/components/form.md +19 -9
- package/skills/app-shell-patterns/references/components/global-header-layout.md +31 -8
- package/skills/app-shell-patterns/references/components/item-list.md +191 -0
- package/skills/app-shell-patterns/references/components/layout.md +24 -17
- package/skills/app-shell-patterns/references/components/select.md +18 -0
- package/skills/app-shell-patterns/references/components/sidebar-group.md +9 -7
- package/skills/app-shell-patterns/references/components/sidebar-layout.md +74 -11
- package/skills/app-shell-patterns/references/components/sidebar-section.md +8 -8
- package/skills/app-shell-patterns/references/components/tabs.md +32 -2
- package/skills/app-shell-patterns/references/components/text.md +75 -38
- package/skills/app-shell-patterns/references/components/tree.md +342 -0
- package/skills/app-shell-patterns/references/components/with-guard.md +5 -5
- package/skills/app-shell-patterns/references/concepts/authentication.md +1 -1
- package/skills/app-shell-patterns/references/concepts/routing-navigation.md +3 -3
- package/skills/app-shell-patterns/references/concepts/sidebar-navigation.md +16 -14
- package/skills/app-shell-patterns/references/concepts/styling-theming.md +28 -20
- package/skills/app-shell-patterns/references/migrations.md +22 -2
- package/skills/app-shell-patterns/references/pages/document-detail.md +32 -25
- package/skills/app-shell-patterns/references/patterns/form-modal.md +4 -1
- package/skills/app-shell-patterns/references/patterns/interaction-multi-select.md +1 -1
- package/dist/semantic-contrast.test.ts +0 -227
- package/dist/theme-bridge.test.ts +0 -182
package/dist/app-shell.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ import { ReactNode } from 'react';
|
|
|
49
49
|
import { Ref } from 'react';
|
|
50
50
|
import { RefObject } from 'react';
|
|
51
51
|
import { Select as Select_2 } from '@base-ui/react/select';
|
|
52
|
+
import { StandardJSONSchemaV1 } from '@standard-schema/spec';
|
|
52
53
|
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
53
54
|
import { Tabs as Tabs_2 } from '@base-ui/react/tabs';
|
|
54
55
|
import { Time } from '@internationalized/date';
|
|
@@ -124,7 +125,7 @@ declare interface ActionItem {
|
|
|
124
125
|
* />
|
|
125
126
|
* ```
|
|
126
127
|
*/
|
|
127
|
-
export declare function ActionPanel({ title, actions, className }: ActionPanelProps): JSX.Element;
|
|
128
|
+
export declare function ActionPanel({ title, actions, emptyContent, className }: ActionPanelProps): JSX.Element;
|
|
128
129
|
|
|
129
130
|
/**
|
|
130
131
|
* Props for the ActionPanel component.
|
|
@@ -134,6 +135,12 @@ export declare interface ActionPanelProps {
|
|
|
134
135
|
title: string;
|
|
135
136
|
/** List of actions to render */
|
|
136
137
|
actions: ActionItem[];
|
|
138
|
+
/**
|
|
139
|
+
* Content shown with consistent padding when actions is empty. Defaults to a localized "No actions available" message.
|
|
140
|
+
* Strings use the default body text styling; other React nodes render unchanged.
|
|
141
|
+
* Pass null to hide the empty content and its additional vertical spacing while keeping the card and title.
|
|
142
|
+
*/
|
|
143
|
+
emptyContent?: ReactNode;
|
|
137
144
|
/** Additional CSS classes for the card container */
|
|
138
145
|
className?: string;
|
|
139
146
|
}
|
|
@@ -148,10 +155,15 @@ declare function Actions({ className, ...props }: ActionsProps): JSX.Element;
|
|
|
148
155
|
|
|
149
156
|
declare type ActionsProps = React_2.ComponentProps<"div">;
|
|
150
157
|
|
|
158
|
+
declare type ActiveToolCall = {
|
|
159
|
+
id: string;
|
|
160
|
+
name: string;
|
|
161
|
+
};
|
|
162
|
+
|
|
151
163
|
export declare const ActivityCard: typeof ActivityCardStandalone & {
|
|
152
164
|
Root: typeof Root_3;
|
|
153
165
|
Items: typeof Items;
|
|
154
|
-
Item: typeof
|
|
166
|
+
Item: typeof Item_2;
|
|
155
167
|
};
|
|
156
168
|
|
|
157
169
|
/**
|
|
@@ -239,11 +251,55 @@ export declare interface ActivityCardRootProps<T extends ActivityCardBaseItem> {
|
|
|
239
251
|
*/
|
|
240
252
|
declare function ActivityCardStandalone({ items, title, maxVisible, overflowLabel, groupBy, className, }: ActivityCardProps): JSX.Element;
|
|
241
253
|
|
|
254
|
+
/** A reusable aggregation over selected row values, optionally followed by a result transformation. */
|
|
255
|
+
export declare type Aggregation<TRow, TResult = number | null> = (context: {
|
|
256
|
+
rows: readonly TRow[];
|
|
257
|
+
}) => TResult;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Create reusable callbacks over `{ rows }`, independent of UI and column definitions.
|
|
261
|
+
* Selectors choose each row's value; an optional transformer receives the final
|
|
262
|
+
* result once, including empty or invalid results. Neither callback should mutate rows.
|
|
263
|
+
*/
|
|
264
|
+
export declare const aggregations: {
|
|
265
|
+
/** Sum finite selected numbers. Empty input returns zero; invalid input returns null. */
|
|
266
|
+
sum: {
|
|
267
|
+
<TRow>(selector: (row: TRow) => NumericValue, transformer?: undefined): Aggregation<TRow, number | null>;
|
|
268
|
+
<TRow, TResult>(selector: (row: TRow) => NumericValue, transformer: (value: number | null) => TResult): Aggregation<TRow, TResult>;
|
|
269
|
+
};
|
|
270
|
+
/** Average non-nullish finite selected numbers; empty or invalid input returns null. */
|
|
271
|
+
avg: {
|
|
272
|
+
<TRow>(selector: (row: TRow) => NumericValue, transformer?: undefined): Aggregation<TRow, number | null>;
|
|
273
|
+
<TRow, TResult>(selector: (row: TRow) => NumericValue, transformer: (value: number | null) => TResult): Aggregation<TRow, TResult>;
|
|
274
|
+
};
|
|
275
|
+
/** Minimum finite selected number; empty or invalid input returns null. */
|
|
276
|
+
min: {
|
|
277
|
+
<TRow>(selector: (row: TRow) => NumericValue, transformer?: undefined): Aggregation<TRow, number | null>;
|
|
278
|
+
<TRow, TResult>(selector: (row: TRow) => NumericValue, transformer: (value: number | null) => TResult): Aggregation<TRow, TResult>;
|
|
279
|
+
};
|
|
280
|
+
/** Maximum finite selected number; empty or invalid input returns null. */
|
|
281
|
+
max: {
|
|
282
|
+
<TRow>(selector: (row: TRow) => NumericValue, transformer?: undefined): Aggregation<TRow, number | null>;
|
|
283
|
+
<TRow, TResult>(selector: (row: TRow) => NumericValue, transformer: (value: number | null) => TResult): Aggregation<TRow, TResult>;
|
|
284
|
+
};
|
|
285
|
+
/** Count non-nullish selected values, including zero, false, and empty strings. */
|
|
286
|
+
count: {
|
|
287
|
+
<TRow>(selector: (row: TRow) => unknown, transformer?: undefined): Aggregation<TRow, number>;
|
|
288
|
+
<TRow, TResult>(selector: (row: TRow) => unknown, transformer: (value: number) => TResult): Aggregation<TRow, TResult>;
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
|
|
242
292
|
export declare const AIChat: AIChatComponent;
|
|
243
293
|
|
|
294
|
+
/** Low-level event stream consumed by `useAIChat()`. */
|
|
244
295
|
export declare type AIChatCompletionEvent = {
|
|
245
296
|
type: "text-delta";
|
|
246
297
|
text: string;
|
|
298
|
+
} | {
|
|
299
|
+
type: "tool-call";
|
|
300
|
+
toolCallId: string;
|
|
301
|
+
toolName: string;
|
|
302
|
+
argumentsText: string;
|
|
247
303
|
} | {
|
|
248
304
|
type: "done";
|
|
249
305
|
finishReason?: string;
|
|
@@ -270,6 +326,7 @@ declare type AIChatComponent = typeof AIChatRoot & {
|
|
|
270
326
|
ChainOfThoughtSearchResults: typeof ChainOfThoughtSearchResults;
|
|
271
327
|
ChainOfThoughtSearchResult: typeof ChainOfThoughtSearchResult;
|
|
272
328
|
Tool: typeof Tool;
|
|
329
|
+
ToolCall: typeof ToolCall;
|
|
273
330
|
ToolHeader: typeof ToolHeader;
|
|
274
331
|
ToolContent: typeof ToolContent;
|
|
275
332
|
ToolInput: typeof ToolInput;
|
|
@@ -325,6 +382,7 @@ export declare type AIChatHeaderProps = {
|
|
|
325
382
|
className?: string;
|
|
326
383
|
};
|
|
327
384
|
|
|
385
|
+
/** Public chat message shape exposed by `useAIChat()`. */
|
|
328
386
|
export declare interface AIChatMessage {
|
|
329
387
|
id: string;
|
|
330
388
|
role: "user" | "assistant";
|
|
@@ -348,17 +406,56 @@ declare function AIChatRoot({ className, children, status, ...props }: AIChatPro
|
|
|
348
406
|
|
|
349
407
|
export declare type AIChatStatus = "ready" | "submitted" | "streaming" | "error";
|
|
350
408
|
|
|
409
|
+
export declare type AIChatToolCallProps = {
|
|
410
|
+
/** A requested tool from useAIChat().toolCalls, not an execution success receipt. */
|
|
411
|
+
call: ReturnType<typeof useAIChat>["toolCalls"][number];
|
|
412
|
+
className?: string;
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
/** Context passed to local tool executors. */
|
|
416
|
+
export declare interface AIChatToolContext {
|
|
417
|
+
/** Abort signal for the in-flight chat request. */
|
|
418
|
+
signal: AbortSignal;
|
|
419
|
+
/** Public user/assistant transcript visible to the current chat turn. */
|
|
420
|
+
messages: AIChatMessage[];
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Schema contract for local AI chat tools.
|
|
425
|
+
*
|
|
426
|
+
* A schema must validate runtime inputs and generate JSON Schema for the AI
|
|
427
|
+
* Gateway request. Zod 4 implements both Standard Schema contracts directly.
|
|
428
|
+
*
|
|
429
|
+
* @example
|
|
430
|
+
* ```ts
|
|
431
|
+
* import { z } from "zod/v4";
|
|
432
|
+
*
|
|
433
|
+
* const schema = z.object({
|
|
434
|
+
* customerId: z.string(),
|
|
435
|
+
* includeInactive: z.boolean().optional(),
|
|
436
|
+
* });
|
|
437
|
+
* ```
|
|
438
|
+
*/
|
|
439
|
+
export declare type AIChatToolSchema<Input = unknown, Output = Input> = StandardSchemaV1<Input, Output> & StandardJSONSchemaV1<Input, Output>;
|
|
440
|
+
|
|
441
|
+
/** Internal transcript message shape sent to the AI Gateway transport layer. */
|
|
351
442
|
export declare type AIGatewayChatMessage = {
|
|
352
443
|
role: "system" | "user";
|
|
353
444
|
content: string;
|
|
354
445
|
} | {
|
|
355
446
|
role: "assistant";
|
|
356
447
|
content?: string;
|
|
448
|
+
toolCalls?: AIGatewayToolCall[];
|
|
449
|
+
} | {
|
|
450
|
+
role: "tool";
|
|
451
|
+
toolCallId: string;
|
|
452
|
+
content: string;
|
|
357
453
|
};
|
|
358
454
|
|
|
359
455
|
export declare interface AIGatewayChatRequest {
|
|
360
456
|
model: string;
|
|
361
457
|
messages: AIGatewayChatMessage[];
|
|
458
|
+
tools?: AIGatewayFunctionTool[];
|
|
362
459
|
signal?: AbortSignal;
|
|
363
460
|
}
|
|
364
461
|
|
|
@@ -369,6 +466,39 @@ export declare interface AIGatewayClient {
|
|
|
369
466
|
streamChatCompletion(request: AIGatewayChatRequest): AsyncIterable<AIChatCompletionEvent>;
|
|
370
467
|
}
|
|
371
468
|
|
|
469
|
+
/** Normalized local function tool definition understood by the AI Gateway. */
|
|
470
|
+
export declare interface AIGatewayFunctionTool {
|
|
471
|
+
type: "function";
|
|
472
|
+
function: {
|
|
473
|
+
name: string;
|
|
474
|
+
description?: string;
|
|
475
|
+
parameters: Record<string, unknown>;
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/** Normalized local function tool call emitted by the AI Gateway transport. */
|
|
480
|
+
export declare interface AIGatewayToolCall {
|
|
481
|
+
id: string;
|
|
482
|
+
name: string;
|
|
483
|
+
argumentsText: string;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* A tool executed locally inside AppShell.
|
|
488
|
+
*
|
|
489
|
+
* Local tools are validated with Standard Schema, executed in-process, and then
|
|
490
|
+
* written back into the internal AI Gateway transcript as `role: "tool"`
|
|
491
|
+
* messages for the next model round.
|
|
492
|
+
* Schema and executor are split so heterogeneous schemas compare structurally.
|
|
493
|
+
*/
|
|
494
|
+
export declare type AILocalTool<TSchema extends AIChatToolSchema<any, any> = AIChatToolSchema<any, any>> = {
|
|
495
|
+
kind: "local";
|
|
496
|
+
description?: string;
|
|
497
|
+
schema: TSchema;
|
|
498
|
+
} & {
|
|
499
|
+
execute: (args: StandardSchemaV1.InferOutput<TSchema>, context: AIChatToolContext) => unknown | Promise<unknown>;
|
|
500
|
+
};
|
|
501
|
+
|
|
372
502
|
export declare const Alert: {
|
|
373
503
|
Root: typeof Root_2;
|
|
374
504
|
Title: typeof Title;
|
|
@@ -537,9 +667,12 @@ export declare interface AppShellRegister {
|
|
|
537
667
|
}
|
|
538
668
|
|
|
539
669
|
export declare type AppShellSidebarState = {
|
|
670
|
+
/** Effective desktop operations after normalizing sidebarBehaviour or deprecated collapsible. */
|
|
671
|
+
sidebarBehaviour: SidebarBehaviour;
|
|
540
672
|
/**
|
|
541
673
|
* Whether the sidebar is expanded on desktop — the same signal the DOM
|
|
542
|
-
* exposes as `[data-slot="sidebar"][data-state]
|
|
674
|
+
* exposes as `[data-slot="sidebar"][data-state]` when collapsing is enabled.
|
|
675
|
+
* Always `true` in "fixed" or "resize" mode, regardless of `defaultOpen`.
|
|
543
676
|
*
|
|
544
677
|
* On mobile the sidebar is an overlay sheet rather than an in-flow column,
|
|
545
678
|
* so this does not describe how much room the content has; branch on
|
|
@@ -548,11 +681,13 @@ export declare type AppShellSidebarState = {
|
|
|
548
681
|
open: boolean;
|
|
549
682
|
/** Whether the viewport is below the mobile breakpoint (768px). */
|
|
550
683
|
isMobile: boolean;
|
|
551
|
-
/** Expand or collapse the sidebar. */
|
|
684
|
+
/** Expand or collapse the desktop sidebar. Inert in "fixed" or "resize" mode. */
|
|
552
685
|
setOpen: (open: boolean) => void;
|
|
553
686
|
/**
|
|
554
687
|
* Toggle the sidebar — the same action as `<SidebarLayout.Trigger />` and the
|
|
555
688
|
* ⌘B / Ctrl+B shortcut, including the mobile and tablet overlay behaviour.
|
|
689
|
+
* Desktop toggling is inert in "fixed" or "resize" mode. Mobile/tablet menu
|
|
690
|
+
* toggling remains available in every mode.
|
|
556
691
|
*/
|
|
557
692
|
toggle: () => void;
|
|
558
693
|
};
|
|
@@ -1060,7 +1195,7 @@ export declare interface BadgeProps extends React_2.HTMLAttributes<HTMLDivElemen
|
|
|
1060
1195
|
export declare type BadgeVariant = NonNullable<BadgeProps["variant"]>;
|
|
1061
1196
|
|
|
1062
1197
|
export declare const badgeVariants: (props?: ({
|
|
1063
|
-
variant?: "default" | "error" | "success" | "warning" | "neutral" | "info" | "subtle-success" | "subtle-warning" | "subtle-error" | "subtle-info" | "outline-success" | "outline-warning" | "outline-error" | "outline-info" | "outline-neutral" | null | undefined;
|
|
1198
|
+
variant?: "default" | "error" | "success" | "warning" | "neutral" | "info" | "subtle-success" | "subtle-warning" | "subtle-error" | "subtle-info" | "subtle-neutral" | "outline-success" | "outline-warning" | "outline-error" | "outline-info" | "outline-neutral" | null | undefined;
|
|
1064
1199
|
} & ClassProp) | undefined) => string;
|
|
1065
1200
|
|
|
1066
1201
|
export { Blocker }
|
|
@@ -1215,16 +1350,45 @@ declare interface CellEditBase<TRow extends Record<string, unknown>, TValue, TDr
|
|
|
1215
1350
|
* Observes editor drafts, including incomplete input and restored drafts on
|
|
1216
1351
|
* cancellation. Direct inputs emit raw strings; choices emit selected values,
|
|
1217
1352
|
* not search text or highlights. Updating `data` here is outside the supported
|
|
1218
|
-
* coordination contract.
|
|
1353
|
+
* coordination contract. A failed change check retains its draft and blocks
|
|
1354
|
+
* confirmation; pending change checks finish before `onValueCommitted` runs.
|
|
1355
|
+
* Cancellation notifications cannot create a new cell error after discarding
|
|
1356
|
+
* the draft. Pass `error: false` for unobserved callback behavior.
|
|
1219
1357
|
*/
|
|
1220
1358
|
onValueChange?: (row: TRow, draft: TDraft) => void;
|
|
1221
1359
|
/**
|
|
1222
|
-
*
|
|
1223
|
-
* Empty cells confirm `null`.
|
|
1224
|
-
*
|
|
1225
|
-
*
|
|
1360
|
+
* Attempts to confirm a changed editor output, compared with current `data`.
|
|
1361
|
+
* Empty cells confirm `null`. A normal return or fulfilled Promise completes
|
|
1362
|
+
* the edit; throw/rejection retains the draft and error for correction or retry.
|
|
1363
|
+
* Focus may leave while pending. Update `data` here to adopt a successful value;
|
|
1364
|
+
* DataTable does not persist or roll back consumer state. Output types follow
|
|
1365
|
+
* the editor, not the row field's runtime type.
|
|
1226
1366
|
*/
|
|
1227
1367
|
onValueCommitted: (row: TRow, value: TValue | null) => void;
|
|
1368
|
+
/**
|
|
1369
|
+
* Callback failures automatically open an error popover without moving focus.
|
|
1370
|
+
* Only non-empty `CellEditError` messages are displayed by the standard UI;
|
|
1371
|
+
* other failures use localized generic feedback. Translate messages before throwing.
|
|
1372
|
+
* Pass `false` to disable interception and retain eager edit completion, or
|
|
1373
|
+
* `render` to replace the popover's body. Closing the details retains the draft
|
|
1374
|
+
* and error; reopen with the error icon or Alt+ArrowDown. Esc closes open details
|
|
1375
|
+
* first, then restores current data and clears the error. The standard popover
|
|
1376
|
+
* adds no reset action; custom content may include consumer-owned actions.
|
|
1377
|
+
*/
|
|
1378
|
+
error?: false | {
|
|
1379
|
+
render: (ctx: {
|
|
1380
|
+
row: TRow;
|
|
1381
|
+
error: unknown;
|
|
1382
|
+
}) => ReactNode;
|
|
1383
|
+
};
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
/**
|
|
1387
|
+
* A cell-editing failure whose message is safe to display to the user.
|
|
1388
|
+
* Translate the message before throwing; other errors use generic feedback.
|
|
1389
|
+
*/
|
|
1390
|
+
export declare class CellEditError extends globalThis.Error {
|
|
1391
|
+
name: string;
|
|
1228
1392
|
}
|
|
1229
1393
|
|
|
1230
1394
|
/** Row state passed to `edit.canEdit` alongside the row. */
|
|
@@ -1416,6 +1580,34 @@ declare type CheckboxSection<TField extends string = string> = FieldSectionBase<
|
|
|
1416
1580
|
searchThreshold?: number | false;
|
|
1417
1581
|
};
|
|
1418
1582
|
|
|
1583
|
+
/** `"checkbox"` mode's own props. */
|
|
1584
|
+
declare type CheckboxSelectionOwnProps<T> = {
|
|
1585
|
+
/** What clicking and Space do to a row. Default `"none"`. */
|
|
1586
|
+
selectionMode: "checkbox";
|
|
1587
|
+
/**
|
|
1588
|
+
* Names the hidden inputs that carry the value on native form submission,
|
|
1589
|
+
* one per key (read with `formData.getAll(name)`). Inside a `Field.Root`, the
|
|
1590
|
+
* field's `name` wins.
|
|
1591
|
+
*/
|
|
1592
|
+
name?: string;
|
|
1593
|
+
/** `id` of the form that owns the hidden inputs, when the tree is rendered outside it. */
|
|
1594
|
+
form?: string;
|
|
1595
|
+
/** The string written into each hidden input. Defaults to the item's key. */
|
|
1596
|
+
itemToStringValue?: (item: T, context: TreeMapItemContext<T>) => string;
|
|
1597
|
+
/** At least one item must be ticked before the owning form can submit. */
|
|
1598
|
+
required?: boolean;
|
|
1599
|
+
/**
|
|
1600
|
+
* Id for the tree's form control (Field generates one otherwise). A native
|
|
1601
|
+
* `<label htmlFor>` focuses the tree but doesn't name it — name it with a
|
|
1602
|
+
* `Field.Label`, `aria-label` or `aria-labelledby`.
|
|
1603
|
+
*/
|
|
1604
|
+
id?: string;
|
|
1605
|
+
/** Ref to the hidden proxy input that carries `required` and Field validation. */
|
|
1606
|
+
inputRef?: React_2.Ref<HTMLInputElement>;
|
|
1607
|
+
/** Fires when focus leaves the tree (not each row). */
|
|
1608
|
+
onBlur?: () => void;
|
|
1609
|
+
} & TreeValueProps<T> & TreeSelectionBehaviorProps;
|
|
1610
|
+
|
|
1419
1611
|
/** Clears only the rail's own fields. Renders nothing while none are active. */
|
|
1420
1612
|
declare function ClearAll({ children, className }: ClearAllProps): JSX.Element | null;
|
|
1421
1613
|
|
|
@@ -1673,6 +1865,17 @@ declare interface ColumnBase<TRow extends Record<string, unknown>> {
|
|
|
1673
1865
|
* across spread-then-override patterns like `column({ ...inferred, render })`.
|
|
1674
1866
|
*/
|
|
1675
1867
|
render?: (row: TRow) => ReactNode;
|
|
1868
|
+
/**
|
|
1869
|
+
* Sets `className`, `style`, and `title` on the data cell's `<td>`, including
|
|
1870
|
+
* its padding, based on the row. Return `undefined` to keep the defaults.
|
|
1871
|
+
* Classes are merged with the built-in classes; CSS specificity still applies.
|
|
1872
|
+
* An inline `style.backgroundColor` remains visible during row hover and
|
|
1873
|
+
* selection, including on pinned cells. Use an opaque background for pinned
|
|
1874
|
+
* cells to prevent content bleeding through. Column `width` and sticky
|
|
1875
|
+
* positioning take precedence over `style`. Content stays owned by `render`;
|
|
1876
|
+
* events, refs, and cell spanning are not configurable through this hook.
|
|
1877
|
+
*/
|
|
1878
|
+
cellProps?: (row: TRow) => Pick<ComponentProps<"td">, "className" | "style" | "title"> | undefined;
|
|
1676
1879
|
/**
|
|
1677
1880
|
* Custom header renderer.
|
|
1678
1881
|
*
|
|
@@ -1685,6 +1888,40 @@ declare interface ColumnBase<TRow extends Record<string, unknown>> {
|
|
|
1685
1888
|
* still driven by `label`, `sort`, and other column metadata.
|
|
1686
1889
|
*/
|
|
1687
1890
|
header?: (ctx: HeaderRenderContext) => ReactNode;
|
|
1891
|
+
/**
|
|
1892
|
+
* Sets `className`, `style`, and `title` on this column's header `<th>`.
|
|
1893
|
+
* Receives the same context as `header`; return `undefined` to keep the defaults.
|
|
1894
|
+
* Classes are merged with the built-in classes; column `width` and sticky
|
|
1895
|
+
* positioning take precedence over `style`. Use an opaque background for
|
|
1896
|
+
* pinned headers. Content stays owned by `header` or the default renderer;
|
|
1897
|
+
* sorting and context-menu behavior are unchanged. Built-in selection,
|
|
1898
|
+
* expansion, and action headers are not affected.
|
|
1899
|
+
*/
|
|
1900
|
+
headerProps?: (ctx: HeaderRenderContext) => Pick<ComponentProps<"th">, "className" | "style" | "title"> | undefined;
|
|
1901
|
+
/**
|
|
1902
|
+
* Content for this column's cell in a sticky table footer: a static string
|
|
1903
|
+
* or a renderer receiving the current `data.rows` (the current page, not all
|
|
1904
|
+
* records or only selected rows). `type` and `typeOptions` do not apply.
|
|
1905
|
+
*
|
|
1906
|
+
* A footer row appears when any visible column defines a footer, including
|
|
1907
|
+
* an empty string. Columns without one leave a blank cell; hidden columns'
|
|
1908
|
+
* callbacks are not called.
|
|
1909
|
+
* Loading keeps the footer row with skeletons without calling renderers.
|
|
1910
|
+
* Hidden during errors; loaded empty data receives `rows: []`.
|
|
1911
|
+
* Separate from `DataTable.Footer`, the pagination / bulk-action container.
|
|
1912
|
+
*/
|
|
1913
|
+
footer?: string | ((ctx: FooterRenderContext<TRow>) => ReactNode);
|
|
1914
|
+
/**
|
|
1915
|
+
* Sets `className`, `style`, and `title` on this column's footer `<td>`.
|
|
1916
|
+
* Receives the same context as `footer`; return `undefined` to keep the defaults.
|
|
1917
|
+
* Classes are merged with the built-in classes; column `width` and sticky
|
|
1918
|
+
* positioning take precedence over `style`. Use an opaque background for
|
|
1919
|
+
* pinned footer cells. Content stays owned by `footer`; events, refs, and
|
|
1920
|
+
* cell spanning are not configurable through this hook.
|
|
1921
|
+
* Does not create a footer row by itself. Not called while loading, on errors,
|
|
1922
|
+
* or for hidden columns. Built-in utility footer cells are not affected.
|
|
1923
|
+
*/
|
|
1924
|
+
footerProps?: (ctx: FooterRenderContext<TRow>) => Pick<ComponentProps<"td">, "className" | "style" | "title"> | undefined;
|
|
1688
1925
|
/**
|
|
1689
1926
|
* Stable identifier used for column visibility toggling, persisted layout
|
|
1690
1927
|
* state, raw-value fallback (`row[col.id]`), and as the React key. Falls
|
|
@@ -2305,7 +2542,7 @@ declare namespace Content_2 {
|
|
|
2305
2542
|
}
|
|
2306
2543
|
|
|
2307
2544
|
/** The main dialog panel that contains the dialog content. Automatically includes a close button and overlay. */
|
|
2308
|
-
declare function Content_3({ className, children, ...props }:
|
|
2545
|
+
declare function Content_3({ className, children, ref, initialFocus, ...props }: DialogContentProps): JSX.Element;
|
|
2309
2546
|
|
|
2310
2547
|
declare namespace Content_3 {
|
|
2311
2548
|
var displayName: string;
|
|
@@ -2359,11 +2596,15 @@ export declare type ContextData = AppShellRegister extends {
|
|
|
2359
2596
|
} ? T : Record<string, unknown>;
|
|
2360
2597
|
|
|
2361
2598
|
/**
|
|
2362
|
-
* A styled input
|
|
2599
|
+
* A styled text input for the field.
|
|
2363
2600
|
*
|
|
2364
|
-
*
|
|
2365
|
-
* (e.g. Select
|
|
2366
|
-
*
|
|
2601
|
+
* Use it for plain text-like inputs, or pass a native element to `render`
|
|
2602
|
+
* (e.g. `render={<textarea />}`). `Select`, `Combobox`, `Autocomplete`,
|
|
2603
|
+
* `Checkbox`, `Textarea`, `DateField`, `DatePicker`, `DateRangePicker` and
|
|
2604
|
+
* `Tree` go directly under `Field.Root` instead: each draws its own frame and
|
|
2605
|
+
* registers with the Field context itself. Passing one to `render` draws a second frame
|
|
2606
|
+
* and logs a warning. `Input` does not connect to `Field.Root` — use
|
|
2607
|
+
* `Field.Control` in its place inside a field.
|
|
2367
2608
|
*/
|
|
2368
2609
|
declare function Control({ className, ...props }: React_2.ComponentProps<typeof Field_2.Control>): JSX.Element;
|
|
2369
2610
|
|
|
@@ -2684,7 +2925,8 @@ export declare const DataTable: {
|
|
|
2684
2925
|
/** Built-in column visibility, ordering, and pinning controls. */
|
|
2685
2926
|
readonly ColumnSettings: typeof DataTableColumnSettings;
|
|
2686
2927
|
/**
|
|
2687
|
-
* Renders `<table>` with built-in
|
|
2928
|
+
* Renders `<table>` with built-in headers, body, and a sticky footer row
|
|
2929
|
+
* when a visible column defines `footer`.
|
|
2688
2930
|
* Place inside `DataTable.Root`.
|
|
2689
2931
|
*/
|
|
2690
2932
|
readonly Table: typeof DataTableTable;
|
|
@@ -2821,6 +3063,26 @@ export declare interface DataTableContextValue<TRow extends Record<string, unkno
|
|
|
2821
3063
|
collapseAllRows?: () => void;
|
|
2822
3064
|
/** Expansion config. Its presence enables the expand column and detail rows. */
|
|
2823
3065
|
rowExpansion?: RowExpansionOptions<TRow>;
|
|
3066
|
+
/** Sub-rows config. Its presence turns the table into a tree. */
|
|
3067
|
+
subRows?: SubRowsOptions<TRow>;
|
|
3068
|
+
/** The rows to render with sub-rows: each page row followed by its open sub-rows. */
|
|
3069
|
+
visibleRows?: DataTableTreeRow<TRow>[];
|
|
3070
|
+
/** Key of the hierarchy column. */
|
|
3071
|
+
treeColumnKey?: string;
|
|
3072
|
+
/**
|
|
3073
|
+
* The hierarchy column. It's owned by `subRows`, so it's not in `columns`,
|
|
3074
|
+
* but it leads `visibleColumns`.
|
|
3075
|
+
*/
|
|
3076
|
+
hierarchyColumn?: Column<TRow>;
|
|
3077
|
+
/** Ids of the rows whose sub-rows are open. */
|
|
3078
|
+
expandedSubRowIds?: string[];
|
|
3079
|
+
/** Opens or closes `row`'s sub-rows. */
|
|
3080
|
+
toggleSubRows?: (row: TRow) => void;
|
|
3081
|
+
/** A row's checkbox, derived as `rowSelection.selectionStrategy` says. */
|
|
3082
|
+
getRowCheckState?: (row: TRow) => {
|
|
3083
|
+
checked: boolean;
|
|
3084
|
+
indeterminate: boolean;
|
|
3085
|
+
};
|
|
2824
3086
|
}
|
|
2825
3087
|
|
|
2826
3088
|
/**
|
|
@@ -2836,6 +3098,38 @@ declare type DataTableDateFilterOperator = Extract<OperatorForFilterType["date"]
|
|
|
2836
3098
|
|
|
2837
3099
|
declare type DataTableEnumFilterOperator = Extract<OperatorForFilterType["enum"], "in">;
|
|
2838
3100
|
|
|
3101
|
+
/**
|
|
3102
|
+
* `rowExpansion` and `subRows` are mutually exclusive. The `never` members reject
|
|
3103
|
+
* both even when options come from a typed variable or a spread.
|
|
3104
|
+
*/
|
|
3105
|
+
declare type DataTableExpansionOptions<TRow extends Record<string, unknown>> = {
|
|
3106
|
+
/**
|
|
3107
|
+
* Expandable detail rows. Providing this enables the whole feature: a chevron
|
|
3108
|
+
* column is added at the left edge (auto-pinned left, after the selection
|
|
3109
|
+
* column) and `render`'s output appears in a full-width row beneath its parent.
|
|
3110
|
+
*
|
|
3111
|
+
* Grouped rather than flat so the parts can't be configured in a broken
|
|
3112
|
+
* combination — a label or predicate without a renderer, or `expandedIds`
|
|
3113
|
+
* without `onChange`, are all compile errors.
|
|
3114
|
+
*
|
|
3115
|
+
* **Requirement:** Each row must have a string or number `id` field.
|
|
3116
|
+
* Expansion is keyed by `id`, so rows without one render no chevron.
|
|
3117
|
+
*
|
|
3118
|
+
* **Note:** Expansion is **not** cleared on page change — ids of rows no
|
|
3119
|
+
* longer on the page simply do not render. Call `collapseAllRows()` to reset.
|
|
3120
|
+
*/
|
|
3121
|
+
rowExpansion?: RowExpansionOptions<TRow>;
|
|
3122
|
+
subRows?: never;
|
|
3123
|
+
} | {
|
|
3124
|
+
rowExpansion?: never;
|
|
3125
|
+
/**
|
|
3126
|
+
* Nested rows under each row, opened from a caret in the hierarchy column.
|
|
3127
|
+
* See {@link SubRowsOptions}. Can't be combined with `rowExpansion`: a row
|
|
3128
|
+
* shows either its sub-rows or a detail panel, so passing both is a type error.
|
|
3129
|
+
*/
|
|
3130
|
+
subRows: SubRowsOptions<TRow>;
|
|
3131
|
+
};
|
|
3132
|
+
|
|
2839
3133
|
export declare type DataTableFilterConfig = (Extract<FilterConfig, {
|
|
2840
3134
|
type: "string";
|
|
2841
3135
|
}> & {
|
|
@@ -2970,6 +3264,19 @@ declare namespace DataTableToolbar {
|
|
|
2970
3264
|
var displayName: string;
|
|
2971
3265
|
}
|
|
2972
3266
|
|
|
3267
|
+
/** One rendered row of a table with `subRows`. */
|
|
3268
|
+
export declare interface DataTableTreeRow<TRow extends Record<string, unknown>> {
|
|
3269
|
+
row: TRow;
|
|
3270
|
+
/** 0 for the page's own rows. */
|
|
3271
|
+
depth: number;
|
|
3272
|
+
/** The row has sub-rows (and an id, so it can open). */
|
|
3273
|
+
hasSubRows: boolean;
|
|
3274
|
+
/** Its sub-rows are shown. */
|
|
3275
|
+
expanded: boolean;
|
|
3276
|
+
/** Unique render key, from the row's position in the tree. */
|
|
3277
|
+
key: string;
|
|
3278
|
+
}
|
|
3279
|
+
|
|
2973
3280
|
declare type DataTableUiFilterOperatorByType = {
|
|
2974
3281
|
string: DataTableStringFilterOperator;
|
|
2975
3282
|
number: DataTableNumericTemporalFilterOperator;
|
|
@@ -3304,6 +3611,39 @@ export declare type DefaultSidebarProps = {
|
|
|
3304
3611
|
iconRail?: boolean;
|
|
3305
3612
|
};
|
|
3306
3613
|
|
|
3614
|
+
/**
|
|
3615
|
+
* Small typed helper for defining local AI chat tools.
|
|
3616
|
+
*
|
|
3617
|
+
* This is mostly an identity function, but it keeps `execute(args)` inferred
|
|
3618
|
+
* from the provided schema when tools are declared inline.
|
|
3619
|
+
*
|
|
3620
|
+
* @example
|
|
3621
|
+
* ```ts
|
|
3622
|
+
* import { defineAIChatTool } from "@tailor-platform/app-shell";
|
|
3623
|
+
* import { z } from "zod/v4";
|
|
3624
|
+
*
|
|
3625
|
+
* const lookupCustomer = defineAIChatTool({
|
|
3626
|
+
* description: "Look up a customer in the current workspace",
|
|
3627
|
+
* schema: z.object({
|
|
3628
|
+
* customerId: z.string(),
|
|
3629
|
+
* }),
|
|
3630
|
+
* async execute({ customerId }, { signal }) {
|
|
3631
|
+
* const customer = await fetchCustomer(customerId, { signal });
|
|
3632
|
+
* return {
|
|
3633
|
+
* id: customer.id,
|
|
3634
|
+
* name: customer.name,
|
|
3635
|
+
* status: customer.status,
|
|
3636
|
+
* };
|
|
3637
|
+
* },
|
|
3638
|
+
* });
|
|
3639
|
+
* ```
|
|
3640
|
+
*/
|
|
3641
|
+
export declare function defineAIChatTool<const TSchema extends AIChatToolSchema<any, any>>(tool: {
|
|
3642
|
+
description?: string;
|
|
3643
|
+
schema: TSchema;
|
|
3644
|
+
execute: (args: StandardSchemaV1.InferOutput<TSchema>, context: AIChatToolContext) => unknown | Promise<unknown>;
|
|
3645
|
+
}): AILocalTool<TSchema>;
|
|
3646
|
+
|
|
3307
3647
|
/**
|
|
3308
3648
|
* Defines internationalization labels for multiple locales.
|
|
3309
3649
|
*
|
|
@@ -3609,6 +3949,8 @@ export declare const Dialog: {
|
|
|
3609
3949
|
Trigger: typeof Trigger_2;
|
|
3610
3950
|
};
|
|
3611
3951
|
|
|
3952
|
+
declare type DialogContentProps = React_2.ComponentProps<typeof Dialog_2.Popup>;
|
|
3953
|
+
|
|
3612
3954
|
declare type DialogRootProps = Pick<React_2.ComponentProps<typeof Dialog_2.Root>, "open" | "defaultOpen" | "onOpenChange" | "modal"> & {
|
|
3613
3955
|
children: React_2.ReactNode;
|
|
3614
3956
|
};
|
|
@@ -3706,6 +4048,23 @@ declare type DynamicLocales<Def extends Record<string, LabelValue>> = {
|
|
|
3706
4048
|
[locale: string]: Partial<LabelDefinition<Def>> | undefined;
|
|
3707
4049
|
};
|
|
3708
4050
|
|
|
4051
|
+
/**
|
|
4052
|
+
* The role each element component applies when no `variant` is given. They
|
|
4053
|
+
* follow `defaultTagNames`: body roles render `p`, label roles render `span`.
|
|
4054
|
+
* `div` is a block element like `p`, so it gets the default role of `Text`.
|
|
4055
|
+
*/
|
|
4056
|
+
declare const elementDefaultVariants: {
|
|
4057
|
+
readonly h1: "heading-lg";
|
|
4058
|
+
readonly h2: "heading-md";
|
|
4059
|
+
readonly h3: "heading-sm";
|
|
4060
|
+
readonly h4: "heading-sm";
|
|
4061
|
+
readonly h5: "heading-sm";
|
|
4062
|
+
readonly h6: "heading-sm";
|
|
4063
|
+
readonly p: "body-md";
|
|
4064
|
+
readonly span: "label-md";
|
|
4065
|
+
readonly div: "body-md";
|
|
4066
|
+
};
|
|
4067
|
+
|
|
3709
4068
|
/**
|
|
3710
4069
|
* Behavior when a field value is empty/null/undefined
|
|
3711
4070
|
*/
|
|
@@ -3817,6 +4176,14 @@ declare type ErrorBoundaryProps = {
|
|
|
3817
4176
|
errorBoundary?: ErrorBoundaryComponent;
|
|
3818
4177
|
};
|
|
3819
4178
|
|
|
4179
|
+
/**
|
|
4180
|
+
* Rules out another mode's props, so that (say) `name` without
|
|
4181
|
+
* `selectionMode: "checkbox"` is a type error rather than silently ignored.
|
|
4182
|
+
*/
|
|
4183
|
+
declare type Excluding<P> = {
|
|
4184
|
+
[K in Exclude<keyof P, "selectionMode">]?: never;
|
|
4185
|
+
};
|
|
4186
|
+
|
|
3820
4187
|
/**
|
|
3821
4188
|
* Type-safe path builder for file-based routing.
|
|
3822
4189
|
*
|
|
@@ -4229,6 +4596,12 @@ declare namespace Footer_3 {
|
|
|
4229
4596
|
var displayName: string;
|
|
4230
4597
|
}
|
|
4231
4598
|
|
|
4599
|
+
/** Context passed to custom column `footer` renderers and `footerProps` callbacks. */
|
|
4600
|
+
export declare interface FooterRenderContext<TRow extends Record<string, unknown>> {
|
|
4601
|
+
/** Current `data.rows` (the current page, not all records or only selected rows). */
|
|
4602
|
+
rows: readonly TRow[];
|
|
4603
|
+
}
|
|
4604
|
+
|
|
4232
4605
|
/**
|
|
4233
4606
|
* A form element with consolidated error handling and validation.
|
|
4234
4607
|
*
|
|
@@ -4432,7 +4805,7 @@ declare type GlobalHeaderLayoutBodyProps = GlobalHeaderLayoutCommonProps & {
|
|
|
4432
4805
|
children?: never;
|
|
4433
4806
|
};
|
|
4434
4807
|
|
|
4435
|
-
declare type GlobalHeaderLayoutCommonProps = {
|
|
4808
|
+
declare type GlobalHeaderLayoutCommonProps = SidebarBehaviourProps & {
|
|
4436
4809
|
/**
|
|
4437
4810
|
* The app-wide top bar, spanning above the sidebar and content.
|
|
4438
4811
|
*
|
|
@@ -4447,8 +4820,6 @@ declare type GlobalHeaderLayoutCommonProps = {
|
|
|
4447
4820
|
sidebar?: React.ReactNode;
|
|
4448
4821
|
/** Whether the sidebar is expanded by default on desktop. @default true */
|
|
4449
4822
|
defaultOpen?: boolean;
|
|
4450
|
-
/** Whether the sidebar can be collapsed. @default true */
|
|
4451
|
-
collapsible?: boolean;
|
|
4452
4823
|
};
|
|
4453
4824
|
|
|
4454
4825
|
/** Default content layout — you render the page via the `Outlet` render prop. */
|
|
@@ -4553,17 +4924,20 @@ export declare interface GridProps extends React_2.ComponentProps<"div"> {
|
|
|
4553
4924
|
justify?: "start" | "center" | "end" | "between" | "around" | "evenly";
|
|
4554
4925
|
}
|
|
4555
4926
|
|
|
4927
|
+
/** An expandable group with optional separation of its heading action and expand control. */
|
|
4928
|
+
declare function Group({ title, icon, render, isActive, onClick, expandOnClick, defaultOpen, children, ...props }: GroupProps): JSX.Element;
|
|
4929
|
+
|
|
4556
4930
|
/** Groups related menu items with the corresponding label. */
|
|
4557
|
-
declare function
|
|
4931
|
+
declare function Group_2({ ...props }: React_2.ComponentProps<typeof Menu_2.Group>): JSX.Element;
|
|
4558
4932
|
|
|
4559
|
-
declare namespace
|
|
4933
|
+
declare namespace Group_2 {
|
|
4560
4934
|
var displayName: string;
|
|
4561
4935
|
}
|
|
4562
4936
|
|
|
4563
4937
|
/** A related group of controls within a toolbar row. */
|
|
4564
|
-
declare function
|
|
4938
|
+
declare function Group_3({ className, ...props }: ToolbarGroupProps): JSX.Element;
|
|
4565
4939
|
|
|
4566
|
-
declare namespace
|
|
4940
|
+
declare namespace Group_3 {
|
|
4567
4941
|
var displayName: string;
|
|
4568
4942
|
}
|
|
4569
4943
|
|
|
@@ -4574,6 +4948,23 @@ declare namespace GroupLabel {
|
|
|
4574
4948
|
var displayName: string;
|
|
4575
4949
|
}
|
|
4576
4950
|
|
|
4951
|
+
declare type GroupProps = Omit<React_2.ComponentProps<"li">, "title" | "onClick"> & {
|
|
4952
|
+
/** Group label with meaningful accessible text; do not nest interactive elements. */
|
|
4953
|
+
title: React_2.ReactNode;
|
|
4954
|
+
icon?: React_2.ReactNode;
|
|
4955
|
+
/** Replaces the main heading operation without changing expansion behavior. */
|
|
4956
|
+
render?: React_2.ReactElement;
|
|
4957
|
+
isActive?: boolean;
|
|
4958
|
+
/** Runs only for the heading operation, not children or a separate expand button. */
|
|
4959
|
+
onClick?: React_2.MouseEventHandler<HTMLButtonElement>;
|
|
4960
|
+
/** Whether clicking the heading toggles the child list; false requires an operation. @default true */
|
|
4961
|
+
expandOnClick?: boolean;
|
|
4962
|
+
/** Whether the child list starts expanded. @default true */
|
|
4963
|
+
defaultOpen?: boolean;
|
|
4964
|
+
} & ({
|
|
4965
|
+
expandOnClick?: true;
|
|
4966
|
+
} | RequiredOperation);
|
|
4967
|
+
|
|
4577
4968
|
/**
|
|
4578
4969
|
* Guard function type.
|
|
4579
4970
|
* Guards are executed in order and stop on the first non-pass result.
|
|
@@ -4712,7 +5103,7 @@ declare type HeaderProps_2 = {
|
|
|
4712
5103
|
};
|
|
4713
5104
|
|
|
4714
5105
|
/**
|
|
4715
|
-
* Context passed to custom `header` renderers.
|
|
5106
|
+
* Context passed to custom `header` renderers and `headerProps` callbacks.
|
|
4716
5107
|
*/
|
|
4717
5108
|
export declare type HeaderRenderContext = NonSortableHeaderRenderContext | SortableHeaderRenderContext;
|
|
4718
5109
|
|
|
@@ -4735,6 +5126,29 @@ declare type HeadProps = React_2.ComponentProps<"th"> & {
|
|
|
4735
5126
|
*/
|
|
4736
5127
|
export declare const hidden: () => GuardResult;
|
|
4737
5128
|
|
|
5129
|
+
/**
|
|
5130
|
+
* The column that carries the sub-rows hierarchy: the indent, the open / close
|
|
5131
|
+
* caret, the selection checkbox (except under `"independent"`), and the row's
|
|
5132
|
+
* label. It takes the display options of a regular {@link Column}, typed the
|
|
5133
|
+
* same way per `type`, but its layout belongs to `subRows`: it's always first
|
|
5134
|
+
* and pinned left, and it stays out of column settings and saved layout.
|
|
5135
|
+
*
|
|
5136
|
+
* `id`, `pin`, `align`, `edit`, `sort` and `filter` aren't available. `label`
|
|
5137
|
+
* and `accessor` are required: `accessor` also names each row's caret for
|
|
5138
|
+
* assistive tech ("Expand row Assets").
|
|
5139
|
+
*/
|
|
5140
|
+
export declare type HierarchyColumn<TRow extends Record<string, unknown>> = Pick<ColumnBase<TRow>, "render" | "cellProps" | "header" | "headerProps" | "footer" | "footerProps" | "width" | "truncate"> & {
|
|
5141
|
+
/** Header text, and the caret's name prefix. */
|
|
5142
|
+
label: string;
|
|
5143
|
+
} & HierarchyColumnTypeBranch<TRow>;
|
|
5144
|
+
|
|
5145
|
+
/** Each `ColumnTypeBranch`, without `edit` and with `accessor` required. */
|
|
5146
|
+
declare type HierarchyColumnTypeBranch<TRow extends Record<string, unknown>> = ColumnTypeBranch<TRow> extends infer Branch ? Branch extends {
|
|
5147
|
+
accessor?: infer Accessor;
|
|
5148
|
+
} ? Omit<Branch, "edit" | "accessor"> & {
|
|
5149
|
+
accessor: NonNullable<Accessor>;
|
|
5150
|
+
} : never : never;
|
|
5151
|
+
|
|
4738
5152
|
declare type HourCycle = 12 | 24;
|
|
4739
5153
|
|
|
4740
5154
|
export declare type I18nLabels<Def extends Record<string, LabelValue> = Record<string, LabelValue>, L extends string = never> = {
|
|
@@ -4806,16 +5220,19 @@ declare namespace Interval {
|
|
|
4806
5220
|
*/
|
|
4807
5221
|
declare type IsEmptyObject<T> = keyof T extends never ? true : false;
|
|
4808
5222
|
|
|
4809
|
-
|
|
5223
|
+
/** A compact link or action row. No AppShell, router, or Sidebar provider is required. */
|
|
5224
|
+
declare function Item({ icon, children, disabled, render, tabIndex, className, ...props }: ItemProps): JSX.Element;
|
|
5225
|
+
|
|
5226
|
+
declare function Item_2({ indicator, children, className }: ActivityCardItemProps): JSX.Element;
|
|
4810
5227
|
|
|
4811
|
-
declare namespace
|
|
5228
|
+
declare namespace Item_2 {
|
|
4812
5229
|
var displayName: string;
|
|
4813
5230
|
}
|
|
4814
5231
|
|
|
4815
5232
|
/** An individual interactive item in the menu. */
|
|
4816
|
-
declare function
|
|
5233
|
+
declare function Item_3({ className, ...props }: React_2.ComponentProps<typeof Menu_2.Item>): JSX.Element;
|
|
4817
5234
|
|
|
4818
|
-
declare namespace
|
|
5235
|
+
declare namespace Item_3 {
|
|
4819
5236
|
var displayName: string;
|
|
4820
5237
|
}
|
|
4821
5238
|
|
|
@@ -4831,6 +5248,24 @@ export declare interface ItemGroup<T> {
|
|
|
4831
5248
|
items: T[];
|
|
4832
5249
|
}
|
|
4833
5250
|
|
|
5251
|
+
/** Compact icon-and-label lists with links, actions, groups, sections, and separators. */
|
|
5252
|
+
export declare const ItemList: {
|
|
5253
|
+
Root: typeof ListRoot;
|
|
5254
|
+
Item: typeof Item;
|
|
5255
|
+
Group: typeof Group;
|
|
5256
|
+
Section: typeof Section;
|
|
5257
|
+
Separator: typeof Separator;
|
|
5258
|
+
};
|
|
5259
|
+
|
|
5260
|
+
declare type ItemProps = React_2.ComponentProps<"button"> & {
|
|
5261
|
+
/** Optional decorative leading icon. */
|
|
5262
|
+
icon?: React_2.ReactNode;
|
|
5263
|
+
/** Visual emphasis only; aria-current="page" also supplies active styling. */
|
|
5264
|
+
isActive?: boolean;
|
|
5265
|
+
/** Replaces the inner button, not the containing list item. */
|
|
5266
|
+
render?: React_2.ReactElement;
|
|
5267
|
+
} & RequiredOperation;
|
|
5268
|
+
|
|
4834
5269
|
declare function Items<T extends ActivityCardBaseItem>({ children }: ActivityCardItemsProps<T>): JSX.Element;
|
|
4835
5270
|
|
|
4836
5271
|
declare namespace Items {
|
|
@@ -4907,7 +5342,7 @@ export declare const Layout: LayoutComponent;
|
|
|
4907
5342
|
|
|
4908
5343
|
/**
|
|
4909
5344
|
* Typed explicitly rather than assigning onto a `function Layout`: that form emits
|
|
4910
|
-
* `var Header: typeof import("./
|
|
5345
|
+
* `var Header: typeof import("./layout").Header`, which the declaration rollup
|
|
4911
5346
|
* rewrites to a bare `Header` — a namespace, not a type (TS2709). See `check-dts`.
|
|
4912
5347
|
*/
|
|
4913
5348
|
declare type LayoutComponent = typeof LayoutRoot & {
|
|
@@ -5006,13 +5441,18 @@ declare namespace LinkItem {
|
|
|
5006
5441
|
|
|
5007
5442
|
export { LinkProps }
|
|
5008
5443
|
|
|
5009
|
-
/**
|
|
5010
|
-
|
|
5444
|
+
/**
|
|
5445
|
+
* Groups the individual tab buttons. Tabs stay on one row and scroll sideways
|
|
5446
|
+
* when they do not fit. `className` applies to the inner track.
|
|
5447
|
+
*/
|
|
5448
|
+
declare function List({ className, children, ...props }: Omit<React_2.ComponentProps<typeof Tabs_2.List>, "render">): JSX.Element;
|
|
5011
5449
|
|
|
5012
5450
|
declare namespace List {
|
|
5013
5451
|
var displayName: string;
|
|
5014
5452
|
}
|
|
5015
5453
|
|
|
5454
|
+
declare function ListRoot({ className, ...props }: React_2.ComponentProps<"ul">): JSX.Element;
|
|
5455
|
+
|
|
5016
5456
|
declare type LoaderHandler = (args: LoaderFunctionArgs) => Promise<unknown> | unknown;
|
|
5017
5457
|
|
|
5018
5458
|
declare type LocalizedString = string | ((locale: string) => string);
|
|
@@ -5038,14 +5478,14 @@ export declare const Menu: {
|
|
|
5038
5478
|
Root: typeof Root_10;
|
|
5039
5479
|
Trigger: typeof Trigger_3;
|
|
5040
5480
|
Content: typeof Content_4;
|
|
5041
|
-
Item: typeof
|
|
5481
|
+
Item: typeof Item_3;
|
|
5042
5482
|
LinkItem: typeof LinkItem;
|
|
5043
5483
|
CheckboxItem: typeof CheckboxItem;
|
|
5044
5484
|
CheckboxItemIndicator: typeof CheckboxItemIndicator;
|
|
5045
5485
|
RadioItem: typeof RadioItem;
|
|
5046
5486
|
RadioItemIndicator: typeof RadioItemIndicator;
|
|
5047
5487
|
RadioGroup: typeof RadioGroup;
|
|
5048
|
-
Group: typeof
|
|
5488
|
+
Group: typeof Group_2;
|
|
5049
5489
|
GroupLabel: typeof GroupLabel;
|
|
5050
5490
|
Separator: typeof MenuSeparator;
|
|
5051
5491
|
SubmenuRoot: typeof SubmenuRoot;
|
|
@@ -5264,6 +5704,8 @@ declare type NumberRangeSection<TField extends string = string> = FieldSectionBa
|
|
|
5264
5704
|
unit?: ReactNode;
|
|
5265
5705
|
};
|
|
5266
5706
|
|
|
5707
|
+
declare type NumericValue = number | null | undefined;
|
|
5708
|
+
|
|
5267
5709
|
export declare type OpenCommandPaletteOptions = {
|
|
5268
5710
|
/** Optional initial text to prefill into the palette input. */
|
|
5269
5711
|
search?: string;
|
|
@@ -5597,6 +6039,12 @@ declare type ReasoningTriggerProps = Omit<ComponentProps<typeof DisclosureTrigge
|
|
|
5597
6039
|
*/
|
|
5598
6040
|
export declare const redirectTo: (to: string) => GuardResult;
|
|
5599
6041
|
|
|
6042
|
+
declare type RequiredOperation = {
|
|
6043
|
+
onClick: React_2.MouseEventHandler<HTMLButtonElement>;
|
|
6044
|
+
} | {
|
|
6045
|
+
render: React_2.ReactElement;
|
|
6046
|
+
};
|
|
6047
|
+
|
|
5600
6048
|
/** Color theme after resolving `system` to a concrete value. */
|
|
5601
6049
|
export declare type ResolvedColorTheme = "light" | "dark";
|
|
5602
6050
|
|
|
@@ -6101,8 +6549,16 @@ declare type RowExpansionOptions<TRow extends Record<string, unknown>> = {
|
|
|
6101
6549
|
onChange?: (ids: string[]) => void;
|
|
6102
6550
|
});
|
|
6103
6551
|
|
|
6104
|
-
/**
|
|
6105
|
-
|
|
6552
|
+
/**
|
|
6553
|
+
* Controlled or uncontrolled row-selection configuration. Keep the mode stable while mounted.
|
|
6554
|
+
*
|
|
6555
|
+
* With `subRows`, `selectionStrategy` says how ticking spreads through the
|
|
6556
|
+
* hierarchy and what the selected ids list, exactly as on `Tree`. It defaults to
|
|
6557
|
+
* `"leaves"`: a parent row is a container, its checkbox is derived from the rows
|
|
6558
|
+
* beneath it, and the selection lists the leaf rows. Without `subRows` every row
|
|
6559
|
+
* is independent and it has no effect.
|
|
6560
|
+
*/
|
|
6561
|
+
export declare type RowSelectionOptions = TreeSelectionBehaviorProps & {
|
|
6106
6562
|
/**
|
|
6107
6563
|
* Bulk actions for the selected IDs, shown in `DataTable.Footer` while at
|
|
6108
6564
|
* least one row is selected. The bar includes the selection count, these
|
|
@@ -6157,6 +6613,9 @@ export declare type SearchSource = {
|
|
|
6157
6613
|
}) => Promise<CommandPaletteSearchResult[]>;
|
|
6158
6614
|
};
|
|
6159
6615
|
|
|
6616
|
+
/** A static heading and a flat list, without group indentation or an expand control. */
|
|
6617
|
+
declare function Section({ title, children, className, ...props }: SectionProps): JSX.Element;
|
|
6618
|
+
|
|
6160
6619
|
declare type SectionBase = {
|
|
6161
6620
|
/** Stable and unique within the rail. Keys the layout and a11y ids. */
|
|
6162
6621
|
id: string;
|
|
@@ -6172,6 +6631,10 @@ declare type SectionBase = {
|
|
|
6172
6631
|
defaultCollapsed?: boolean;
|
|
6173
6632
|
};
|
|
6174
6633
|
|
|
6634
|
+
declare type SectionProps = Omit<React_2.ComponentProps<"li">, "title"> & {
|
|
6635
|
+
title: string;
|
|
6636
|
+
};
|
|
6637
|
+
|
|
6175
6638
|
/** Every section, in the user's layout. Scrolls; the header stays put. */
|
|
6176
6639
|
declare function Sections({ className }: SectionsProps): JSX.Element;
|
|
6177
6640
|
|
|
@@ -6462,10 +6925,13 @@ declare namespace SelectValue {
|
|
|
6462
6925
|
var displayName: string;
|
|
6463
6926
|
}
|
|
6464
6927
|
|
|
6928
|
+
/** A decorative divider that remains a valid child of a list. */
|
|
6929
|
+
declare function Separator({ className, ...props }: Omit<React_2.ComponentProps<"li">, "children">): JSX.Element;
|
|
6930
|
+
|
|
6465
6931
|
/** A vertical separator for groups within a horizontal toolbar row. */
|
|
6466
|
-
declare function
|
|
6932
|
+
declare function Separator_2({ className, ...props }: ToolbarSeparatorProps): JSX.Element;
|
|
6467
6933
|
|
|
6468
|
-
declare namespace
|
|
6934
|
+
declare namespace Separator_2 {
|
|
6469
6935
|
var displayName: string;
|
|
6470
6936
|
}
|
|
6471
6937
|
|
|
@@ -6700,6 +7166,34 @@ declare type SheetRootProps = Pick<React_2.ComponentProps<typeof Drawer.Root>, "
|
|
|
6700
7166
|
|
|
6701
7167
|
declare type Side = "top" | "right" | "bottom" | "left";
|
|
6702
7168
|
|
|
7169
|
+
/** Allowed desktop operations; every mode keeps normal mobile/tablet menu presentation. */
|
|
7170
|
+
declare type SidebarBehaviour =
|
|
7171
|
+
/** Always expanded at a fixed desktop width, with no collapse/resize controls; ignores defaultOpen. */
|
|
7172
|
+
"fixed"
|
|
7173
|
+
/** Desktop collapse/expand controls only, with a fixed width and no resize handle; respects defaultOpen. */
|
|
7174
|
+
| "collapse"
|
|
7175
|
+
/**
|
|
7176
|
+
* Desktop resizing only, while always expanded; ignores defaultOpen.
|
|
7177
|
+
* Width clamps to 192–480px, and double-click resets to 256px without collapsing.
|
|
7178
|
+
*/
|
|
7179
|
+
| "resize"
|
|
7180
|
+
/**
|
|
7181
|
+
* Default: both desktop collapsing and resizing are enabled; respects defaultOpen.
|
|
7182
|
+
* Dragging can expand, resize, and collapse. Double-click resets to 256px or collapses from 256px.
|
|
7183
|
+
*/
|
|
7184
|
+
| "collapse-and-resize";
|
|
7185
|
+
|
|
7186
|
+
/** New and deprecated configuration cannot be specified together. */
|
|
7187
|
+
declare type SidebarBehaviourProps = {
|
|
7188
|
+
/** Desktop operations to allow. @default "collapse-and-resize" */
|
|
7189
|
+
sidebarBehaviour?: SidebarBehaviour;
|
|
7190
|
+
collapsible?: never;
|
|
7191
|
+
} | {
|
|
7192
|
+
sidebarBehaviour?: never;
|
|
7193
|
+
/** @deprecated Use sidebarBehaviour. true maps to "collapse", false to "fixed". */
|
|
7194
|
+
collapsible?: boolean;
|
|
7195
|
+
};
|
|
7196
|
+
|
|
6703
7197
|
/**
|
|
6704
7198
|
* A collapsible group for sidebar navigation.
|
|
6705
7199
|
*
|
|
@@ -6903,7 +7397,7 @@ declare type SidebarLayoutBodyProps = SidebarLayoutCommonProps & {
|
|
|
6903
7397
|
children?: never;
|
|
6904
7398
|
};
|
|
6905
7399
|
|
|
6906
|
-
declare type SidebarLayoutCommonProps = {
|
|
7400
|
+
declare type SidebarLayoutCommonProps = SidebarBehaviourProps & {
|
|
6907
7401
|
/**
|
|
6908
7402
|
* Custom sidebar content. Replaces the whole sidebar region.
|
|
6909
7403
|
*
|
|
@@ -6920,14 +7414,6 @@ declare type SidebarLayoutCommonProps = {
|
|
|
6920
7414
|
* @default true
|
|
6921
7415
|
*/
|
|
6922
7416
|
defaultOpen?: boolean;
|
|
6923
|
-
/**
|
|
6924
|
-
* Whether the sidebar can be collapsed.
|
|
6925
|
-
* When set to `false`, the sidebar is always visible and cannot be toggled.
|
|
6926
|
-
* `defaultOpen` is ignored when this is `false`.
|
|
6927
|
-
*
|
|
6928
|
-
* @default true
|
|
6929
|
-
*/
|
|
6930
|
-
collapsible?: boolean;
|
|
6931
7417
|
/**
|
|
6932
7418
|
* A global top bar rendered above **everything** — spanning the full width
|
|
6933
7419
|
* across the top of the primary sidebar and the content region alike. The
|
|
@@ -7067,6 +7553,24 @@ export declare type SidebarSectionProps = {
|
|
|
7067
7553
|
*/
|
|
7068
7554
|
export declare const SidebarSeparator: () => JSX.Element;
|
|
7069
7555
|
|
|
7556
|
+
/** `"single"` mode's own props. */
|
|
7557
|
+
declare type SingleSelectionOwnProps<T> = {
|
|
7558
|
+
/** What clicking and Space do to a row. Default `"none"`. */
|
|
7559
|
+
selectionMode: "single";
|
|
7560
|
+
/** Controlled selection: the selected row's key, or `null` for none. */
|
|
7561
|
+
selectedKey?: string | null;
|
|
7562
|
+
/** Initial selection when uncontrolled. */
|
|
7563
|
+
defaultSelectedKey?: string | null;
|
|
7564
|
+
/** Fires when the user selects a row, with its key and your item. */
|
|
7565
|
+
onSelectedKeyChange?: (key: string, item: T) => void;
|
|
7566
|
+
/**
|
|
7567
|
+
* Opens the selected row's ancestors when it starts out hidden or
|
|
7568
|
+
* `selectedKey` changes from outside, so the selection is always on screen.
|
|
7569
|
+
* A group the user closes afterwards stays closed. Default `true`.
|
|
7570
|
+
*/
|
|
7571
|
+
revealSelected?: boolean;
|
|
7572
|
+
};
|
|
7573
|
+
|
|
7070
7574
|
declare type Size = "sm" | "md" | "lg" | "xl" | "full";
|
|
7071
7575
|
|
|
7072
7576
|
/**
|
|
@@ -7177,6 +7681,39 @@ declare namespace SubmenuTrigger {
|
|
|
7177
7681
|
var displayName: string;
|
|
7178
7682
|
}
|
|
7179
7683
|
|
|
7684
|
+
/**
|
|
7685
|
+
* Nested rows, shown under their parent when it's opened. The page's rows are
|
|
7686
|
+
* the top level, so pagination counts them, and each parent's sub-rows stay on
|
|
7687
|
+
* its page.
|
|
7688
|
+
*
|
|
7689
|
+
* `hierarchyColumn` defines the column that carries the hierarchy. Like the
|
|
7690
|
+
* row-actions column, it's added by the feature rather than taken from
|
|
7691
|
+
* `columns`: it's always first and pinned left, can't be hidden or moved, and
|
|
7692
|
+
* leaves your other columns as you defined them.
|
|
7693
|
+
*
|
|
7694
|
+
* **Requirement:** Each row must have a string or number `id`, unique across
|
|
7695
|
+
* the whole tree. Expansion and selection are keyed by it; a row without one
|
|
7696
|
+
* shows its sub-rows nowhere and can't be selected.
|
|
7697
|
+
*/
|
|
7698
|
+
export declare type SubRowsOptions<TRow extends Record<string, unknown>> = {
|
|
7699
|
+
/** A row's sub-rows. Omitted, `null` or empty means a leaf. */
|
|
7700
|
+
getSubRows: (row: TRow) => readonly TRow[] | null | undefined;
|
|
7701
|
+
/** The column that shows the hierarchy. See {@link HierarchyColumn}. */
|
|
7702
|
+
hierarchyColumn: HierarchyColumn<TRow>;
|
|
7703
|
+
} & ({
|
|
7704
|
+
/** Controlled: ids of the rows whose sub-rows are open. Update it from `onExpandedChange`. */
|
|
7705
|
+
expandedIds: string[];
|
|
7706
|
+
/** Called with every open id after the user opens or closes a row. */
|
|
7707
|
+
onExpandedChange: (ids: string[]) => void;
|
|
7708
|
+
defaultExpandedIds?: never;
|
|
7709
|
+
} | {
|
|
7710
|
+
expandedIds?: never;
|
|
7711
|
+
/** Ids open at first, when uncontrolled. */
|
|
7712
|
+
defaultExpandedIds?: string[];
|
|
7713
|
+
/** Notification in uncontrolled mode, with every open id. */
|
|
7714
|
+
onExpandedChange?: (ids: string[]) => void;
|
|
7715
|
+
});
|
|
7716
|
+
|
|
7180
7717
|
/**
|
|
7181
7718
|
* A starter-prompt chip. Submits `suggestion` as if the user had typed and
|
|
7182
7719
|
* sent it — the fastest way to teach people what the assistant is good at.
|
|
@@ -7279,16 +7816,22 @@ declare type TabsVariant = "default" | "line" | "capsule";
|
|
|
7279
7816
|
* Text with a typography role. The role sets the size, line height, weight,
|
|
7280
7817
|
* and letter spacing. It does not set the color or choose the heading level.
|
|
7281
7818
|
*
|
|
7819
|
+
* `Text.h1` to `Text.h6`, `Text.p`, `Text.span`, and `Text.div` always render
|
|
7820
|
+
* their named element, with a default role for that element. They take
|
|
7821
|
+
* `variant`, the element's own attributes, and a ref, but not `render`.
|
|
7822
|
+
*
|
|
7282
7823
|
* @example
|
|
7283
7824
|
* ```tsx
|
|
7284
7825
|
* import { Text } from "@tailor-platform/app-shell";
|
|
7285
7826
|
*
|
|
7286
|
-
* <Text
|
|
7287
|
-
* <Text variant="
|
|
7288
|
-
* <Text
|
|
7827
|
+
* <Text.h1>Purchase orders</Text.h1>
|
|
7828
|
+
* <Text.h3 variant="heading-md">Line items</Text.h3>
|
|
7829
|
+
* <Text.p className="text-muted-foreground">Orders sent this month.</Text.p>
|
|
7830
|
+
* <Text.span className="tabular-nums">1,240</Text.span>
|
|
7831
|
+
* <Text variant="label-md" render={<CustomLabel />}>Quantity</Text>
|
|
7289
7832
|
* ```
|
|
7290
7833
|
*/
|
|
7291
|
-
declare
|
|
7834
|
+
declare const Text_2: TextComponent;
|
|
7292
7835
|
export { Text_2 as Text }
|
|
7293
7836
|
|
|
7294
7837
|
/**
|
|
@@ -7368,13 +7911,34 @@ export declare interface TextCellEditOptions<TRow extends Record<string, unknown
|
|
|
7368
7911
|
options?: readonly SelectOption[];
|
|
7369
7912
|
}
|
|
7370
7913
|
|
|
7914
|
+
/**
|
|
7915
|
+
* Keep the exported static API type explicit instead of relying on
|
|
7916
|
+
* `Object.assign(...)` inference, as `Layout` and `Autocomplete` do.
|
|
7917
|
+
*/
|
|
7918
|
+
declare type TextComponent = typeof TextRoot & {
|
|
7919
|
+
[T in TextTagName]: TextElementComponent<T>;
|
|
7920
|
+
};
|
|
7921
|
+
|
|
7922
|
+
declare type TextElementComponent<T extends TextTagName> = {
|
|
7923
|
+
(props: TextElementProps<T>): React_2.JSX.Element;
|
|
7924
|
+
displayName?: string;
|
|
7925
|
+
};
|
|
7926
|
+
|
|
7927
|
+
declare type TextElementProps<T extends TextTagName> = React_2.ComponentProps<T> & VariantProps<typeof textVariants>;
|
|
7928
|
+
|
|
7371
7929
|
export declare type TextProps = React_2.HTMLAttributes<HTMLElement> & VariantProps<typeof textVariants> & {
|
|
7372
7930
|
/** Ref to the rendered element. */
|
|
7373
7931
|
ref?: React_2.Ref<HTMLElement>;
|
|
7374
|
-
/** Custom element to render as (Base UI render prop). Use it to
|
|
7932
|
+
/** Custom element to render as (Base UI render prop). Use it to compose with another component. For a plain HTML element, use `Text.h1` to `Text.h6`, `Text.p`, `Text.span`, or `Text.div`. */
|
|
7375
7933
|
render?: React_2.ReactElement;
|
|
7376
7934
|
};
|
|
7377
7935
|
|
|
7936
|
+
declare function TextRoot({ className, variant, render, children, ref, ...props }: TextProps): React_2.ReactElement<unknown, string | React_2.JSXElementConstructor<any>>;
|
|
7937
|
+
|
|
7938
|
+
declare namespace TextRoot {
|
|
7939
|
+
var displayName: string;
|
|
7940
|
+
}
|
|
7941
|
+
|
|
7378
7942
|
/** Free text with one fixed operator. */
|
|
7379
7943
|
declare type TextSection<TField extends string = string> = FieldSectionBase<TField> & {
|
|
7380
7944
|
control: "text";
|
|
@@ -7386,6 +7950,8 @@ declare type TextSection<TField extends string = string> = FieldSectionBase<TFie
|
|
|
7386
7950
|
minLength?: number;
|
|
7387
7951
|
};
|
|
7388
7952
|
|
|
7953
|
+
declare type TextTagName = keyof typeof elementDefaultVariants;
|
|
7954
|
+
|
|
7389
7955
|
declare const textVariants: (props?: ({
|
|
7390
7956
|
variant?: "heading-lg" | "heading-md" | "heading-sm" | "body-md" | "body-sm" | "label-md" | "label-sm" | "code-sm" | "body-md-relaxed" | "body-sm-relaxed" | null | undefined;
|
|
7391
7957
|
} & ClassProp) | undefined) => string;
|
|
@@ -7796,8 +8362,8 @@ declare function Tool({ className, children, ...props }: ToolProps): JSX.Element
|
|
|
7796
8362
|
export declare const Toolbar: {
|
|
7797
8363
|
Root: typeof Root_13;
|
|
7798
8364
|
Row: typeof Row_2;
|
|
7799
|
-
Group: typeof
|
|
7800
|
-
Separator: typeof
|
|
8365
|
+
Group: typeof Group_3;
|
|
8366
|
+
Separator: typeof Separator_2;
|
|
7801
8367
|
};
|
|
7802
8368
|
|
|
7803
8369
|
declare type ToolbarGroupProps = React_2.ComponentProps<"div">;
|
|
@@ -7812,6 +8378,9 @@ declare type ToolbarRowProps = Omit<React_2.ComponentProps<"div">, "role" | "onK
|
|
|
7812
8378
|
|
|
7813
8379
|
declare type ToolbarSeparatorProps = Omit<React_2.ComponentProps<"div">, "role" | "aria-orientation">;
|
|
7814
8380
|
|
|
8381
|
+
/** Compact tool-call label for the active flow, rendered as its own row. */
|
|
8382
|
+
declare function ToolCall({ call, className }: AIChatToolCallProps): JSX.Element;
|
|
8383
|
+
|
|
7815
8384
|
declare function ToolContent({ className, ...props }: ToolContentProps): JSX.Element;
|
|
7816
8385
|
|
|
7817
8386
|
declare type ToolContentProps = ComponentProps<typeof DisclosurePanel>;
|
|
@@ -7859,43 +8428,344 @@ export declare const Tooltip: {
|
|
|
7859
8428
|
Provider: typeof Provider;
|
|
7860
8429
|
};
|
|
7861
8430
|
|
|
7862
|
-
declare type TooltipRootProps = Pick<React_2.ComponentProps<typeof Tooltip_2.Root>, "open" | "defaultOpen" | "onOpenChange"> & {
|
|
8431
|
+
declare type TooltipRootProps = Pick<React_2.ComponentProps<typeof Tooltip_2.Root>, "open" | "defaultOpen" | "onOpenChange" | "disabled"> & {
|
|
7863
8432
|
children: React_2.ReactNode;
|
|
7864
8433
|
};
|
|
7865
8434
|
|
|
7866
|
-
/**
|
|
7867
|
-
|
|
8435
|
+
/**
|
|
8436
|
+
* A tree of your own items, for browsing hierarchies (accounts, locations,
|
|
8437
|
+
* categories), picking one node, or ticking many. It follows the ARIA tree
|
|
8438
|
+
* pattern: one tab stop, arrows to move and open, Space to select or tick, and
|
|
8439
|
+
* Enter for `onAction`.
|
|
8440
|
+
*
|
|
8441
|
+
* Pass your own items with `mapItem` (as with `Select` / `Combobox`). A key is
|
|
8442
|
+
* the item's identity across the whole tree: the same key in two places is one
|
|
8443
|
+
* item. When codes repeat with different meanings, compose a unique key from
|
|
8444
|
+
* the `parents` that `mapItem` receives.
|
|
8445
|
+
*
|
|
8446
|
+
* `selectionMode` sets what a row does:
|
|
8447
|
+
*
|
|
8448
|
+
* - `"none"` (default): browsing. Clicking a leaf runs `onAction`.
|
|
8449
|
+
* - `"single"`: one selected row (`selectedKey`), for master–detail views.
|
|
8450
|
+
* - `"checkbox"`: a multi-select form control (`value`). By default parents are
|
|
8451
|
+
* containers: ticking one ticks every enabled leaf beneath it, and the value
|
|
8452
|
+
* lists leaves. `selectionStrategy` changes that. `name`
|
|
8453
|
+
* submits one hidden input per value key, and inside a `Field.Root` it picks
|
|
8454
|
+
* up the label, description, error, `required` and invalid state.
|
|
8455
|
+
*
|
|
8456
|
+
* `filter` narrows the tree to matches and their ancestors. The tree has no
|
|
8457
|
+
* search box of its own; for the "search, pick, then add" flow in a dialog, use
|
|
8458
|
+
* {@link TreePicker}.
|
|
8459
|
+
*
|
|
8460
|
+
* The list scrolls inside the component, so give it a height (or a sized
|
|
8461
|
+
* container) for long trees.
|
|
8462
|
+
*
|
|
8463
|
+
* @example
|
|
8464
|
+
* ```tsx
|
|
8465
|
+
* // warehouses: (Warehouse | Bin)[], so `mapItem` can return either level.
|
|
8466
|
+
* const isWarehouse = (node: Warehouse | Bin): node is Warehouse => "bins" in node;
|
|
8467
|
+
* const [bins, setBins] = useState<string[]>([]);
|
|
8468
|
+
*
|
|
8469
|
+
* <Field.Root name="bins">
|
|
8470
|
+
* <Field.Label>Bins to count</Field.Label>
|
|
8471
|
+
* <Tree
|
|
8472
|
+
* className="astw:h-96"
|
|
8473
|
+
* items={warehouses}
|
|
8474
|
+
* mapItem={(item, { parents }) =>
|
|
8475
|
+
* isWarehouse(item)
|
|
8476
|
+
* ? { key: item.id, label: item.name, children: item.bins }
|
|
8477
|
+
* : // `parents` is the union too. A guard, unlike a cast, has TypeScript
|
|
8478
|
+
* // check there's a warehouse above (hence `?.`).
|
|
8479
|
+
* { key: `${parents.find(isWarehouse)?.id}/${item.code}`, label: item.code }
|
|
8480
|
+
* }
|
|
8481
|
+
* selectionMode="checkbox"
|
|
8482
|
+
* value={bins}
|
|
8483
|
+
* onValueChange={setBins}
|
|
8484
|
+
* />
|
|
8485
|
+
* </Field.Root>
|
|
8486
|
+
* ```
|
|
8487
|
+
*/
|
|
8488
|
+
export declare function Tree<T>(props: TreeProps<T>): JSX.Element;
|
|
7868
8489
|
|
|
7869
|
-
declare namespace
|
|
8490
|
+
export declare namespace Tree {
|
|
7870
8491
|
var displayName: string;
|
|
7871
8492
|
}
|
|
7872
8493
|
|
|
7873
|
-
|
|
7874
|
-
|
|
7875
|
-
|
|
7876
|
-
|
|
7877
|
-
var displayName: string;
|
|
7878
|
-
}
|
|
8494
|
+
export declare type TreeChangeDetails<T> = {
|
|
8495
|
+
/** The value's items in tree order, one per key. Keys that aren't in the tree are left out. */
|
|
8496
|
+
selected: TreeSelectedItem<T>[];
|
|
8497
|
+
};
|
|
7879
8498
|
|
|
7880
|
-
/**
|
|
7881
|
-
declare
|
|
8499
|
+
/** Props for {@link Tree} with `selectionMode: "checkbox"`: the value, how ticking works, and forms. */
|
|
8500
|
+
declare type TreeCheckboxSelectionProps<T> = CheckboxSelectionOwnProps<T> & Excluding<SingleSelectionOwnProps<T>>;
|
|
7882
8501
|
|
|
7883
|
-
|
|
7884
|
-
|
|
8502
|
+
/** What the tree shows — shared by `Tree` and `TreePicker`. */
|
|
8503
|
+
declare interface TreeContentProps<T> {
|
|
8504
|
+
/** Your top-level items. Children come from `mapItem`. */
|
|
8505
|
+
items: ReadonlyArray<T>;
|
|
8506
|
+
/** Reads an item's key, label, children and disabled state. */
|
|
8507
|
+
mapItem: (item: T, context: TreeMapItemContext<T>) => TreeMappedItem<T>;
|
|
8508
|
+
/** The row's content. Defaults to the item's `label`. */
|
|
8509
|
+
renderItem?: (row: TreeRowState<T>) => React_2.ReactNode;
|
|
8510
|
+
/** Shown when there's nothing to show. Defaults to "No items.", or "No matching items." while filtering. */
|
|
8511
|
+
emptyText?: React_2.ReactNode;
|
|
7885
8512
|
}
|
|
7886
8513
|
|
|
7887
|
-
/**
|
|
7888
|
-
declare
|
|
8514
|
+
/** What `filter` receives alongside each item. */
|
|
8515
|
+
declare type TreeFilterContext<T> = {
|
|
8516
|
+
/** The item's `label` from `mapItem`. */
|
|
8517
|
+
label: string;
|
|
8518
|
+
/** The item's ancestors, top level first. */
|
|
8519
|
+
parents: T[];
|
|
8520
|
+
};
|
|
7889
8521
|
|
|
7890
|
-
|
|
7891
|
-
|
|
7892
|
-
|
|
8522
|
+
/** Props for {@link Tree}'s filtering. */
|
|
8523
|
+
declare type TreeFilterProps<T> = {
|
|
8524
|
+
/**
|
|
8525
|
+
* Shows only the items that match, plus their ancestors. Groups with a match
|
|
8526
|
+
* open on their own, and the user can still close them. A parent that matches
|
|
8527
|
+
* with no matching children keeps all its children, so it can still be opened.
|
|
8528
|
+
*/
|
|
8529
|
+
filter?: (item: T, context: TreeFilterContext<T>) => boolean;
|
|
8530
|
+
};
|
|
8531
|
+
|
|
8532
|
+
/** What `mapItem` receives alongside each item. */
|
|
8533
|
+
declare type TreeMapItemContext<T> = {
|
|
8534
|
+
/** The item's ancestors, top level first. Empty for top-level items. */
|
|
8535
|
+
parents: T[];
|
|
8536
|
+
};
|
|
7893
8537
|
|
|
7894
8538
|
/**
|
|
7895
|
-
*
|
|
7896
|
-
*
|
|
7897
|
-
|
|
7898
|
-
|
|
8539
|
+
* How {@link Tree} reads one of your items. Mirrors `MappedItem` from
|
|
8540
|
+
* `Select` / `Combobox`, plus the tree's `children` and `disabled`.
|
|
8541
|
+
*/
|
|
8542
|
+
export declare type TreeMappedItem<T> = {
|
|
8543
|
+
/**
|
|
8544
|
+
* Identifies the item across the whole tree. The same key in two places is
|
|
8545
|
+
* one item: ticking one ticks both. When codes repeat with different meanings
|
|
8546
|
+
* (bin `A1` in two warehouses), compose a unique key from `parents`.
|
|
8547
|
+
*/
|
|
8548
|
+
key: string;
|
|
8549
|
+
/** Plain text: the default row content, the default search text, and the accessible name. */
|
|
8550
|
+
label: string;
|
|
8551
|
+
/** The item's children. Omitted or empty means a leaf, and only leaves are selectable values. */
|
|
8552
|
+
children?: ReadonlyArray<T>;
|
|
8553
|
+
/** Locks the item. A disabled parent locks everything beneath it. */
|
|
8554
|
+
disabled?: boolean;
|
|
8555
|
+
};
|
|
8556
|
+
|
|
8557
|
+
/** Props for {@link Tree} with `selectionMode: "none"` (the default). */
|
|
8558
|
+
declare type TreeNoSelectionProps<T> = {
|
|
8559
|
+
/** What clicking and Space do to a row. Default `"none"`. */
|
|
8560
|
+
selectionMode?: "none";
|
|
8561
|
+
} & Excluding<SingleSelectionOwnProps<T>> & Excluding<CheckboxSelectionOwnProps<T>>;
|
|
8562
|
+
|
|
8563
|
+
/**
|
|
8564
|
+
* A {@link Tree} in a dialog, for picking many items out of a
|
|
8565
|
+
* hierarchical catalog and committing them in one go — products with variants,
|
|
8566
|
+
* accounts with sub-accounts, warehouses with bins. It wraps `Tree` the
|
|
8567
|
+
* way `DatePicker` wraps `DateField`.
|
|
8568
|
+
*
|
|
8569
|
+
* The picker owns the dialog chrome, the search box, expand/collapse, and the
|
|
8570
|
+
* selection while it is open; each open starts empty. The consumer owns how
|
|
8571
|
+
* items are read (`mapItem`), how rows look (`renderItem`), how search matches
|
|
8572
|
+
* (`matchesSearch`) and what happens on commit (`onCommit`).
|
|
8573
|
+
*
|
|
8574
|
+
* By default parents are containers: ticking one ticks every enabled leaf
|
|
8575
|
+
* beneath it, and `onCommit` receives the ticked leaves in tree order with their
|
|
8576
|
+
* parents. `selectionStrategy` changes that, as on `Tree`.
|
|
8577
|
+
* Enter on a row or the "Add N items" button commits, then the picker closes
|
|
8578
|
+
* itself.
|
|
8579
|
+
*
|
|
8580
|
+
* The dialog has a fixed height and the list scrolls inside it, so opening or
|
|
8581
|
+
* closing a group never shifts what is on screen.
|
|
8582
|
+
*
|
|
8583
|
+
* @example
|
|
8584
|
+
* ### Bulk-adding catalog items
|
|
8585
|
+
* ```tsx
|
|
8586
|
+
* // catalog: (Category | Product)[], so `mapItem` can return either level.
|
|
8587
|
+
* const isProduct = (item: Category | Product): item is Product => "sku" in item;
|
|
8588
|
+
*
|
|
8589
|
+
* <TreePicker
|
|
8590
|
+
* open={open}
|
|
8591
|
+
* onOpenChange={setOpen}
|
|
8592
|
+
* title="Add items"
|
|
8593
|
+
* items={catalog}
|
|
8594
|
+
* mapItem={(item) =>
|
|
8595
|
+
* "products" in item
|
|
8596
|
+
* ? { key: item.id, label: item.name, children: item.products }
|
|
8597
|
+
* : { key: item.sku, label: item.name }
|
|
8598
|
+
* }
|
|
8599
|
+
* renderItem={({ item }) => (
|
|
8600
|
+
* <span className="flex w-full justify-between gap-3">
|
|
8601
|
+
* <span>{item.name}</span>
|
|
8602
|
+
* {"price" in item ? <span>{money(item.price)}</span> : null}
|
|
8603
|
+
* </span>
|
|
8604
|
+
* )}
|
|
8605
|
+
* // Items have the union type; a guard (not a cast) keeps categories out if
|
|
8606
|
+
* // the selection strategy ever returns parents.
|
|
8607
|
+
* onCommit={(picked) => addToOrder(picked.flatMap(({ item }) => (isProduct(item) ? [item] : [])))}
|
|
8608
|
+
* />
|
|
8609
|
+
* ```
|
|
8610
|
+
*/
|
|
8611
|
+
export declare function TreePicker<T>({ open, onOpenChange, title, onCommit, ctaLabel, matchesSearch, filterSlot, searchPlaceholder, className, ...treeProps }: TreePickerProps<T>): JSX.Element;
|
|
8612
|
+
|
|
8613
|
+
export declare namespace TreePicker {
|
|
8614
|
+
var displayName: string;
|
|
8615
|
+
}
|
|
8616
|
+
|
|
8617
|
+
/** Props for {@link TreePicker}. */
|
|
8618
|
+
export declare type TreePickerProps<T> = TreeContentProps<T> & TreeSelectionBehaviorProps & {
|
|
8619
|
+
/** Controls dialog visibility. */
|
|
8620
|
+
open: boolean;
|
|
8621
|
+
/**
|
|
8622
|
+
* Fires on every user-driven open/close (Esc, backdrop, close button, Cancel,
|
|
8623
|
+
* and after a successful commit). The picker closes itself after `onCommit`,
|
|
8624
|
+
* so consumers should not also call this from their commit handler.
|
|
8625
|
+
*/
|
|
8626
|
+
onOpenChange(open: boolean): void;
|
|
8627
|
+
/**
|
|
8628
|
+
* Search predicate. Defaults to a case-insensitive match on the item's
|
|
8629
|
+
* `label`. An item is kept when it or any descendant matches. Receives the
|
|
8630
|
+
* same `{ label, parents }` as `Tree`'s `filter`.
|
|
8631
|
+
*/
|
|
8632
|
+
matchesSearch?: (item: T, query: string, context: TreeFilterContext<T>) => boolean;
|
|
8633
|
+
/** Rendered to the right of the search input (e.g. a category filter button). */
|
|
8634
|
+
filterSlot?: React_2.ReactNode;
|
|
8635
|
+
/** Search input placeholder. Default: `"Search"`. */
|
|
8636
|
+
searchPlaceholder?: string;
|
|
8637
|
+
/** Dialog title. Also labels the tree for assistive tech. Default: `"Select items"`. */
|
|
8638
|
+
title?: React_2.ReactNode;
|
|
8639
|
+
/**
|
|
8640
|
+
* Receives the value's items in tree order (see `selectionStrategy`). Items
|
|
8641
|
+
* ticked before `items` changed are included, even if they're no longer in it.
|
|
8642
|
+
*/
|
|
8643
|
+
onCommit(selected: TreeSelectedItem<T>[]): void;
|
|
8644
|
+
/** Primary CTA label. Default: `"Add N items"`, or `"Add items"` when nothing is selected. */
|
|
8645
|
+
ctaLabel?(count: number): React_2.ReactNode;
|
|
8646
|
+
/** Merged onto the dialog panel. */
|
|
8647
|
+
className?: string;
|
|
8648
|
+
};
|
|
8649
|
+
|
|
8650
|
+
/** Props for {@link Tree}. */
|
|
8651
|
+
export declare type TreeProps<T> = TreeContentProps<T> & TreeFilterProps<T> & {
|
|
8652
|
+
/**
|
|
8653
|
+
* Enter on a row — the row's default action. In `"none"` mode a click on a
|
|
8654
|
+
* leaf runs it too. In `"checkbox"` mode without `onAction`, Enter inside a
|
|
8655
|
+
* `<form>` submits it (like Enter in a text input).
|
|
8656
|
+
*/
|
|
8657
|
+
onAction?: (item: T, key: string) => void;
|
|
8658
|
+
/** Locks the whole tree, and in `"checkbox"` mode leaves it out of form submission. */
|
|
8659
|
+
disabled?: boolean;
|
|
8660
|
+
/** Accessible name for the tree. Use this, `aria-labelledby`, or a `Field.Label`. */
|
|
8661
|
+
"aria-label"?: string;
|
|
8662
|
+
/** Id of the element naming the tree (e.g. a card or dialog title). */
|
|
8663
|
+
"aria-labelledby"?: string;
|
|
8664
|
+
/**
|
|
8665
|
+
* Merged onto the root. The list scrolls inside it, so give it a height (or
|
|
8666
|
+
* place it in a sized container) for long trees.
|
|
8667
|
+
*/
|
|
8668
|
+
className?: string;
|
|
8669
|
+
} & (TreeNoSelectionProps<T> | TreeSingleSelectionProps<T> | TreeCheckboxSelectionProps<T>);
|
|
8670
|
+
|
|
8671
|
+
/** What `renderItem` receives for each row. */
|
|
8672
|
+
export declare type TreeRowState<T> = {
|
|
8673
|
+
item: T;
|
|
8674
|
+
key: string;
|
|
8675
|
+
parents: T[];
|
|
8676
|
+
/** 0 for top-level rows. */
|
|
8677
|
+
depth: number;
|
|
8678
|
+
isLeaf: boolean;
|
|
8679
|
+
/** The row's checkbox is ticked. Under `"leaves"`, `"topmost"` and `"all"`, a parent is ticked when every enabled leaf beneath it is. */
|
|
8680
|
+
checked: boolean;
|
|
8681
|
+
/** Under `"leaves"`, `"topmost"` and `"all"`, a parent with some, but not all, enabled leaves ticked. */
|
|
8682
|
+
indeterminate: boolean;
|
|
8683
|
+
/** The row is the selected one, in `"single"` mode. */
|
|
8684
|
+
selected: boolean;
|
|
8685
|
+
expanded: boolean;
|
|
8686
|
+
disabled: boolean;
|
|
8687
|
+
};
|
|
8688
|
+
|
|
8689
|
+
/** One entry of the value, as reported by `onValueChange` and `TreePicker`'s `onCommit`. */
|
|
8690
|
+
export declare type TreeSelectedItem<T> = {
|
|
8691
|
+
key: string;
|
|
8692
|
+
/** Your original item. */
|
|
8693
|
+
item: T;
|
|
8694
|
+
/** The item's ancestors, top level first. */
|
|
8695
|
+
parents: T[];
|
|
8696
|
+
};
|
|
8697
|
+
|
|
8698
|
+
/** How ticking works and what the value lists. */
|
|
8699
|
+
declare type TreeSelectionBehaviorProps = {
|
|
8700
|
+
/** How ticking works and what the value lists. Default `"leaves"`. */
|
|
8701
|
+
selectionStrategy?: TreeSelectionStrategy;
|
|
8702
|
+
};
|
|
8703
|
+
|
|
8704
|
+
/**
|
|
8705
|
+
* How ticking works and what the value lists. Take a parent P with leaves A and B:
|
|
8706
|
+
*
|
|
8707
|
+
* | Strategy | Tick P | Tick A and B | P ticked on its own? |
|
|
8708
|
+
* | ---------------------- | ------------ | ------------ | -------------------- |
|
|
8709
|
+
* | `"leaves"` (default) | `[A, B]` | `[A, B]` | No |
|
|
8710
|
+
* | `"topmost"` | `[P]` | `[P]` | No |
|
|
8711
|
+
* | `"all"` | `[P, A, B]` | `[P, A, B]` | No |
|
|
8712
|
+
* | `"cascade"` | `[P, A, B]` | `[A, B]` | Yes |
|
|
8713
|
+
* | `"independent"` | `[P]` | `[A, B]` | Yes |
|
|
8714
|
+
*
|
|
8715
|
+
* - `"leaves"`, `"topmost"` and `"all"` treat parents as containers: a parent's
|
|
8716
|
+
* checkbox comes from its leaves, so unticking A after ticking P leaves P
|
|
8717
|
+
* indeterminate. With `"topmost"`, `P` stands for everything beneath it.
|
|
8718
|
+
* - `"cascade"` makes parents items in their own right. Ticking one also ticks
|
|
8719
|
+
* everything beneath it, but unticking A leaves `[P, B]`, with P still ticked.
|
|
8720
|
+
* - `"independent"` ticks every item on its own.
|
|
8721
|
+
*/
|
|
8722
|
+
export declare type TreeSelectionStrategy = "leaves" | "topmost" | "all" | "cascade" | "independent";
|
|
8723
|
+
|
|
8724
|
+
/** Props for {@link Tree} with `selectionMode: "single"`. */
|
|
8725
|
+
declare type TreeSingleSelectionProps<T> = SingleSelectionOwnProps<T> & Excluding<CheckboxSelectionOwnProps<T>>;
|
|
8726
|
+
|
|
8727
|
+
/** The selection: a list of keys. Which keys depends on `selectionStrategy`. */
|
|
8728
|
+
declare type TreeValueProps<T> = {
|
|
8729
|
+
/** Controlled selection: the checked keys. */
|
|
8730
|
+
value?: readonly string[];
|
|
8731
|
+
/** Initial selection when uncontrolled. */
|
|
8732
|
+
defaultValue?: readonly string[];
|
|
8733
|
+
onValueChange?: (value: string[], details: TreeChangeDetails<T>) => void;
|
|
8734
|
+
};
|
|
8735
|
+
|
|
8736
|
+
/** The element that triggers the tooltip on hover or focus. */
|
|
8737
|
+
declare function Trigger({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Trigger>): JSX.Element;
|
|
8738
|
+
|
|
8739
|
+
declare namespace Trigger {
|
|
8740
|
+
var displayName: string;
|
|
8741
|
+
}
|
|
8742
|
+
|
|
8743
|
+
/** The element that opens the dialog when clicked. */
|
|
8744
|
+
declare function Trigger_2({ ...props }: React_2.ComponentProps<typeof Dialog_2.Trigger>): JSX.Element;
|
|
8745
|
+
|
|
8746
|
+
declare namespace Trigger_2 {
|
|
8747
|
+
var displayName: string;
|
|
8748
|
+
}
|
|
8749
|
+
|
|
8750
|
+
/** The element that opens the menu when clicked. */
|
|
8751
|
+
declare function Trigger_3({ ...props }: React_2.ComponentProps<typeof Menu_2.Trigger>): JSX.Element;
|
|
8752
|
+
|
|
8753
|
+
declare namespace Trigger_3 {
|
|
8754
|
+
var displayName: string;
|
|
8755
|
+
}
|
|
8756
|
+
|
|
8757
|
+
/** The element that opens the sheet when clicked. */
|
|
8758
|
+
declare function Trigger_4({ ...props }: React_2.ComponentProps<typeof Drawer.Trigger>): JSX.Element;
|
|
8759
|
+
|
|
8760
|
+
declare namespace Trigger_4 {
|
|
8761
|
+
var displayName: string;
|
|
8762
|
+
}
|
|
8763
|
+
|
|
8764
|
+
/**
|
|
8765
|
+
* Opens the rail on narrow screens, carrying the active filter count. Place it
|
|
8766
|
+
* anywhere inside `FilterRail.Provider` — a table toolbar, a page header. It
|
|
8767
|
+
* renders nothing on wide screens, where the rail is already visible, and while
|
|
8768
|
+
* it is mounted `FilterRail.Root` skips its own fallback button.
|
|
7899
8769
|
*/
|
|
7900
8770
|
declare function Trigger_5({ children, className }: TriggerProps_2): JSX.Element | null;
|
|
7901
8771
|
|
|
@@ -7960,11 +8830,20 @@ declare type TypedPaths<TRoutes extends Record<string, Record<string, string>>>
|
|
|
7960
8830
|
for<T extends (keyof TRoutes & string) | `${keyof TRoutes & string}?${string}`>(path: T, ...params: ExtractBasePath<T> extends keyof TRoutes ? IsEmptyObject<TRoutes[ExtractBasePath<T>]> extends true ? [] : [TRoutes[ExtractBasePath<T>]] : never): string;
|
|
7961
8831
|
};
|
|
7962
8832
|
|
|
8833
|
+
/**
|
|
8834
|
+
* React hook for AI Gateway chat with optional local tools.
|
|
8835
|
+
*
|
|
8836
|
+
* Messages stay text-first. Requested tool names are exposed only for the
|
|
8837
|
+
* active request; tool-call and tool-result protocol messages remain internal.
|
|
8838
|
+
*/
|
|
7963
8839
|
export declare function useAIChat(config: {
|
|
7964
8840
|
client: AIGatewayClient;
|
|
7965
8841
|
model: string;
|
|
8842
|
+
tools?: Record<string, AILocalTool>;
|
|
7966
8843
|
}): {
|
|
7967
8844
|
messages: AIChatMessage[];
|
|
8845
|
+
/** Requested tools in the active flow; cleared on completion, stop, or error. */
|
|
8846
|
+
toolCalls: ActiveToolCall[];
|
|
7968
8847
|
status: AIChatStatus;
|
|
7969
8848
|
error?: Error;
|
|
7970
8849
|
/**
|
|
@@ -8691,22 +9570,6 @@ export declare type UseDataTableOptions<TRow extends Record<string, unknown>, TF
|
|
|
8691
9570
|
* @deprecated Use `rowSelection.onChange` instead.
|
|
8692
9571
|
*/
|
|
8693
9572
|
onSelectionChange?: (ids: string[]) => void;
|
|
8694
|
-
/**
|
|
8695
|
-
* Expandable detail rows. Providing this enables the whole feature: a chevron
|
|
8696
|
-
* column is added at the left edge (auto-pinned left, after the selection
|
|
8697
|
-
* column) and `render`'s output appears in a full-width row beneath its parent.
|
|
8698
|
-
*
|
|
8699
|
-
* Grouped rather than flat so the parts can't be configured in a broken
|
|
8700
|
-
* combination — a label or predicate without a renderer, or `expandedIds`
|
|
8701
|
-
* without `onChange`, are all compile errors.
|
|
8702
|
-
*
|
|
8703
|
-
* **Requirement:** Each row must have a string or number `id` field.
|
|
8704
|
-
* Expansion is keyed by `id`, so rows without one render no chevron.
|
|
8705
|
-
*
|
|
8706
|
-
* **Note:** Expansion is **not** cleared on page change — ids of rows no
|
|
8707
|
-
* longer on the page simply do not render. Call `collapseAllRows()` to reset.
|
|
8708
|
-
*/
|
|
8709
|
-
rowExpansion?: RowExpansionOptions<TRow>;
|
|
8710
9573
|
/**
|
|
8711
9574
|
* Sort behaviour configuration.
|
|
8712
9575
|
*
|
|
@@ -8717,7 +9580,7 @@ export declare type UseDataTableOptions<TRow extends Record<string, unknown>, TF
|
|
|
8717
9580
|
sort?: false | {
|
|
8718
9581
|
multiple?: boolean;
|
|
8719
9582
|
};
|
|
8720
|
-
}
|
|
9583
|
+
} & DataTableExpansionOptions<TRow>;
|
|
8721
9584
|
|
|
8722
9585
|
/**
|
|
8723
9586
|
* Return type of `useDataTable` hook.
|
|
@@ -8817,6 +9680,26 @@ export declare interface UseDataTableReturn<TRow extends Record<string, unknown>
|
|
|
8817
9680
|
collapseAllRows?: () => void;
|
|
8818
9681
|
/** Expansion config (passthrough for `DataTable.Root`). */
|
|
8819
9682
|
rowExpansion?: RowExpansionOptions<TRow>;
|
|
9683
|
+
/** Sub-rows config (passthrough for `DataTable.Root`). */
|
|
9684
|
+
subRows?: SubRowsOptions<TRow>;
|
|
9685
|
+
/** The rows to render: each page row followed by its open sub-rows, with depth. */
|
|
9686
|
+
visibleRows?: DataTableTreeRow<TRow>[];
|
|
9687
|
+
/** Key of the hierarchy column. */
|
|
9688
|
+
treeColumnKey?: string;
|
|
9689
|
+
/** The hierarchy column, built from `subRows.hierarchyColumn`. Rendered first, pinned left. */
|
|
9690
|
+
hierarchyColumn?: Column<TRow>;
|
|
9691
|
+
/** Ids of the rows whose sub-rows are open. */
|
|
9692
|
+
expandedSubRowIds?: string[];
|
|
9693
|
+
/** Opens or closes `row`'s sub-rows. */
|
|
9694
|
+
toggleSubRows?: (row: TRow) => void;
|
|
9695
|
+
/**
|
|
9696
|
+
* A row's checkbox. With propagation a parent's state is derived from the rows
|
|
9697
|
+
* beneath it, so it can be indeterminate.
|
|
9698
|
+
*/
|
|
9699
|
+
getRowCheckState?: (row: TRow) => {
|
|
9700
|
+
checked: boolean;
|
|
9701
|
+
indeterminate: boolean;
|
|
9702
|
+
};
|
|
8820
9703
|
}
|
|
8821
9704
|
|
|
8822
9705
|
/**
|
|
@@ -9212,46 +10095,6 @@ declare namespace Root {
|
|
|
9212
10095
|
}
|
|
9213
10096
|
|
|
9214
10097
|
|
|
9215
|
-
declare namespace Viewport {
|
|
9216
|
-
var displayName: string;
|
|
9217
|
-
}
|
|
9218
|
-
|
|
9219
|
-
|
|
9220
|
-
declare namespace Row {
|
|
9221
|
-
var displayName: string;
|
|
9222
|
-
}
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
declare namespace Interval {
|
|
9226
|
-
var displayName: string;
|
|
9227
|
-
}
|
|
9228
|
-
|
|
9229
|
-
|
|
9230
|
-
declare namespace TimelineLink {
|
|
9231
|
-
var displayName: string;
|
|
9232
|
-
}
|
|
9233
|
-
|
|
9234
|
-
|
|
9235
|
-
declare namespace Root {
|
|
9236
|
-
var displayName: string;
|
|
9237
|
-
}
|
|
9238
|
-
|
|
9239
|
-
|
|
9240
|
-
declare namespace Image {
|
|
9241
|
-
var displayName: string;
|
|
9242
|
-
}
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
declare namespace Fallback {
|
|
9246
|
-
var displayName: string;
|
|
9247
|
-
}
|
|
9248
|
-
|
|
9249
|
-
|
|
9250
|
-
declare namespace Root {
|
|
9251
|
-
var displayName: string;
|
|
9252
|
-
}
|
|
9253
|
-
|
|
9254
|
-
|
|
9255
10098
|
declare namespace Title {
|
|
9256
10099
|
var displayName: string;
|
|
9257
10100
|
}
|
|
@@ -9262,37 +10105,27 @@ declare namespace Description {
|
|
|
9262
10105
|
}
|
|
9263
10106
|
|
|
9264
10107
|
|
|
9265
|
-
declare namespace Provider {
|
|
9266
|
-
var displayName: string;
|
|
9267
|
-
}
|
|
9268
|
-
|
|
9269
|
-
|
|
9270
10108
|
declare namespace Root {
|
|
9271
10109
|
var displayName: string;
|
|
9272
10110
|
}
|
|
9273
10111
|
|
|
9274
10112
|
|
|
9275
|
-
declare namespace
|
|
9276
|
-
var displayName: string;
|
|
9277
|
-
}
|
|
9278
|
-
|
|
9279
|
-
|
|
9280
|
-
declare namespace ClearAll {
|
|
10113
|
+
declare namespace Row {
|
|
9281
10114
|
var displayName: string;
|
|
9282
10115
|
}
|
|
9283
10116
|
|
|
9284
10117
|
|
|
9285
|
-
declare namespace
|
|
10118
|
+
declare namespace Group {
|
|
9286
10119
|
var displayName: string;
|
|
9287
10120
|
}
|
|
9288
10121
|
|
|
9289
10122
|
|
|
9290
|
-
declare namespace
|
|
10123
|
+
declare namespace Separator {
|
|
9291
10124
|
var displayName: string;
|
|
9292
10125
|
}
|
|
9293
10126
|
|
|
9294
10127
|
|
|
9295
|
-
declare namespace
|
|
10128
|
+
declare namespace TextRoot {
|
|
9296
10129
|
var displayName: string;
|
|
9297
10130
|
}
|
|
9298
10131
|
|
|
@@ -9302,12 +10135,12 @@ declare namespace Root {
|
|
|
9302
10135
|
}
|
|
9303
10136
|
|
|
9304
10137
|
|
|
9305
|
-
declare namespace
|
|
10138
|
+
declare namespace Image {
|
|
9306
10139
|
var displayName: string;
|
|
9307
10140
|
}
|
|
9308
10141
|
|
|
9309
10142
|
|
|
9310
|
-
declare namespace
|
|
10143
|
+
declare namespace Fallback {
|
|
9311
10144
|
var displayName: string;
|
|
9312
10145
|
}
|
|
9313
10146
|
|
|
@@ -9397,6 +10230,21 @@ declare namespace Root {
|
|
|
9397
10230
|
}
|
|
9398
10231
|
|
|
9399
10232
|
|
|
10233
|
+
declare namespace Header {
|
|
10234
|
+
var displayName: string;
|
|
10235
|
+
}
|
|
10236
|
+
|
|
10237
|
+
|
|
10238
|
+
declare namespace Content {
|
|
10239
|
+
var displayName: string;
|
|
10240
|
+
}
|
|
10241
|
+
|
|
10242
|
+
|
|
10243
|
+
declare namespace Root {
|
|
10244
|
+
var displayName: string;
|
|
10245
|
+
}
|
|
10246
|
+
|
|
10247
|
+
|
|
9400
10248
|
declare namespace Label {
|
|
9401
10249
|
var displayName: string;
|
|
9402
10250
|
}
|
|
@@ -9567,167 +10415,217 @@ declare namespace Panel {
|
|
|
9567
10415
|
}
|
|
9568
10416
|
|
|
9569
10417
|
|
|
10418
|
+
declare namespace Trigger {
|
|
10419
|
+
var displayName: string;
|
|
10420
|
+
}
|
|
10421
|
+
|
|
10422
|
+
|
|
10423
|
+
declare namespace Provider {
|
|
10424
|
+
var displayName: string;
|
|
10425
|
+
}
|
|
10426
|
+
|
|
10427
|
+
|
|
9570
10428
|
declare namespace Root {
|
|
9571
10429
|
var displayName: string;
|
|
9572
10430
|
}
|
|
9573
10431
|
|
|
9574
10432
|
|
|
9575
|
-
declare namespace
|
|
10433
|
+
declare namespace Header {
|
|
9576
10434
|
var displayName: string;
|
|
9577
10435
|
}
|
|
9578
10436
|
|
|
9579
10437
|
|
|
9580
|
-
declare namespace
|
|
10438
|
+
declare namespace ClearAll {
|
|
9581
10439
|
var displayName: string;
|
|
9582
10440
|
}
|
|
9583
10441
|
|
|
9584
10442
|
|
|
9585
|
-
declare namespace
|
|
10443
|
+
declare namespace Sections {
|
|
9586
10444
|
var displayName: string;
|
|
9587
10445
|
}
|
|
9588
10446
|
|
|
9589
10447
|
|
|
9590
|
-
declare namespace
|
|
10448
|
+
declare namespace Settings {
|
|
9591
10449
|
var displayName: string;
|
|
9592
10450
|
}
|
|
9593
10451
|
|
|
9594
10452
|
|
|
9595
|
-
declare namespace
|
|
10453
|
+
declare namespace ComboboxRoot {
|
|
9596
10454
|
var displayName: string;
|
|
9597
10455
|
}
|
|
9598
10456
|
|
|
9599
10457
|
|
|
9600
|
-
declare namespace
|
|
10458
|
+
declare namespace ComboboxInput {
|
|
9601
10459
|
var displayName: string;
|
|
9602
10460
|
}
|
|
9603
10461
|
|
|
9604
10462
|
|
|
9605
|
-
declare namespace
|
|
10463
|
+
declare namespace ComboboxTrigger {
|
|
9606
10464
|
var displayName: string;
|
|
9607
10465
|
}
|
|
9608
10466
|
|
|
9609
10467
|
|
|
9610
|
-
declare namespace
|
|
10468
|
+
declare namespace ComboboxInputGroup {
|
|
9611
10469
|
var displayName: string;
|
|
9612
10470
|
}
|
|
9613
10471
|
|
|
9614
10472
|
|
|
9615
|
-
declare namespace
|
|
10473
|
+
declare namespace ComboboxContent {
|
|
9616
10474
|
var displayName: string;
|
|
9617
10475
|
}
|
|
9618
10476
|
|
|
9619
10477
|
|
|
9620
|
-
declare namespace
|
|
10478
|
+
declare namespace ComboboxList {
|
|
9621
10479
|
var displayName: string;
|
|
9622
10480
|
}
|
|
9623
10481
|
|
|
9624
10482
|
|
|
9625
|
-
declare namespace
|
|
10483
|
+
declare namespace ComboboxItem {
|
|
9626
10484
|
var displayName: string;
|
|
9627
10485
|
}
|
|
9628
10486
|
|
|
9629
10487
|
|
|
9630
|
-
declare namespace
|
|
10488
|
+
declare namespace ComboboxEmpty {
|
|
9631
10489
|
var displayName: string;
|
|
9632
10490
|
}
|
|
9633
10491
|
|
|
9634
10492
|
|
|
9635
|
-
declare namespace
|
|
10493
|
+
declare namespace ComboboxGroup {
|
|
9636
10494
|
var displayName: string;
|
|
9637
10495
|
}
|
|
9638
10496
|
|
|
9639
10497
|
|
|
9640
|
-
declare namespace
|
|
10498
|
+
declare namespace ComboboxGroupLabel {
|
|
9641
10499
|
var displayName: string;
|
|
9642
10500
|
}
|
|
9643
10501
|
|
|
9644
10502
|
|
|
9645
|
-
declare namespace
|
|
10503
|
+
declare namespace ComboboxClear {
|
|
9646
10504
|
var displayName: string;
|
|
9647
10505
|
}
|
|
9648
10506
|
|
|
9649
10507
|
|
|
9650
|
-
declare namespace
|
|
10508
|
+
declare namespace ComboboxChips {
|
|
9651
10509
|
var displayName: string;
|
|
9652
10510
|
}
|
|
9653
10511
|
|
|
9654
10512
|
|
|
9655
|
-
declare namespace
|
|
10513
|
+
declare namespace ComboboxChip {
|
|
9656
10514
|
var displayName: string;
|
|
9657
10515
|
}
|
|
9658
10516
|
|
|
9659
10517
|
|
|
9660
|
-
declare namespace
|
|
10518
|
+
declare namespace ComboboxChipRemove {
|
|
9661
10519
|
var displayName: string;
|
|
9662
10520
|
}
|
|
9663
10521
|
|
|
9664
10522
|
|
|
9665
|
-
declare namespace
|
|
10523
|
+
declare namespace ComboboxValue {
|
|
9666
10524
|
var displayName: string;
|
|
9667
10525
|
}
|
|
9668
10526
|
|
|
9669
10527
|
|
|
9670
|
-
declare namespace
|
|
10528
|
+
declare namespace ComboboxStatus {
|
|
9671
10529
|
var displayName: string;
|
|
9672
10530
|
}
|
|
9673
10531
|
|
|
9674
10532
|
|
|
9675
|
-
declare namespace
|
|
10533
|
+
declare namespace ComboboxCollection {
|
|
9676
10534
|
var displayName: string;
|
|
9677
10535
|
}
|
|
9678
10536
|
|
|
9679
10537
|
|
|
9680
|
-
declare namespace
|
|
10538
|
+
declare namespace Provider {
|
|
9681
10539
|
var displayName: string;
|
|
9682
10540
|
}
|
|
9683
10541
|
|
|
9684
10542
|
|
|
9685
|
-
declare namespace
|
|
10543
|
+
declare namespace Root {
|
|
9686
10544
|
var displayName: string;
|
|
9687
10545
|
}
|
|
9688
10546
|
|
|
9689
10547
|
|
|
9690
|
-
declare namespace
|
|
10548
|
+
declare namespace Trigger {
|
|
9691
10549
|
var displayName: string;
|
|
9692
10550
|
}
|
|
9693
10551
|
|
|
9694
10552
|
|
|
9695
|
-
declare namespace
|
|
10553
|
+
declare namespace Content {
|
|
9696
10554
|
var displayName: string;
|
|
9697
10555
|
}
|
|
9698
10556
|
|
|
9699
10557
|
|
|
9700
|
-
declare namespace
|
|
10558
|
+
declare namespace SelectRoot {
|
|
9701
10559
|
var displayName: string;
|
|
9702
10560
|
}
|
|
9703
10561
|
|
|
9704
10562
|
|
|
9705
|
-
declare namespace
|
|
10563
|
+
declare namespace SelectTrigger {
|
|
9706
10564
|
var displayName: string;
|
|
9707
10565
|
}
|
|
9708
10566
|
|
|
9709
10567
|
|
|
9710
|
-
declare namespace
|
|
10568
|
+
declare namespace SelectValue {
|
|
9711
10569
|
var displayName: string;
|
|
9712
10570
|
}
|
|
9713
10571
|
|
|
9714
10572
|
|
|
9715
|
-
declare namespace
|
|
10573
|
+
declare namespace SelectContent {
|
|
9716
10574
|
var displayName: string;
|
|
9717
10575
|
}
|
|
9718
10576
|
|
|
9719
10577
|
|
|
9720
|
-
declare namespace
|
|
10578
|
+
declare namespace SelectItem {
|
|
9721
10579
|
var displayName: string;
|
|
9722
10580
|
}
|
|
9723
10581
|
|
|
9724
10582
|
|
|
9725
|
-
declare namespace
|
|
10583
|
+
declare namespace SelectGroup {
|
|
9726
10584
|
var displayName: string;
|
|
9727
10585
|
}
|
|
9728
10586
|
|
|
9729
10587
|
|
|
9730
|
-
declare namespace
|
|
10588
|
+
declare namespace SelectGroupLabel {
|
|
10589
|
+
var displayName: string;
|
|
10590
|
+
}
|
|
10591
|
+
|
|
10592
|
+
|
|
10593
|
+
declare namespace SelectSeparator {
|
|
10594
|
+
var displayName: string;
|
|
10595
|
+
}
|
|
10596
|
+
|
|
10597
|
+
|
|
10598
|
+
declare namespace Root {
|
|
10599
|
+
var displayName: string;
|
|
10600
|
+
}
|
|
10601
|
+
|
|
10602
|
+
|
|
10603
|
+
declare namespace Viewport {
|
|
10604
|
+
var displayName: string;
|
|
10605
|
+
}
|
|
10606
|
+
|
|
10607
|
+
|
|
10608
|
+
declare namespace Row {
|
|
10609
|
+
var displayName: string;
|
|
10610
|
+
}
|
|
10611
|
+
|
|
10612
|
+
|
|
10613
|
+
declare namespace Interval {
|
|
10614
|
+
var displayName: string;
|
|
10615
|
+
}
|
|
10616
|
+
|
|
10617
|
+
|
|
10618
|
+
declare namespace TimelineLink {
|
|
10619
|
+
var displayName: string;
|
|
10620
|
+
}
|
|
10621
|
+
|
|
10622
|
+
|
|
10623
|
+
declare namespace AutocompleteStandalone {
|
|
10624
|
+
var displayName: string;
|
|
10625
|
+
}
|
|
10626
|
+
|
|
10627
|
+
|
|
10628
|
+
declare namespace AutocompleteAsyncStandalone {
|
|
9731
10629
|
var displayName: string;
|
|
9732
10630
|
}
|
|
9733
10631
|
|
|
@@ -9802,12 +10700,22 @@ declare namespace AutocompleteStatus {
|
|
|
9802
10700
|
}
|
|
9803
10701
|
|
|
9804
10702
|
|
|
9805
|
-
declare namespace
|
|
10703
|
+
declare namespace TreeRow {
|
|
9806
10704
|
var displayName: string;
|
|
9807
10705
|
}
|
|
9808
10706
|
|
|
9809
10707
|
|
|
9810
|
-
declare namespace
|
|
10708
|
+
declare namespace Root {
|
|
10709
|
+
var displayName: string;
|
|
10710
|
+
}
|
|
10711
|
+
|
|
10712
|
+
|
|
10713
|
+
declare namespace Items {
|
|
10714
|
+
var displayName: string;
|
|
10715
|
+
}
|
|
10716
|
+
|
|
10717
|
+
|
|
10718
|
+
declare namespace Item {
|
|
9811
10719
|
var displayName: string;
|
|
9812
10720
|
}
|
|
9813
10721
|
|
|
@@ -9822,37 +10730,37 @@ declare namespace DataTableTable {
|
|
|
9822
10730
|
}
|
|
9823
10731
|
|
|
9824
10732
|
|
|
9825
|
-
declare namespace
|
|
10733
|
+
declare namespace DataTableToolbar {
|
|
9826
10734
|
var displayName: string;
|
|
9827
10735
|
}
|
|
9828
10736
|
|
|
9829
10737
|
|
|
9830
|
-
declare namespace
|
|
10738
|
+
declare namespace DataTableColumnSettings {
|
|
9831
10739
|
var displayName: string;
|
|
9832
10740
|
}
|
|
9833
10741
|
|
|
9834
10742
|
|
|
9835
|
-
declare namespace
|
|
10743
|
+
declare namespace DataTableFooter {
|
|
9836
10744
|
var displayName: string;
|
|
9837
10745
|
}
|
|
9838
10746
|
|
|
9839
10747
|
|
|
9840
|
-
declare namespace
|
|
10748
|
+
declare namespace DataTableFilters {
|
|
9841
10749
|
var displayName: string;
|
|
9842
10750
|
}
|
|
9843
10751
|
|
|
9844
10752
|
|
|
9845
|
-
declare namespace
|
|
10753
|
+
declare namespace DataTableBody {
|
|
9846
10754
|
var displayName: string;
|
|
9847
10755
|
}
|
|
9848
10756
|
|
|
9849
10757
|
|
|
9850
|
-
declare namespace
|
|
10758
|
+
declare namespace DataTableHeaders {
|
|
9851
10759
|
var displayName: string;
|
|
9852
10760
|
}
|
|
9853
10761
|
|
|
9854
10762
|
|
|
9855
|
-
declare namespace
|
|
10763
|
+
declare namespace AddFilterPanel {
|
|
9856
10764
|
var displayName: string;
|
|
9857
10765
|
}
|
|
9858
10766
|
|
|
@@ -9860,3 +10768,13 @@ declare namespace DataTableFilters {
|
|
|
9860
10768
|
declare namespace AsyncErrorState {
|
|
9861
10769
|
var displayName: string;
|
|
9862
10770
|
}
|
|
10771
|
+
|
|
10772
|
+
|
|
10773
|
+
declare namespace DataTableHeaderContextMenu {
|
|
10774
|
+
var displayName: string;
|
|
10775
|
+
}
|
|
10776
|
+
|
|
10777
|
+
|
|
10778
|
+
declare namespace DataTableCellContextMenu {
|
|
10779
|
+
var displayName: string;
|
|
10780
|
+
}
|