@tailor-platform/app-shell 1.18.0 → 1.19.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 +1 -1
- package/dist/app-shell.d.ts +330 -89
- package/dist/app-shell.js +8451 -7633
- package/dist/{appshell-Y1AYCuVJ.js → appshell-DQTz-QwK.js} +484 -374
- package/dist/style-entry.d.ts +1 -656
- package/dist/testing.d.ts +61 -56
- package/dist/testing.js +1 -1
- package/dist/vite-plugin.d.ts +61 -56
- package/package.json +8 -5
- package/skills/app-shell-patterns/SKILL.md +37 -27
- package/skills/app-shell-patterns/references/api/aggregations.md +131 -0
- package/skills/app-shell-patterns/references/components/action-panel.md +55 -23
- package/skills/app-shell-patterns/references/components/badge.md +7 -3
- package/skills/app-shell-patterns/references/components/data-table.md +430 -49
- package/skills/app-shell-patterns/references/components/form.md +19 -9
- package/skills/app-shell-patterns/references/components/item-list.md +191 -0
- package/skills/app-shell-patterns/references/components/select.md +10 -0
- package/skills/app-shell-patterns/references/components/text.md +75 -38
- package/skills/app-shell-patterns/references/concepts/sidebar-navigation.md +16 -14
- package/skills/app-shell-patterns/references/concepts/styling-theming.md +19 -11
- package/skills/app-shell-patterns/references/migrations.md +2 -2
- package/skills/app-shell-patterns/references/pages/document-detail.md +36 -25
- package/skills/app-shell-patterns/references/patterns/form-modal.md +4 -1
- package/dist/semantic-contrast.test.ts +0 -227
- package/dist/theme-bridge.test.ts +0 -182
package/dist/app-shell.d.ts
CHANGED
|
@@ -124,7 +124,7 @@ declare interface ActionItem {
|
|
|
124
124
|
* />
|
|
125
125
|
* ```
|
|
126
126
|
*/
|
|
127
|
-
export declare function ActionPanel({ title, actions, className }: ActionPanelProps): JSX.Element;
|
|
127
|
+
export declare function ActionPanel({ title, actions, emptyContent, className }: ActionPanelProps): JSX.Element;
|
|
128
128
|
|
|
129
129
|
/**
|
|
130
130
|
* Props for the ActionPanel component.
|
|
@@ -134,6 +134,12 @@ export declare interface ActionPanelProps {
|
|
|
134
134
|
title: string;
|
|
135
135
|
/** List of actions to render */
|
|
136
136
|
actions: ActionItem[];
|
|
137
|
+
/**
|
|
138
|
+
* Content shown with consistent padding when actions is empty. Defaults to a localized "No actions available" message.
|
|
139
|
+
* Strings use the default body text styling; other React nodes render unchanged.
|
|
140
|
+
* Pass null to hide the empty content and its additional vertical spacing while keeping the card and title.
|
|
141
|
+
*/
|
|
142
|
+
emptyContent?: ReactNode;
|
|
137
143
|
/** Additional CSS classes for the card container */
|
|
138
144
|
className?: string;
|
|
139
145
|
}
|
|
@@ -151,7 +157,7 @@ declare type ActionsProps = React_2.ComponentProps<"div">;
|
|
|
151
157
|
export declare const ActivityCard: typeof ActivityCardStandalone & {
|
|
152
158
|
Root: typeof Root_3;
|
|
153
159
|
Items: typeof Items;
|
|
154
|
-
Item: typeof
|
|
160
|
+
Item: typeof Item_2;
|
|
155
161
|
};
|
|
156
162
|
|
|
157
163
|
/**
|
|
@@ -239,6 +245,44 @@ export declare interface ActivityCardRootProps<T extends ActivityCardBaseItem> {
|
|
|
239
245
|
*/
|
|
240
246
|
declare function ActivityCardStandalone({ items, title, maxVisible, overflowLabel, groupBy, className, }: ActivityCardProps): JSX.Element;
|
|
241
247
|
|
|
248
|
+
/** A reusable aggregation over selected row values, optionally followed by a result transformation. */
|
|
249
|
+
export declare type Aggregation<TRow, TResult = number | null> = (context: {
|
|
250
|
+
rows: readonly TRow[];
|
|
251
|
+
}) => TResult;
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Create reusable callbacks over `{ rows }`, independent of UI and column definitions.
|
|
255
|
+
* Selectors choose each row's value; an optional transformer receives the final
|
|
256
|
+
* result once, including empty or invalid results. Neither callback should mutate rows.
|
|
257
|
+
*/
|
|
258
|
+
export declare const aggregations: {
|
|
259
|
+
/** Sum finite selected numbers. Empty input returns zero; invalid input returns null. */
|
|
260
|
+
sum: {
|
|
261
|
+
<TRow>(selector: (row: TRow) => NumericValue, transformer?: undefined): Aggregation<TRow, number | null>;
|
|
262
|
+
<TRow, TResult>(selector: (row: TRow) => NumericValue, transformer: (value: number | null) => TResult): Aggregation<TRow, TResult>;
|
|
263
|
+
};
|
|
264
|
+
/** Average non-nullish finite selected numbers; empty or invalid input returns null. */
|
|
265
|
+
avg: {
|
|
266
|
+
<TRow>(selector: (row: TRow) => NumericValue, transformer?: undefined): Aggregation<TRow, number | null>;
|
|
267
|
+
<TRow, TResult>(selector: (row: TRow) => NumericValue, transformer: (value: number | null) => TResult): Aggregation<TRow, TResult>;
|
|
268
|
+
};
|
|
269
|
+
/** Minimum finite selected number; empty or invalid input returns null. */
|
|
270
|
+
min: {
|
|
271
|
+
<TRow>(selector: (row: TRow) => NumericValue, transformer?: undefined): Aggregation<TRow, number | null>;
|
|
272
|
+
<TRow, TResult>(selector: (row: TRow) => NumericValue, transformer: (value: number | null) => TResult): Aggregation<TRow, TResult>;
|
|
273
|
+
};
|
|
274
|
+
/** Maximum finite selected number; empty or invalid input returns null. */
|
|
275
|
+
max: {
|
|
276
|
+
<TRow>(selector: (row: TRow) => NumericValue, transformer?: undefined): Aggregation<TRow, number | null>;
|
|
277
|
+
<TRow, TResult>(selector: (row: TRow) => NumericValue, transformer: (value: number | null) => TResult): Aggregation<TRow, TResult>;
|
|
278
|
+
};
|
|
279
|
+
/** Count non-nullish selected values, including zero, false, and empty strings. */
|
|
280
|
+
count: {
|
|
281
|
+
<TRow>(selector: (row: TRow) => unknown, transformer?: undefined): Aggregation<TRow, number>;
|
|
282
|
+
<TRow, TResult>(selector: (row: TRow) => unknown, transformer: (value: number) => TResult): Aggregation<TRow, TResult>;
|
|
283
|
+
};
|
|
284
|
+
};
|
|
285
|
+
|
|
242
286
|
export declare const AIChat: AIChatComponent;
|
|
243
287
|
|
|
244
288
|
export declare type AIChatCompletionEvent = {
|
|
@@ -1060,7 +1104,7 @@ export declare interface BadgeProps extends React_2.HTMLAttributes<HTMLDivElemen
|
|
|
1060
1104
|
export declare type BadgeVariant = NonNullable<BadgeProps["variant"]>;
|
|
1061
1105
|
|
|
1062
1106
|
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;
|
|
1107
|
+
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
1108
|
} & ClassProp) | undefined) => string;
|
|
1065
1109
|
|
|
1066
1110
|
export { Blocker }
|
|
@@ -1215,16 +1259,45 @@ declare interface CellEditBase<TRow extends Record<string, unknown>, TValue, TDr
|
|
|
1215
1259
|
* Observes editor drafts, including incomplete input and restored drafts on
|
|
1216
1260
|
* cancellation. Direct inputs emit raw strings; choices emit selected values,
|
|
1217
1261
|
* not search text or highlights. Updating `data` here is outside the supported
|
|
1218
|
-
* coordination contract.
|
|
1262
|
+
* coordination contract. A failed change check retains its draft and blocks
|
|
1263
|
+
* confirmation; pending change checks finish before `onValueCommitted` runs.
|
|
1264
|
+
* Cancellation notifications cannot create a new cell error after discarding
|
|
1265
|
+
* the draft. Pass `error: false` for unobserved callback behavior.
|
|
1219
1266
|
*/
|
|
1220
1267
|
onValueChange?: (row: TRow, draft: TDraft) => void;
|
|
1221
1268
|
/**
|
|
1222
|
-
*
|
|
1223
|
-
* Empty cells confirm `null`.
|
|
1224
|
-
*
|
|
1225
|
-
*
|
|
1269
|
+
* Attempts to confirm a changed editor output, compared with current `data`.
|
|
1270
|
+
* Empty cells confirm `null`. A normal return or fulfilled Promise completes
|
|
1271
|
+
* the edit; throw/rejection retains the draft and error for correction or retry.
|
|
1272
|
+
* Focus may leave while pending. Update `data` here to adopt a successful value;
|
|
1273
|
+
* DataTable does not persist or roll back consumer state. Output types follow
|
|
1274
|
+
* the editor, not the row field's runtime type.
|
|
1226
1275
|
*/
|
|
1227
1276
|
onValueCommitted: (row: TRow, value: TValue | null) => void;
|
|
1277
|
+
/**
|
|
1278
|
+
* Callback failures automatically open an error popover without moving focus.
|
|
1279
|
+
* Only non-empty `CellEditError` messages are displayed by the standard UI;
|
|
1280
|
+
* other failures use localized generic feedback. Translate messages before throwing.
|
|
1281
|
+
* Pass `false` to disable interception and retain eager edit completion, or
|
|
1282
|
+
* `render` to replace the popover's body. Closing the details retains the draft
|
|
1283
|
+
* and error; reopen with the error icon or Alt+ArrowDown. Esc closes open details
|
|
1284
|
+
* first, then restores current data and clears the error. The standard popover
|
|
1285
|
+
* adds no reset action; custom content may include consumer-owned actions.
|
|
1286
|
+
*/
|
|
1287
|
+
error?: false | {
|
|
1288
|
+
render: (ctx: {
|
|
1289
|
+
row: TRow;
|
|
1290
|
+
error: unknown;
|
|
1291
|
+
}) => ReactNode;
|
|
1292
|
+
};
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
/**
|
|
1296
|
+
* A cell-editing failure whose message is safe to display to the user.
|
|
1297
|
+
* Translate the message before throwing; other errors use generic feedback.
|
|
1298
|
+
*/
|
|
1299
|
+
export declare class CellEditError extends globalThis.Error {
|
|
1300
|
+
name: string;
|
|
1228
1301
|
}
|
|
1229
1302
|
|
|
1230
1303
|
/** Row state passed to `edit.canEdit` alongside the row. */
|
|
@@ -1673,6 +1746,17 @@ declare interface ColumnBase<TRow extends Record<string, unknown>> {
|
|
|
1673
1746
|
* across spread-then-override patterns like `column({ ...inferred, render })`.
|
|
1674
1747
|
*/
|
|
1675
1748
|
render?: (row: TRow) => ReactNode;
|
|
1749
|
+
/**
|
|
1750
|
+
* Sets `className`, `style`, and `title` on the data cell's `<td>`, including
|
|
1751
|
+
* its padding, based on the row. Return `undefined` to keep the defaults.
|
|
1752
|
+
* Classes are merged with the built-in classes; CSS specificity still applies.
|
|
1753
|
+
* An inline `style.backgroundColor` remains visible during row hover and
|
|
1754
|
+
* selection, including on pinned cells. Use an opaque background for pinned
|
|
1755
|
+
* cells to prevent content bleeding through. Column `width` and sticky
|
|
1756
|
+
* positioning take precedence over `style`. Content stays owned by `render`;
|
|
1757
|
+
* events, refs, and cell spanning are not configurable through this hook.
|
|
1758
|
+
*/
|
|
1759
|
+
cellProps?: (row: TRow) => Pick<ComponentProps<"td">, "className" | "style" | "title"> | undefined;
|
|
1676
1760
|
/**
|
|
1677
1761
|
* Custom header renderer.
|
|
1678
1762
|
*
|
|
@@ -1685,6 +1769,40 @@ declare interface ColumnBase<TRow extends Record<string, unknown>> {
|
|
|
1685
1769
|
* still driven by `label`, `sort`, and other column metadata.
|
|
1686
1770
|
*/
|
|
1687
1771
|
header?: (ctx: HeaderRenderContext) => ReactNode;
|
|
1772
|
+
/**
|
|
1773
|
+
* Sets `className`, `style`, and `title` on this column's header `<th>`.
|
|
1774
|
+
* Receives the same context as `header`; return `undefined` to keep the defaults.
|
|
1775
|
+
* Classes are merged with the built-in classes; column `width` and sticky
|
|
1776
|
+
* positioning take precedence over `style`. Use an opaque background for
|
|
1777
|
+
* pinned headers. Content stays owned by `header` or the default renderer;
|
|
1778
|
+
* sorting and context-menu behavior are unchanged. Built-in selection,
|
|
1779
|
+
* expansion, and action headers are not affected.
|
|
1780
|
+
*/
|
|
1781
|
+
headerProps?: (ctx: HeaderRenderContext) => Pick<ComponentProps<"th">, "className" | "style" | "title"> | undefined;
|
|
1782
|
+
/**
|
|
1783
|
+
* Content for this column's cell in a sticky table footer: a static string
|
|
1784
|
+
* or a renderer receiving the current `data.rows` (the current page, not all
|
|
1785
|
+
* records or only selected rows). `type` and `typeOptions` do not apply.
|
|
1786
|
+
*
|
|
1787
|
+
* A footer row appears when any visible column defines a footer, including
|
|
1788
|
+
* an empty string. Columns without one leave a blank cell; hidden columns'
|
|
1789
|
+
* callbacks are not called.
|
|
1790
|
+
* Loading keeps the footer row with skeletons without calling renderers.
|
|
1791
|
+
* Hidden during errors; loaded empty data receives `rows: []`.
|
|
1792
|
+
* Separate from `DataTable.Footer`, the pagination / bulk-action container.
|
|
1793
|
+
*/
|
|
1794
|
+
footer?: string | ((ctx: FooterRenderContext<TRow>) => ReactNode);
|
|
1795
|
+
/**
|
|
1796
|
+
* Sets `className`, `style`, and `title` on this column's footer `<td>`.
|
|
1797
|
+
* Receives the same context as `footer`; return `undefined` to keep the defaults.
|
|
1798
|
+
* Classes are merged with the built-in classes; column `width` and sticky
|
|
1799
|
+
* positioning take precedence over `style`. Use an opaque background for
|
|
1800
|
+
* pinned footer cells. Content stays owned by `footer`; events, refs, and
|
|
1801
|
+
* cell spanning are not configurable through this hook.
|
|
1802
|
+
* Does not create a footer row by itself. Not called while loading, on errors,
|
|
1803
|
+
* or for hidden columns. Built-in utility footer cells are not affected.
|
|
1804
|
+
*/
|
|
1805
|
+
footerProps?: (ctx: FooterRenderContext<TRow>) => Pick<ComponentProps<"td">, "className" | "style" | "title"> | undefined;
|
|
1688
1806
|
/**
|
|
1689
1807
|
* Stable identifier used for column visibility toggling, persisted layout
|
|
1690
1808
|
* state, raw-value fallback (`row[col.id]`), and as the React key. Falls
|
|
@@ -2359,11 +2477,15 @@ export declare type ContextData = AppShellRegister extends {
|
|
|
2359
2477
|
} ? T : Record<string, unknown>;
|
|
2360
2478
|
|
|
2361
2479
|
/**
|
|
2362
|
-
* A styled input
|
|
2480
|
+
* A styled text input for the field.
|
|
2363
2481
|
*
|
|
2364
|
-
*
|
|
2365
|
-
* (e.g. Select
|
|
2366
|
-
*
|
|
2482
|
+
* Use it for plain text-like inputs, or pass a native element to `render`
|
|
2483
|
+
* (e.g. `render={<textarea />}`). `Select`, `Combobox`, `Autocomplete`,
|
|
2484
|
+
* `Checkbox`, `Textarea`, `DateField`, `DatePicker` and `DateRangePicker` go
|
|
2485
|
+
* directly under `Field.Root` instead: each draws its own frame and registers
|
|
2486
|
+
* with the Field context itself. Passing one to `render` draws a second frame
|
|
2487
|
+
* and logs a warning. `Input` does not connect to `Field.Root` — use
|
|
2488
|
+
* `Field.Control` in its place inside a field.
|
|
2367
2489
|
*/
|
|
2368
2490
|
declare function Control({ className, ...props }: React_2.ComponentProps<typeof Field_2.Control>): JSX.Element;
|
|
2369
2491
|
|
|
@@ -2684,7 +2806,8 @@ export declare const DataTable: {
|
|
|
2684
2806
|
/** Built-in column visibility, ordering, and pinning controls. */
|
|
2685
2807
|
readonly ColumnSettings: typeof DataTableColumnSettings;
|
|
2686
2808
|
/**
|
|
2687
|
-
* Renders `<table>` with built-in
|
|
2809
|
+
* Renders `<table>` with built-in headers, body, and a sticky footer row
|
|
2810
|
+
* when a visible column defines `footer`.
|
|
2688
2811
|
* Place inside `DataTable.Root`.
|
|
2689
2812
|
*/
|
|
2690
2813
|
readonly Table: typeof DataTableTable;
|
|
@@ -3706,6 +3829,23 @@ declare type DynamicLocales<Def extends Record<string, LabelValue>> = {
|
|
|
3706
3829
|
[locale: string]: Partial<LabelDefinition<Def>> | undefined;
|
|
3707
3830
|
};
|
|
3708
3831
|
|
|
3832
|
+
/**
|
|
3833
|
+
* The role each element component applies when no `variant` is given. They
|
|
3834
|
+
* follow `defaultTagNames`: body roles render `p`, label roles render `span`.
|
|
3835
|
+
* `div` is a block element like `p`, so it gets the default role of `Text`.
|
|
3836
|
+
*/
|
|
3837
|
+
declare const elementDefaultVariants: {
|
|
3838
|
+
readonly h1: "heading-lg";
|
|
3839
|
+
readonly h2: "heading-md";
|
|
3840
|
+
readonly h3: "heading-sm";
|
|
3841
|
+
readonly h4: "heading-sm";
|
|
3842
|
+
readonly h5: "heading-sm";
|
|
3843
|
+
readonly h6: "heading-sm";
|
|
3844
|
+
readonly p: "body-md";
|
|
3845
|
+
readonly span: "label-md";
|
|
3846
|
+
readonly div: "body-md";
|
|
3847
|
+
};
|
|
3848
|
+
|
|
3709
3849
|
/**
|
|
3710
3850
|
* Behavior when a field value is empty/null/undefined
|
|
3711
3851
|
*/
|
|
@@ -4229,6 +4369,12 @@ declare namespace Footer_3 {
|
|
|
4229
4369
|
var displayName: string;
|
|
4230
4370
|
}
|
|
4231
4371
|
|
|
4372
|
+
/** Context passed to custom column `footer` renderers and `footerProps` callbacks. */
|
|
4373
|
+
export declare interface FooterRenderContext<TRow extends Record<string, unknown>> {
|
|
4374
|
+
/** Current `data.rows` (the current page, not all records or only selected rows). */
|
|
4375
|
+
rows: readonly TRow[];
|
|
4376
|
+
}
|
|
4377
|
+
|
|
4232
4378
|
/**
|
|
4233
4379
|
* A form element with consolidated error handling and validation.
|
|
4234
4380
|
*
|
|
@@ -4553,17 +4699,20 @@ export declare interface GridProps extends React_2.ComponentProps<"div"> {
|
|
|
4553
4699
|
justify?: "start" | "center" | "end" | "between" | "around" | "evenly";
|
|
4554
4700
|
}
|
|
4555
4701
|
|
|
4702
|
+
/** An expandable group with optional separation of its heading action and expand control. */
|
|
4703
|
+
declare function Group({ title, icon, render, isActive, onClick, expandOnClick, defaultOpen, children, ...props }: GroupProps): JSX.Element;
|
|
4704
|
+
|
|
4556
4705
|
/** Groups related menu items with the corresponding label. */
|
|
4557
|
-
declare function
|
|
4706
|
+
declare function Group_2({ ...props }: React_2.ComponentProps<typeof Menu_2.Group>): JSX.Element;
|
|
4558
4707
|
|
|
4559
|
-
declare namespace
|
|
4708
|
+
declare namespace Group_2 {
|
|
4560
4709
|
var displayName: string;
|
|
4561
4710
|
}
|
|
4562
4711
|
|
|
4563
4712
|
/** A related group of controls within a toolbar row. */
|
|
4564
|
-
declare function
|
|
4713
|
+
declare function Group_3({ className, ...props }: ToolbarGroupProps): JSX.Element;
|
|
4565
4714
|
|
|
4566
|
-
declare namespace
|
|
4715
|
+
declare namespace Group_3 {
|
|
4567
4716
|
var displayName: string;
|
|
4568
4717
|
}
|
|
4569
4718
|
|
|
@@ -4574,6 +4723,23 @@ declare namespace GroupLabel {
|
|
|
4574
4723
|
var displayName: string;
|
|
4575
4724
|
}
|
|
4576
4725
|
|
|
4726
|
+
declare type GroupProps = Omit<React_2.ComponentProps<"li">, "title" | "onClick"> & {
|
|
4727
|
+
/** Group label with meaningful accessible text; do not nest interactive elements. */
|
|
4728
|
+
title: React_2.ReactNode;
|
|
4729
|
+
icon?: React_2.ReactNode;
|
|
4730
|
+
/** Replaces the main heading operation without changing expansion behavior. */
|
|
4731
|
+
render?: React_2.ReactElement;
|
|
4732
|
+
isActive?: boolean;
|
|
4733
|
+
/** Runs only for the heading operation, not children or a separate expand button. */
|
|
4734
|
+
onClick?: React_2.MouseEventHandler<HTMLButtonElement>;
|
|
4735
|
+
/** Whether clicking the heading toggles the child list; false requires an operation. @default true */
|
|
4736
|
+
expandOnClick?: boolean;
|
|
4737
|
+
/** Whether the child list starts expanded. @default true */
|
|
4738
|
+
defaultOpen?: boolean;
|
|
4739
|
+
} & ({
|
|
4740
|
+
expandOnClick?: true;
|
|
4741
|
+
} | RequiredOperation);
|
|
4742
|
+
|
|
4577
4743
|
/**
|
|
4578
4744
|
* Guard function type.
|
|
4579
4745
|
* Guards are executed in order and stop on the first non-pass result.
|
|
@@ -4712,7 +4878,7 @@ declare type HeaderProps_2 = {
|
|
|
4712
4878
|
};
|
|
4713
4879
|
|
|
4714
4880
|
/**
|
|
4715
|
-
* Context passed to custom `header` renderers.
|
|
4881
|
+
* Context passed to custom `header` renderers and `headerProps` callbacks.
|
|
4716
4882
|
*/
|
|
4717
4883
|
export declare type HeaderRenderContext = NonSortableHeaderRenderContext | SortableHeaderRenderContext;
|
|
4718
4884
|
|
|
@@ -4806,16 +4972,19 @@ declare namespace Interval {
|
|
|
4806
4972
|
*/
|
|
4807
4973
|
declare type IsEmptyObject<T> = keyof T extends never ? true : false;
|
|
4808
4974
|
|
|
4809
|
-
|
|
4975
|
+
/** A compact link or action row. No AppShell, router, or Sidebar provider is required. */
|
|
4976
|
+
declare function Item({ icon, children, disabled, render, tabIndex, className, ...props }: ItemProps): JSX.Element;
|
|
4977
|
+
|
|
4978
|
+
declare function Item_2({ indicator, children, className }: ActivityCardItemProps): JSX.Element;
|
|
4810
4979
|
|
|
4811
|
-
declare namespace
|
|
4980
|
+
declare namespace Item_2 {
|
|
4812
4981
|
var displayName: string;
|
|
4813
4982
|
}
|
|
4814
4983
|
|
|
4815
4984
|
/** An individual interactive item in the menu. */
|
|
4816
|
-
declare function
|
|
4985
|
+
declare function Item_3({ className, ...props }: React_2.ComponentProps<typeof Menu_2.Item>): JSX.Element;
|
|
4817
4986
|
|
|
4818
|
-
declare namespace
|
|
4987
|
+
declare namespace Item_3 {
|
|
4819
4988
|
var displayName: string;
|
|
4820
4989
|
}
|
|
4821
4990
|
|
|
@@ -4831,6 +5000,24 @@ export declare interface ItemGroup<T> {
|
|
|
4831
5000
|
items: T[];
|
|
4832
5001
|
}
|
|
4833
5002
|
|
|
5003
|
+
/** Compact icon-and-label lists with links, actions, groups, sections, and separators. */
|
|
5004
|
+
export declare const ItemList: {
|
|
5005
|
+
Root: typeof ListRoot;
|
|
5006
|
+
Item: typeof Item;
|
|
5007
|
+
Group: typeof Group;
|
|
5008
|
+
Section: typeof Section;
|
|
5009
|
+
Separator: typeof Separator;
|
|
5010
|
+
};
|
|
5011
|
+
|
|
5012
|
+
declare type ItemProps = React_2.ComponentProps<"button"> & {
|
|
5013
|
+
/** Optional decorative leading icon. */
|
|
5014
|
+
icon?: React_2.ReactNode;
|
|
5015
|
+
/** Visual emphasis only; aria-current="page" also supplies active styling. */
|
|
5016
|
+
isActive?: boolean;
|
|
5017
|
+
/** Replaces the inner button, not the containing list item. */
|
|
5018
|
+
render?: React_2.ReactElement;
|
|
5019
|
+
} & RequiredOperation;
|
|
5020
|
+
|
|
4834
5021
|
declare function Items<T extends ActivityCardBaseItem>({ children }: ActivityCardItemsProps<T>): JSX.Element;
|
|
4835
5022
|
|
|
4836
5023
|
declare namespace Items {
|
|
@@ -5013,6 +5200,8 @@ declare namespace List {
|
|
|
5013
5200
|
var displayName: string;
|
|
5014
5201
|
}
|
|
5015
5202
|
|
|
5203
|
+
declare function ListRoot({ className, ...props }: React_2.ComponentProps<"ul">): JSX.Element;
|
|
5204
|
+
|
|
5016
5205
|
declare type LoaderHandler = (args: LoaderFunctionArgs) => Promise<unknown> | unknown;
|
|
5017
5206
|
|
|
5018
5207
|
declare type LocalizedString = string | ((locale: string) => string);
|
|
@@ -5038,14 +5227,14 @@ export declare const Menu: {
|
|
|
5038
5227
|
Root: typeof Root_10;
|
|
5039
5228
|
Trigger: typeof Trigger_3;
|
|
5040
5229
|
Content: typeof Content_4;
|
|
5041
|
-
Item: typeof
|
|
5230
|
+
Item: typeof Item_3;
|
|
5042
5231
|
LinkItem: typeof LinkItem;
|
|
5043
5232
|
CheckboxItem: typeof CheckboxItem;
|
|
5044
5233
|
CheckboxItemIndicator: typeof CheckboxItemIndicator;
|
|
5045
5234
|
RadioItem: typeof RadioItem;
|
|
5046
5235
|
RadioItemIndicator: typeof RadioItemIndicator;
|
|
5047
5236
|
RadioGroup: typeof RadioGroup;
|
|
5048
|
-
Group: typeof
|
|
5237
|
+
Group: typeof Group_2;
|
|
5049
5238
|
GroupLabel: typeof GroupLabel;
|
|
5050
5239
|
Separator: typeof MenuSeparator;
|
|
5051
5240
|
SubmenuRoot: typeof SubmenuRoot;
|
|
@@ -5264,6 +5453,8 @@ declare type NumberRangeSection<TField extends string = string> = FieldSectionBa
|
|
|
5264
5453
|
unit?: ReactNode;
|
|
5265
5454
|
};
|
|
5266
5455
|
|
|
5456
|
+
declare type NumericValue = number | null | undefined;
|
|
5457
|
+
|
|
5267
5458
|
export declare type OpenCommandPaletteOptions = {
|
|
5268
5459
|
/** Optional initial text to prefill into the palette input. */
|
|
5269
5460
|
search?: string;
|
|
@@ -5597,6 +5788,12 @@ declare type ReasoningTriggerProps = Omit<ComponentProps<typeof DisclosureTrigge
|
|
|
5597
5788
|
*/
|
|
5598
5789
|
export declare const redirectTo: (to: string) => GuardResult;
|
|
5599
5790
|
|
|
5791
|
+
declare type RequiredOperation = {
|
|
5792
|
+
onClick: React_2.MouseEventHandler<HTMLButtonElement>;
|
|
5793
|
+
} | {
|
|
5794
|
+
render: React_2.ReactElement;
|
|
5795
|
+
};
|
|
5796
|
+
|
|
5600
5797
|
/** Color theme after resolving `system` to a concrete value. */
|
|
5601
5798
|
export declare type ResolvedColorTheme = "light" | "dark";
|
|
5602
5799
|
|
|
@@ -6157,6 +6354,9 @@ export declare type SearchSource = {
|
|
|
6157
6354
|
}) => Promise<CommandPaletteSearchResult[]>;
|
|
6158
6355
|
};
|
|
6159
6356
|
|
|
6357
|
+
/** A static heading and a flat list, without group indentation or an expand control. */
|
|
6358
|
+
declare function Section({ title, children, className, ...props }: SectionProps): JSX.Element;
|
|
6359
|
+
|
|
6160
6360
|
declare type SectionBase = {
|
|
6161
6361
|
/** Stable and unique within the rail. Keys the layout and a11y ids. */
|
|
6162
6362
|
id: string;
|
|
@@ -6172,6 +6372,10 @@ declare type SectionBase = {
|
|
|
6172
6372
|
defaultCollapsed?: boolean;
|
|
6173
6373
|
};
|
|
6174
6374
|
|
|
6375
|
+
declare type SectionProps = Omit<React_2.ComponentProps<"li">, "title"> & {
|
|
6376
|
+
title: string;
|
|
6377
|
+
};
|
|
6378
|
+
|
|
6175
6379
|
/** Every section, in the user's layout. Scrolls; the header stays put. */
|
|
6176
6380
|
declare function Sections({ className }: SectionsProps): JSX.Element;
|
|
6177
6381
|
|
|
@@ -6462,10 +6666,13 @@ declare namespace SelectValue {
|
|
|
6462
6666
|
var displayName: string;
|
|
6463
6667
|
}
|
|
6464
6668
|
|
|
6669
|
+
/** A decorative divider that remains a valid child of a list. */
|
|
6670
|
+
declare function Separator({ className, ...props }: Omit<React_2.ComponentProps<"li">, "children">): JSX.Element;
|
|
6671
|
+
|
|
6465
6672
|
/** A vertical separator for groups within a horizontal toolbar row. */
|
|
6466
|
-
declare function
|
|
6673
|
+
declare function Separator_2({ className, ...props }: ToolbarSeparatorProps): JSX.Element;
|
|
6467
6674
|
|
|
6468
|
-
declare namespace
|
|
6675
|
+
declare namespace Separator_2 {
|
|
6469
6676
|
var displayName: string;
|
|
6470
6677
|
}
|
|
6471
6678
|
|
|
@@ -7279,16 +7486,22 @@ declare type TabsVariant = "default" | "line" | "capsule";
|
|
|
7279
7486
|
* Text with a typography role. The role sets the size, line height, weight,
|
|
7280
7487
|
* and letter spacing. It does not set the color or choose the heading level.
|
|
7281
7488
|
*
|
|
7489
|
+
* `Text.h1` to `Text.h6`, `Text.p`, `Text.span`, and `Text.div` always render
|
|
7490
|
+
* their named element, with a default role for that element. They take
|
|
7491
|
+
* `variant`, the element's own attributes, and a ref, but not `render`.
|
|
7492
|
+
*
|
|
7282
7493
|
* @example
|
|
7283
7494
|
* ```tsx
|
|
7284
7495
|
* import { Text } from "@tailor-platform/app-shell";
|
|
7285
7496
|
*
|
|
7286
|
-
* <Text
|
|
7287
|
-
* <Text variant="
|
|
7288
|
-
* <Text
|
|
7497
|
+
* <Text.h1>Purchase orders</Text.h1>
|
|
7498
|
+
* <Text.h3 variant="heading-md">Line items</Text.h3>
|
|
7499
|
+
* <Text.p className="text-muted-foreground">Orders sent this month.</Text.p>
|
|
7500
|
+
* <Text.span className="tabular-nums">1,240</Text.span>
|
|
7501
|
+
* <Text variant="label-md" render={<CustomLabel />}>Quantity</Text>
|
|
7289
7502
|
* ```
|
|
7290
7503
|
*/
|
|
7291
|
-
declare
|
|
7504
|
+
declare const Text_2: TextComponent;
|
|
7292
7505
|
export { Text_2 as Text }
|
|
7293
7506
|
|
|
7294
7507
|
/**
|
|
@@ -7368,13 +7581,34 @@ export declare interface TextCellEditOptions<TRow extends Record<string, unknown
|
|
|
7368
7581
|
options?: readonly SelectOption[];
|
|
7369
7582
|
}
|
|
7370
7583
|
|
|
7584
|
+
/**
|
|
7585
|
+
* Keep the exported static API type explicit instead of relying on
|
|
7586
|
+
* `Object.assign(...)` inference, as `Layout` and `Autocomplete` do.
|
|
7587
|
+
*/
|
|
7588
|
+
declare type TextComponent = typeof TextRoot & {
|
|
7589
|
+
[T in TextTagName]: TextElementComponent<T>;
|
|
7590
|
+
};
|
|
7591
|
+
|
|
7592
|
+
declare type TextElementComponent<T extends TextTagName> = {
|
|
7593
|
+
(props: TextElementProps<T>): React_2.JSX.Element;
|
|
7594
|
+
displayName?: string;
|
|
7595
|
+
};
|
|
7596
|
+
|
|
7597
|
+
declare type TextElementProps<T extends TextTagName> = React_2.ComponentProps<T> & VariantProps<typeof textVariants>;
|
|
7598
|
+
|
|
7371
7599
|
export declare type TextProps = React_2.HTMLAttributes<HTMLElement> & VariantProps<typeof textVariants> & {
|
|
7372
7600
|
/** Ref to the rendered element. */
|
|
7373
7601
|
ref?: React_2.Ref<HTMLElement>;
|
|
7374
|
-
/** Custom element to render as (Base UI render prop). Use it to
|
|
7602
|
+
/** 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
7603
|
render?: React_2.ReactElement;
|
|
7376
7604
|
};
|
|
7377
7605
|
|
|
7606
|
+
declare function TextRoot({ className, variant, render, children, ref, ...props }: TextProps): React_2.ReactElement<unknown, string | React_2.JSXElementConstructor<any>>;
|
|
7607
|
+
|
|
7608
|
+
declare namespace TextRoot {
|
|
7609
|
+
var displayName: string;
|
|
7610
|
+
}
|
|
7611
|
+
|
|
7378
7612
|
/** Free text with one fixed operator. */
|
|
7379
7613
|
declare type TextSection<TField extends string = string> = FieldSectionBase<TField> & {
|
|
7380
7614
|
control: "text";
|
|
@@ -7386,6 +7620,8 @@ declare type TextSection<TField extends string = string> = FieldSectionBase<TFie
|
|
|
7386
7620
|
minLength?: number;
|
|
7387
7621
|
};
|
|
7388
7622
|
|
|
7623
|
+
declare type TextTagName = keyof typeof elementDefaultVariants;
|
|
7624
|
+
|
|
7389
7625
|
declare const textVariants: (props?: ({
|
|
7390
7626
|
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
7627
|
} & ClassProp) | undefined) => string;
|
|
@@ -7796,8 +8032,8 @@ declare function Tool({ className, children, ...props }: ToolProps): JSX.Element
|
|
|
7796
8032
|
export declare const Toolbar: {
|
|
7797
8033
|
Root: typeof Root_13;
|
|
7798
8034
|
Row: typeof Row_2;
|
|
7799
|
-
Group: typeof
|
|
7800
|
-
Separator: typeof
|
|
8035
|
+
Group: typeof Group_3;
|
|
8036
|
+
Separator: typeof Separator_2;
|
|
7801
8037
|
};
|
|
7802
8038
|
|
|
7803
8039
|
declare type ToolbarGroupProps = React_2.ComponentProps<"div">;
|
|
@@ -9212,37 +9448,37 @@ declare namespace Root {
|
|
|
9212
9448
|
}
|
|
9213
9449
|
|
|
9214
9450
|
|
|
9215
|
-
declare namespace
|
|
9451
|
+
declare namespace Header {
|
|
9216
9452
|
var displayName: string;
|
|
9217
9453
|
}
|
|
9218
9454
|
|
|
9219
9455
|
|
|
9220
|
-
declare namespace
|
|
9456
|
+
declare namespace Body {
|
|
9221
9457
|
var displayName: string;
|
|
9222
9458
|
}
|
|
9223
9459
|
|
|
9224
9460
|
|
|
9225
|
-
declare namespace
|
|
9461
|
+
declare namespace Footer {
|
|
9226
9462
|
var displayName: string;
|
|
9227
9463
|
}
|
|
9228
9464
|
|
|
9229
9465
|
|
|
9230
|
-
declare namespace
|
|
9466
|
+
declare namespace Row {
|
|
9231
9467
|
var displayName: string;
|
|
9232
9468
|
}
|
|
9233
9469
|
|
|
9234
9470
|
|
|
9235
|
-
declare namespace
|
|
9471
|
+
declare namespace Head {
|
|
9236
9472
|
var displayName: string;
|
|
9237
9473
|
}
|
|
9238
9474
|
|
|
9239
9475
|
|
|
9240
|
-
declare namespace
|
|
9476
|
+
declare namespace Cell {
|
|
9241
9477
|
var displayName: string;
|
|
9242
9478
|
}
|
|
9243
9479
|
|
|
9244
9480
|
|
|
9245
|
-
declare namespace
|
|
9481
|
+
declare namespace Caption {
|
|
9246
9482
|
var displayName: string;
|
|
9247
9483
|
}
|
|
9248
9484
|
|
|
@@ -9262,7 +9498,7 @@ declare namespace Description {
|
|
|
9262
9498
|
}
|
|
9263
9499
|
|
|
9264
9500
|
|
|
9265
|
-
declare namespace
|
|
9501
|
+
declare namespace TextRoot {
|
|
9266
9502
|
var displayName: string;
|
|
9267
9503
|
}
|
|
9268
9504
|
|
|
@@ -9272,82 +9508,67 @@ declare namespace Root {
|
|
|
9272
9508
|
}
|
|
9273
9509
|
|
|
9274
9510
|
|
|
9275
|
-
declare namespace
|
|
9276
|
-
var displayName: string;
|
|
9277
|
-
}
|
|
9278
|
-
|
|
9279
|
-
|
|
9280
|
-
declare namespace ClearAll {
|
|
9281
|
-
var displayName: string;
|
|
9282
|
-
}
|
|
9283
|
-
|
|
9284
|
-
|
|
9285
|
-
declare namespace Sections {
|
|
9286
|
-
var displayName: string;
|
|
9287
|
-
}
|
|
9288
|
-
|
|
9289
|
-
|
|
9290
|
-
declare namespace Trigger {
|
|
9511
|
+
declare namespace Image {
|
|
9291
9512
|
var displayName: string;
|
|
9292
9513
|
}
|
|
9293
9514
|
|
|
9294
9515
|
|
|
9295
|
-
declare namespace
|
|
9516
|
+
declare namespace Fallback {
|
|
9296
9517
|
var displayName: string;
|
|
9297
9518
|
}
|
|
9298
9519
|
|
|
9299
9520
|
|
|
9300
|
-
declare namespace
|
|
9521
|
+
declare namespace SelectRoot {
|
|
9301
9522
|
var displayName: string;
|
|
9302
9523
|
}
|
|
9303
9524
|
|
|
9304
9525
|
|
|
9305
|
-
declare namespace
|
|
9526
|
+
declare namespace SelectTrigger {
|
|
9306
9527
|
var displayName: string;
|
|
9307
9528
|
}
|
|
9308
9529
|
|
|
9309
9530
|
|
|
9310
|
-
declare namespace
|
|
9531
|
+
declare namespace SelectValue {
|
|
9311
9532
|
var displayName: string;
|
|
9312
9533
|
}
|
|
9313
9534
|
|
|
9314
9535
|
|
|
9315
|
-
declare namespace
|
|
9536
|
+
declare namespace SelectContent {
|
|
9316
9537
|
var displayName: string;
|
|
9317
9538
|
}
|
|
9318
9539
|
|
|
9319
9540
|
|
|
9320
|
-
declare namespace
|
|
9541
|
+
declare namespace SelectItem {
|
|
9321
9542
|
var displayName: string;
|
|
9322
9543
|
}
|
|
9323
9544
|
|
|
9324
9545
|
|
|
9325
|
-
declare namespace
|
|
9546
|
+
declare namespace SelectGroup {
|
|
9326
9547
|
var displayName: string;
|
|
9327
9548
|
}
|
|
9328
9549
|
|
|
9329
9550
|
|
|
9330
|
-
declare namespace
|
|
9551
|
+
declare namespace SelectGroupLabel {
|
|
9331
9552
|
var displayName: string;
|
|
9332
9553
|
}
|
|
9333
9554
|
|
|
9334
9555
|
|
|
9335
|
-
declare namespace
|
|
9556
|
+
declare namespace SelectSeparator {
|
|
9336
9557
|
var displayName: string;
|
|
9337
9558
|
}
|
|
9338
9559
|
|
|
9339
9560
|
|
|
9340
|
-
declare namespace
|
|
9561
|
+
declare namespace Root {
|
|
9341
9562
|
var displayName: string;
|
|
9342
9563
|
}
|
|
9343
9564
|
|
|
9344
9565
|
|
|
9345
|
-
declare namespace
|
|
9566
|
+
declare namespace Header {
|
|
9346
9567
|
var displayName: string;
|
|
9347
9568
|
}
|
|
9348
9569
|
|
|
9349
9570
|
|
|
9350
|
-
declare namespace
|
|
9571
|
+
declare namespace Content {
|
|
9351
9572
|
var displayName: string;
|
|
9352
9573
|
}
|
|
9353
9574
|
|
|
@@ -9587,52 +9808,47 @@ declare namespace Separator {
|
|
|
9587
9808
|
}
|
|
9588
9809
|
|
|
9589
9810
|
|
|
9590
|
-
declare namespace
|
|
9591
|
-
var displayName: string;
|
|
9592
|
-
}
|
|
9593
|
-
|
|
9594
|
-
|
|
9595
|
-
declare namespace SelectTrigger {
|
|
9811
|
+
declare namespace Provider {
|
|
9596
9812
|
var displayName: string;
|
|
9597
9813
|
}
|
|
9598
9814
|
|
|
9599
9815
|
|
|
9600
|
-
declare namespace
|
|
9816
|
+
declare namespace Root {
|
|
9601
9817
|
var displayName: string;
|
|
9602
9818
|
}
|
|
9603
9819
|
|
|
9604
9820
|
|
|
9605
|
-
declare namespace
|
|
9821
|
+
declare namespace Header {
|
|
9606
9822
|
var displayName: string;
|
|
9607
9823
|
}
|
|
9608
9824
|
|
|
9609
9825
|
|
|
9610
|
-
declare namespace
|
|
9826
|
+
declare namespace ClearAll {
|
|
9611
9827
|
var displayName: string;
|
|
9612
9828
|
}
|
|
9613
9829
|
|
|
9614
9830
|
|
|
9615
|
-
declare namespace
|
|
9831
|
+
declare namespace Sections {
|
|
9616
9832
|
var displayName: string;
|
|
9617
9833
|
}
|
|
9618
9834
|
|
|
9619
9835
|
|
|
9620
|
-
declare namespace
|
|
9836
|
+
declare namespace Provider {
|
|
9621
9837
|
var displayName: string;
|
|
9622
9838
|
}
|
|
9623
9839
|
|
|
9624
9840
|
|
|
9625
|
-
declare namespace
|
|
9841
|
+
declare namespace Root {
|
|
9626
9842
|
var displayName: string;
|
|
9627
9843
|
}
|
|
9628
9844
|
|
|
9629
9845
|
|
|
9630
|
-
declare namespace
|
|
9846
|
+
declare namespace Trigger {
|
|
9631
9847
|
var displayName: string;
|
|
9632
9848
|
}
|
|
9633
9849
|
|
|
9634
9850
|
|
|
9635
|
-
declare namespace
|
|
9851
|
+
declare namespace Content {
|
|
9636
9852
|
var displayName: string;
|
|
9637
9853
|
}
|
|
9638
9854
|
|
|
@@ -9642,7 +9858,7 @@ declare namespace Trigger {
|
|
|
9642
9858
|
}
|
|
9643
9859
|
|
|
9644
9860
|
|
|
9645
|
-
declare namespace
|
|
9861
|
+
declare namespace Settings {
|
|
9646
9862
|
var displayName: string;
|
|
9647
9863
|
}
|
|
9648
9864
|
|
|
@@ -9732,6 +9948,16 @@ declare namespace ComboboxCollection {
|
|
|
9732
9948
|
}
|
|
9733
9949
|
|
|
9734
9950
|
|
|
9951
|
+
declare namespace AutocompleteStandalone {
|
|
9952
|
+
var displayName: string;
|
|
9953
|
+
}
|
|
9954
|
+
|
|
9955
|
+
|
|
9956
|
+
declare namespace AutocompleteAsyncStandalone {
|
|
9957
|
+
var displayName: string;
|
|
9958
|
+
}
|
|
9959
|
+
|
|
9960
|
+
|
|
9735
9961
|
declare namespace AutocompleteRoot {
|
|
9736
9962
|
var displayName: string;
|
|
9737
9963
|
}
|
|
@@ -9802,27 +10028,42 @@ declare namespace AutocompleteStatus {
|
|
|
9802
10028
|
}
|
|
9803
10029
|
|
|
9804
10030
|
|
|
9805
|
-
declare namespace
|
|
10031
|
+
declare namespace DataTableRoot {
|
|
9806
10032
|
var displayName: string;
|
|
9807
10033
|
}
|
|
9808
10034
|
|
|
9809
10035
|
|
|
9810
|
-
declare namespace
|
|
10036
|
+
declare namespace DataTableTable {
|
|
9811
10037
|
var displayName: string;
|
|
9812
10038
|
}
|
|
9813
10039
|
|
|
9814
10040
|
|
|
9815
|
-
declare namespace
|
|
10041
|
+
declare namespace DataTableFooter {
|
|
9816
10042
|
var displayName: string;
|
|
9817
10043
|
}
|
|
9818
10044
|
|
|
9819
10045
|
|
|
9820
|
-
declare namespace
|
|
10046
|
+
declare namespace Root {
|
|
9821
10047
|
var displayName: string;
|
|
9822
10048
|
}
|
|
9823
10049
|
|
|
9824
10050
|
|
|
9825
|
-
declare namespace
|
|
10051
|
+
declare namespace Viewport {
|
|
10052
|
+
var displayName: string;
|
|
10053
|
+
}
|
|
10054
|
+
|
|
10055
|
+
|
|
10056
|
+
declare namespace Row {
|
|
10057
|
+
var displayName: string;
|
|
10058
|
+
}
|
|
10059
|
+
|
|
10060
|
+
|
|
10061
|
+
declare namespace Interval {
|
|
10062
|
+
var displayName: string;
|
|
10063
|
+
}
|
|
10064
|
+
|
|
10065
|
+
|
|
10066
|
+
declare namespace TimelineLink {
|
|
9826
10067
|
var displayName: string;
|
|
9827
10068
|
}
|
|
9828
10069
|
|