@coderabbitai/carrot-ui 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +253 -91
- package/dist/index.js +1720 -1422
- package/package.json +2 -1
- package/src/scales.css +29 -28
- package/src/theme.css +27 -37
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Accordion as Accordion_2 } from '@base-ui/react/accordion';
|
|
2
2
|
import { AlertDialog as AlertDialog_2 } from '@base-ui/react/alert-dialog';
|
|
3
|
+
import { AlertDialogDescriptionProps as AlertDialogDescriptionProps_2 } from '@base-ui/react';
|
|
3
4
|
import { Button as Button_2 } from '@base-ui/react/button';
|
|
4
5
|
import { Checkbox as Checkbox_2 } from '@base-ui/react/checkbox';
|
|
5
6
|
import { ClassValue } from 'clsx';
|
|
@@ -150,29 +151,18 @@ export declare interface AppHeaderActionsProps {
|
|
|
150
151
|
className?: string;
|
|
151
152
|
}
|
|
152
153
|
|
|
154
|
+
/**
|
|
155
|
+
* AppHeader breadcrumb — renders a Logo link followed by breadcrumb segments.
|
|
156
|
+
*
|
|
157
|
+
* Delegates to the standalone Breadcrumb component for the segment rendering.
|
|
158
|
+
* The Logo + first separator is AppHeader-specific.
|
|
159
|
+
*/
|
|
153
160
|
declare function AppHeaderBreadcrumb({ items, linkComponent: LinkEl, className, }: AppHeaderBreadcrumbProps): JSX.Element;
|
|
154
161
|
|
|
155
|
-
declare interface AppHeaderBreadcrumbItem {
|
|
156
|
-
label: string;
|
|
157
|
-
icon?: ReactNode;
|
|
158
|
-
href?: string;
|
|
159
|
-
selector?: boolean;
|
|
160
|
-
options?: AppHeaderBreadcrumbOption[];
|
|
161
|
-
onSelect?: (value: string) => void;
|
|
162
|
-
value?: string;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
declare interface AppHeaderBreadcrumbOption {
|
|
166
|
-
value: string;
|
|
167
|
-
label: string;
|
|
168
|
-
icon?: ReactNode;
|
|
169
|
-
[key: string]: unknown;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
162
|
export declare interface AppHeaderBreadcrumbProps {
|
|
173
|
-
items:
|
|
163
|
+
items: BreadcrumbItem[];
|
|
174
164
|
/** Custom link component (e.g. TanStack Router's Link, Next.js Link, etc.). Defaults to <a>. */
|
|
175
|
-
linkComponent?:
|
|
165
|
+
linkComponent?: LinkComponent_2;
|
|
176
166
|
className?: string;
|
|
177
167
|
}
|
|
178
168
|
|
|
@@ -239,6 +229,60 @@ export declare type BadgeSize = keyof typeof sizeStyles_5;
|
|
|
239
229
|
|
|
240
230
|
export declare type BadgeVariant = keyof typeof variantStyles_2;
|
|
241
231
|
|
|
232
|
+
/**
|
|
233
|
+
* Breadcrumb navigation with support for links, selectors, and icons.
|
|
234
|
+
*
|
|
235
|
+
* Each segment can be:
|
|
236
|
+
* - **Static text** — plain label (last segment, current page)
|
|
237
|
+
* - **Link** — clickable label that navigates to a parent page
|
|
238
|
+
* - **Selector** — label + chevron dropdown to switch between siblings
|
|
239
|
+
* (e.g. switch repos). The label can also be a link independently.
|
|
240
|
+
*
|
|
241
|
+
* Usage:
|
|
242
|
+
* ```tsx
|
|
243
|
+
* <Breadcrumb
|
|
244
|
+
* items={[
|
|
245
|
+
* { label: "Repositories", href: "/repositories" },
|
|
246
|
+
* { label: "landing", href: "/repos/landing", selector: true, options: repos, value: "landing" },
|
|
247
|
+
* { label: "Settings" },
|
|
248
|
+
* ]}
|
|
249
|
+
* />
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
export declare function Breadcrumb({ items, linkComponent: LinkEl, className, }: BreadcrumbProps): JSX.Element;
|
|
253
|
+
|
|
254
|
+
export declare interface BreadcrumbItem {
|
|
255
|
+
/** Display label for this segment */
|
|
256
|
+
readonly label: string;
|
|
257
|
+
/** Optional icon rendered before the label */
|
|
258
|
+
readonly icon?: ReactNode;
|
|
259
|
+
/** Link URL — makes the label a clickable link */
|
|
260
|
+
readonly href?: string;
|
|
261
|
+
/** Enable a dropdown selector (ChevronUpDown trigger) */
|
|
262
|
+
readonly selector?: boolean;
|
|
263
|
+
/** Options for the selector dropdown */
|
|
264
|
+
readonly options?: BreadcrumbOption[];
|
|
265
|
+
/** Callback when a selector option is chosen */
|
|
266
|
+
readonly onSelect?: (value: string) => void;
|
|
267
|
+
/** Currently selected value for the selector */
|
|
268
|
+
readonly value?: string;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
export declare interface BreadcrumbOption {
|
|
272
|
+
readonly value: string;
|
|
273
|
+
readonly label: string;
|
|
274
|
+
readonly icon?: ReactNode;
|
|
275
|
+
readonly [key: string]: unknown;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export declare interface BreadcrumbProps {
|
|
279
|
+
/** Breadcrumb segments */
|
|
280
|
+
readonly items: BreadcrumbItem[];
|
|
281
|
+
/** Custom link component (e.g. TanStack Router's Link, Next.js Link). Defaults to <a>. */
|
|
282
|
+
readonly linkComponent?: LinkComponent;
|
|
283
|
+
readonly className?: string;
|
|
284
|
+
}
|
|
285
|
+
|
|
242
286
|
/**
|
|
243
287
|
* Button component built on Base UI with Tailwind CSS styling.
|
|
244
288
|
*
|
|
@@ -295,6 +339,8 @@ export declare const Card: ReturnType<typeof forwardRef<HTMLDivElement, CardProp
|
|
|
295
339
|
Section: typeof CardSection;
|
|
296
340
|
};
|
|
297
341
|
|
|
342
|
+
declare function Card_2({ value, title, description, icon, disabled, className, }: RadioGroupCardProps): JSX.Element;
|
|
343
|
+
|
|
298
344
|
declare const CardBody: ForwardRefExoticComponent<CardBodyProps & RefAttributes<HTMLDivElement>>;
|
|
299
345
|
|
|
300
346
|
export declare interface CardBodyProps {
|
|
@@ -415,6 +461,28 @@ export declare interface ComboboxContentProps {
|
|
|
415
461
|
className?: string;
|
|
416
462
|
}
|
|
417
463
|
|
|
464
|
+
/**
|
|
465
|
+
* Groups related combobox items with an optional label.
|
|
466
|
+
* Wraps Base UI's Combobox.Group.
|
|
467
|
+
*/
|
|
468
|
+
export declare const ComboboxGroup: ForwardRefExoticComponent<ComboboxGroupProps & RefAttributes<HTMLDivElement>>;
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* Accessible label automatically associated with its parent group.
|
|
472
|
+
* Renders via Menu.GroupLabel for consistent styling.
|
|
473
|
+
*/
|
|
474
|
+
export declare const ComboboxGroupLabel: ForwardRefExoticComponent<ComboboxGroupLabelProps & RefAttributes<HTMLDivElement>>;
|
|
475
|
+
|
|
476
|
+
export declare interface ComboboxGroupLabelProps {
|
|
477
|
+
readonly className?: string;
|
|
478
|
+
readonly children: ReactNode;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
export declare interface ComboboxGroupProps {
|
|
482
|
+
readonly className?: string;
|
|
483
|
+
readonly children: ReactNode;
|
|
484
|
+
}
|
|
485
|
+
|
|
418
486
|
export declare interface ComboboxItem {
|
|
419
487
|
readonly value: string;
|
|
420
488
|
readonly label: string;
|
|
@@ -450,6 +518,16 @@ export declare interface ComboboxProps {
|
|
|
450
518
|
readonly className?: string;
|
|
451
519
|
}
|
|
452
520
|
|
|
521
|
+
/**
|
|
522
|
+
* Visual separator between combobox groups.
|
|
523
|
+
* Renders via Menu.Separator for consistent styling.
|
|
524
|
+
*/
|
|
525
|
+
export declare const ComboboxSeparator: ForwardRefExoticComponent<ComboboxSeparatorProps & RefAttributes<HTMLDivElement>>;
|
|
526
|
+
|
|
527
|
+
export declare interface ComboboxSeparatorProps {
|
|
528
|
+
readonly className?: string;
|
|
529
|
+
}
|
|
530
|
+
|
|
453
531
|
/**
|
|
454
532
|
* Fully composable trigger. Renders whatever children you give it as the
|
|
455
533
|
* element that opens the combobox popup.
|
|
@@ -528,7 +606,7 @@ export declare const createTooltipHandle: typeof Tooltip_2.createHandle;
|
|
|
528
606
|
* For simple static tables, use `Table` directly. Use `DataTable` when you
|
|
529
607
|
* need interactive features.
|
|
530
608
|
*/
|
|
531
|
-
export declare function DataTable<TData>({ columns, data, sortable, paginated, pageSize, pageSizeOptions, selectable, rowSelection: controlledRowSelection, onRowSelectionChange, onRowClick, emptyMessage, className, tableOptions, }: DataTableProps<TData>): JSX.Element;
|
|
609
|
+
export declare function DataTable<TData>({ columns, data, sortable, paginated, pageSize, pageSizeOptions, selectable, rowSelection: controlledRowSelection, onRowSelectionChange, onRowClick, loading, loadingRows, emptyMessage, className, tableOptions, }: DataTableProps<TData>): JSX.Element;
|
|
532
610
|
|
|
533
611
|
/**
|
|
534
612
|
* A faceted filter button for DataTable, inspired by shadcn's Tasks example.
|
|
@@ -588,6 +666,10 @@ export declare interface DataTableProps<TData> {
|
|
|
588
666
|
onRowSelectionChange?: (selection: RowSelectionState) => void;
|
|
589
667
|
/** Called when a row is clicked */
|
|
590
668
|
onRowClick?: (row: Row<TData>) => void;
|
|
669
|
+
/** Show skeleton loading state. Default false. */
|
|
670
|
+
loading?: boolean;
|
|
671
|
+
/** Number of skeleton rows to show when loading. Default 5. */
|
|
672
|
+
loadingRows?: number;
|
|
591
673
|
/** Message shown when data is empty. Default "No results." */
|
|
592
674
|
emptyMessage?: string | ReactNode;
|
|
593
675
|
/** Additional class on the outer wrapper */
|
|
@@ -666,10 +748,11 @@ export declare const Dialog: {
|
|
|
666
748
|
Content: typeof DialogContent;
|
|
667
749
|
Panel: ForwardRefExoticComponent<DialogPanelProps & RefAttributes<HTMLDivElement>>;
|
|
668
750
|
Title: ForwardRefExoticComponent<Omit<DialogTitleProps, "ref"> & RefAttributes<HTMLHeadingElement>>;
|
|
751
|
+
/** @deprecated Use a plain `<p>` inside Dialog.Body instead. */
|
|
752
|
+
Description: ForwardRefExoticComponent<Omit<AlertDialogDescriptionProps_2, "ref"> & RefAttributes<HTMLParagraphElement>>;
|
|
669
753
|
Body: ForwardRefExoticComponent<DialogBodyProps & RefAttributes<HTMLDivElement>>;
|
|
670
754
|
Footer: ForwardRefExoticComponent<DialogFooterProps & RefAttributes<HTMLDivElement>>;
|
|
671
755
|
Close: ForwardRefExoticComponent<Omit<DialogCloseProps, "ref"> & RefAttributes<HTMLButtonElement>>;
|
|
672
|
-
Description: ForwardRefExoticComponent<Omit<DialogDescriptionProps, "ref"> & RefAttributes<HTMLParagraphElement>>;
|
|
673
756
|
};
|
|
674
757
|
|
|
675
758
|
export declare interface DialogBackdropProps extends ComponentProps<typeof Dialog_2.Backdrop> {
|
|
@@ -689,9 +772,6 @@ export declare interface DialogContentProps extends ComponentProps<typeof Dialog
|
|
|
689
772
|
size?: DialogSize;
|
|
690
773
|
}
|
|
691
774
|
|
|
692
|
-
export declare interface DialogDescriptionProps extends ComponentProps<typeof Dialog_2.Description> {
|
|
693
|
-
}
|
|
694
|
-
|
|
695
775
|
export declare interface DialogFooterProps {
|
|
696
776
|
className?: string;
|
|
697
777
|
children: ReactNode;
|
|
@@ -956,7 +1036,7 @@ export declare interface FormTextareaProps extends ComponentProps<typeof Field.C
|
|
|
956
1036
|
* When `active`, renders its own static background with the press inset
|
|
957
1037
|
* effect (same as standalone active state). The group pill handles hover.
|
|
958
1038
|
*/
|
|
959
|
-
export declare function Hover({ children, active, background, backgroundClassName, borderRadius, focus, interactive, instantHover, disabled, fullWidth, className, }: HoverProps): JSX.Element;
|
|
1039
|
+
export declare function Hover({ children, active, background, backgroundClassName, borderRadius, focus, interactive, instantHover, disabled, fullWidth, className, ...rest }: HoverProps): JSX.Element;
|
|
960
1040
|
|
|
961
1041
|
export declare function HoverGroup({ children, background, borderRadius, className, }: HoverGroupProps): JSX.Element;
|
|
962
1042
|
|
|
@@ -969,7 +1049,7 @@ export declare interface HoverGroupProps {
|
|
|
969
1049
|
className?: string;
|
|
970
1050
|
}
|
|
971
1051
|
|
|
972
|
-
export declare interface HoverProps {
|
|
1052
|
+
export declare interface HoverProps extends Omit<ComponentProps<"div">, "children"> {
|
|
973
1053
|
children: ReactNode;
|
|
974
1054
|
/** Force the hover background visible (e.g. active/selected state) */
|
|
975
1055
|
active?: boolean;
|
|
@@ -990,7 +1070,6 @@ export declare interface HoverProps {
|
|
|
990
1070
|
disabled?: boolean;
|
|
991
1071
|
/** Stretch to full width */
|
|
992
1072
|
fullWidth?: boolean;
|
|
993
|
-
className?: string;
|
|
994
1073
|
}
|
|
995
1074
|
|
|
996
1075
|
declare type LinkComponent = ComponentType<{
|
|
@@ -1000,6 +1079,13 @@ declare type LinkComponent = ComponentType<{
|
|
|
1000
1079
|
children?: ReactNode;
|
|
1001
1080
|
}>;
|
|
1002
1081
|
|
|
1082
|
+
declare type LinkComponent_2 = ComponentType<{
|
|
1083
|
+
to?: string;
|
|
1084
|
+
href?: string;
|
|
1085
|
+
className?: string;
|
|
1086
|
+
children?: ReactNode;
|
|
1087
|
+
}>;
|
|
1088
|
+
|
|
1003
1089
|
/**
|
|
1004
1090
|
* CodeRabbit logo mark.
|
|
1005
1091
|
*/
|
|
@@ -1059,23 +1145,9 @@ export declare interface NavLinksProps {
|
|
|
1059
1145
|
* Full-page layout shell with a sidebar and content area.
|
|
1060
1146
|
*
|
|
1061
1147
|
* Structure: sidebar (fixed width) + content panel (flex-1).
|
|
1148
|
+
* The content panel renders as a rounded card on bg-cui-base-0.
|
|
1062
1149
|
*/
|
|
1063
1150
|
export declare const PageLayout: ForwardRefExoticComponent<PageLayoutProps & RefAttributes<HTMLDivElement>> & {
|
|
1064
|
-
Sidebar: (({ defaultCollapsed, className, children, }: SidebarRootProps) => JSX.Element) & {
|
|
1065
|
-
Header: ForwardRefExoticComponent<Omit<SidebarHeaderProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1066
|
-
CollapseButton: ({ className }: SidebarCollapseButtonProps) => JSX.Element | null;
|
|
1067
|
-
BackButton: ({ onClick, className, children, }: SidebarBackButtonProps) => JSX.Element;
|
|
1068
|
-
Label: ForwardRefExoticComponent<Omit<SidebarLabelProps, "ref"> & RefAttributes<HTMLSpanElement>>;
|
|
1069
|
-
Search: ({ label, icon, onClick, className, }: SidebarSearchProps) => JSX.Element;
|
|
1070
|
-
Nav: ({ className, children }: SidebarNavProps) => JSX.Element;
|
|
1071
|
-
NavItem: ({ active, nested, icon, href, onClick, className, children, }: SidebarNavItemProps) => JSX.Element;
|
|
1072
|
-
Footer: ForwardRefExoticComponent<Omit<SidebarFooterProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1073
|
-
};
|
|
1074
|
-
SidebarHeader: ForwardRefExoticComponent<Omit<SidebarHeaderProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1075
|
-
SidebarSearch: ({ label, icon, onClick, className, }: SidebarSearchProps) => JSX.Element;
|
|
1076
|
-
SidebarNav: ({ className, children }: SidebarNavProps) => JSX.Element;
|
|
1077
|
-
SidebarNavItem: ({ active, nested, icon, href, onClick, className, children, }: SidebarNavItemProps) => JSX.Element;
|
|
1078
|
-
SidebarFooter: ForwardRefExoticComponent<Omit<SidebarFooterProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1079
1151
|
Header: ForwardRefExoticComponent<Omit<PageLayoutHeaderProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1080
1152
|
Body: ForwardRefExoticComponent<Omit<PageLayoutBodyProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1081
1153
|
};
|
|
@@ -1087,7 +1159,7 @@ export declare interface PageLayoutHeaderProps extends ComponentProps<"div"> {
|
|
|
1087
1159
|
}
|
|
1088
1160
|
|
|
1089
1161
|
export declare interface PageLayoutProps {
|
|
1090
|
-
/** Sidebar content
|
|
1162
|
+
/** Sidebar content */
|
|
1091
1163
|
readonly sidebar?: ReactNode;
|
|
1092
1164
|
readonly className?: string;
|
|
1093
1165
|
readonly children: ReactNode;
|
|
@@ -1219,8 +1291,23 @@ export declare interface PopoverTriggerProps extends ComponentProps<typeof Popov
|
|
|
1219
1291
|
export declare const RadioGroup: {
|
|
1220
1292
|
Root: ForwardRefExoticComponent<Omit<RadioGroupRootProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1221
1293
|
Item: ForwardRefExoticComponent<Omit<RadioGroupItemProps, "ref"> & RefAttributes<HTMLSpanElement>>;
|
|
1294
|
+
Card: typeof Card_2;
|
|
1222
1295
|
};
|
|
1223
1296
|
|
|
1297
|
+
declare interface RadioGroupCardProps {
|
|
1298
|
+
/** Unique value identifying this card */
|
|
1299
|
+
readonly value: string;
|
|
1300
|
+
/** Card title */
|
|
1301
|
+
readonly title: string;
|
|
1302
|
+
/** Optional description below the title */
|
|
1303
|
+
readonly description?: string;
|
|
1304
|
+
/** Optional icon rendered to the left of the text */
|
|
1305
|
+
readonly icon?: ReactNode;
|
|
1306
|
+
/** Disable this card */
|
|
1307
|
+
readonly disabled?: boolean;
|
|
1308
|
+
readonly className?: string;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1224
1311
|
export declare interface RadioGroupItemProps extends ComponentProps<typeof Radio.Root> {
|
|
1225
1312
|
/** Size of the radio indicator */
|
|
1226
1313
|
size?: RadioGroupItemSize;
|
|
@@ -1231,6 +1318,8 @@ export declare interface RadioGroupItemProps extends ComponentProps<typeof Radio
|
|
|
1231
1318
|
export declare type RadioGroupItemSize = keyof typeof sizeStyles_10;
|
|
1232
1319
|
|
|
1233
1320
|
export declare interface RadioGroupRootProps extends ComponentProps<typeof RadioGroup_2> {
|
|
1321
|
+
/** Layout direction. Default "vertical". */
|
|
1322
|
+
orientation?: "horizontal" | "vertical";
|
|
1234
1323
|
}
|
|
1235
1324
|
|
|
1236
1325
|
export { Row }
|
|
@@ -1501,95 +1590,146 @@ export declare interface SettingsRowProps {
|
|
|
1501
1590
|
}
|
|
1502
1591
|
|
|
1503
1592
|
export declare const Sidebar: typeof SidebarRoot & {
|
|
1504
|
-
|
|
1593
|
+
Section: typeof SidebarSection;
|
|
1594
|
+
Header: typeof SidebarHeader;
|
|
1595
|
+
Label: ForwardRefExoticComponent<Omit<SidebarLabelProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1596
|
+
Link: typeof SidebarLink;
|
|
1597
|
+
BackLink: typeof SidebarBackLink;
|
|
1505
1598
|
CollapseButton: typeof SidebarCollapseButton;
|
|
1506
|
-
|
|
1507
|
-
Label: ForwardRefExoticComponent<Omit<SidebarLabelProps, "ref"> & RefAttributes<HTMLSpanElement>>;
|
|
1508
|
-
Search: typeof SidebarSearch;
|
|
1509
|
-
Nav: typeof SidebarNav;
|
|
1510
|
-
NavItem: typeof SidebarNavItem;
|
|
1511
|
-
Footer: ForwardRefExoticComponent<Omit<SidebarFooterProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1599
|
+
Layers: typeof SidebarLayers;
|
|
1512
1600
|
};
|
|
1513
1601
|
|
|
1514
|
-
|
|
1515
|
-
* Back navigation row for nested sidebar contexts.
|
|
1516
|
-
* Replaces the org switcher header when drilling into a sub-section.
|
|
1517
|
-
* Shows ArrowLeftIcon + section title when expanded, just the arrow when collapsed.
|
|
1518
|
-
*/
|
|
1519
|
-
declare function SidebarBackButton({ onClick, className, children, }: SidebarBackButtonProps): JSX.Element;
|
|
1602
|
+
declare function SidebarBackLink({ name, onClick, className }: SidebarBackLinkProps): JSX.Element;
|
|
1520
1603
|
|
|
1521
|
-
export declare interface
|
|
1522
|
-
/**
|
|
1604
|
+
export declare interface SidebarBackLinkProps {
|
|
1605
|
+
/** Display name */
|
|
1606
|
+
readonly name: string;
|
|
1607
|
+
/** Click handler */
|
|
1523
1608
|
readonly onClick?: () => void;
|
|
1524
1609
|
readonly className?: string;
|
|
1525
|
-
/** Section title displayed next to the back arrow */
|
|
1526
|
-
readonly children: ReactNode;
|
|
1527
1610
|
}
|
|
1528
1611
|
|
|
1529
|
-
|
|
1530
|
-
* Toggle button for collapsing/expanding the sidebar.
|
|
1531
|
-
* Chevron direction flips based on collapsed state.
|
|
1532
|
-
*/
|
|
1533
|
-
declare function SidebarCollapseButton({ className }: SidebarCollapseButtonProps): JSX.Element | null;
|
|
1612
|
+
declare function SidebarCollapseButton({ className }: SidebarCollapseButtonProps): JSX.Element;
|
|
1534
1613
|
|
|
1535
1614
|
export declare interface SidebarCollapseButtonProps {
|
|
1536
1615
|
readonly className?: string;
|
|
1537
1616
|
}
|
|
1538
1617
|
|
|
1539
|
-
|
|
1618
|
+
declare interface SidebarContextValue {
|
|
1540
1619
|
readonly collapsed: boolean;
|
|
1541
1620
|
readonly toggle: () => void;
|
|
1542
1621
|
}
|
|
1543
1622
|
|
|
1544
|
-
|
|
1545
|
-
|
|
1623
|
+
/**
|
|
1624
|
+
* Header row that smoothly hides its children when the sidebar collapses.
|
|
1625
|
+
*
|
|
1626
|
+
* Matches the Vue DSidebar header pattern:
|
|
1627
|
+
* - `AnimatePresence mode="popLayout"` keeps CollapseButton stable in layout
|
|
1628
|
+
* - Children slide out with `x: -320, scale: 0.5` spring animation
|
|
1629
|
+
* - Row uses `justify-center` so CollapseButton centers when collapsed
|
|
1630
|
+
* - Padding `px-2` only applied when expanded
|
|
1631
|
+
*
|
|
1632
|
+
* Usage:
|
|
1633
|
+
* ```tsx
|
|
1634
|
+
* <Sidebar.Header>
|
|
1635
|
+
* <Logo />
|
|
1636
|
+
* <span>CodeRabbit</span>
|
|
1637
|
+
* </Sidebar.Header>
|
|
1638
|
+
* ```
|
|
1639
|
+
* The `CollapseButton` is rendered automatically at the end of the row.
|
|
1640
|
+
*/
|
|
1641
|
+
declare function SidebarHeader({ className, children }: SidebarHeaderProps): JSX.Element;
|
|
1546
1642
|
|
|
1547
|
-
|
|
1643
|
+
declare interface SidebarHeaderProps {
|
|
1644
|
+
readonly className?: string;
|
|
1645
|
+
readonly children: ReactNode;
|
|
1548
1646
|
}
|
|
1549
1647
|
|
|
1550
|
-
export declare interface SidebarLabelProps extends ComponentProps<"
|
|
1648
|
+
export declare interface SidebarLabelProps extends ComponentProps<"div"> {
|
|
1551
1649
|
}
|
|
1552
1650
|
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1651
|
+
/**
|
|
1652
|
+
* Wraps sidebar content in directional slide animations.
|
|
1653
|
+
*
|
|
1654
|
+
* When `activeKey` changes, the old content slides out and new content
|
|
1655
|
+
* slides in. `direction="forward"` slides left (drilling in),
|
|
1656
|
+
* `direction="back"` slides right (going up).
|
|
1657
|
+
*
|
|
1658
|
+
* Usage:
|
|
1659
|
+
* ```tsx
|
|
1660
|
+
* <Sidebar.Layers activeKey={currentSection} direction={navDirection}>
|
|
1661
|
+
* {currentSection === "main" ? <MainNav /> : <SettingsNav />}
|
|
1662
|
+
* </Sidebar.Layers>
|
|
1663
|
+
* ```
|
|
1664
|
+
*/
|
|
1665
|
+
declare function SidebarLayers({ activeKey, direction, className, children, }: SidebarLayersProps): JSX.Element;
|
|
1556
1666
|
|
|
1557
|
-
export declare interface
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
readonly
|
|
1562
|
-
readonly href?: string;
|
|
1563
|
-
readonly onClick?: () => void;
|
|
1667
|
+
export declare interface SidebarLayersProps {
|
|
1668
|
+
/** Unique key for the current layer — changes trigger the animation */
|
|
1669
|
+
readonly activeKey: string;
|
|
1670
|
+
/** Direction of the transition: forward drills in, back goes up */
|
|
1671
|
+
readonly direction?: "forward" | "back";
|
|
1564
1672
|
readonly className?: string;
|
|
1565
1673
|
readonly children: ReactNode;
|
|
1566
1674
|
}
|
|
1567
1675
|
|
|
1568
|
-
|
|
1676
|
+
declare function SidebarLink({ name, href, as, active, icon, nested, external, showIndicator, onClick, className, }: SidebarLinkProps): JSX.Element;
|
|
1677
|
+
|
|
1678
|
+
export declare interface SidebarLinkProps {
|
|
1679
|
+
/** Display name */
|
|
1680
|
+
readonly name: string;
|
|
1681
|
+
/** Link URL (renders as <a>) or omit for button */
|
|
1682
|
+
readonly href?: string;
|
|
1683
|
+
/** Render as "div" when nested inside an interactive container (e.g. DropdownMenu.Trigger) to avoid nested <button> */
|
|
1684
|
+
readonly as?: "div";
|
|
1685
|
+
/** Whether this link is currently active */
|
|
1686
|
+
readonly active?: boolean;
|
|
1687
|
+
/** Icon component rendered before the name */
|
|
1688
|
+
readonly icon?: ReactNode;
|
|
1689
|
+
/** Show a trailing chevron indicating navigation to a nested layer */
|
|
1690
|
+
readonly nested?: boolean;
|
|
1691
|
+
/** Show an external link arrow and open in new tab */
|
|
1692
|
+
readonly external?: boolean;
|
|
1693
|
+
/** Show a pulsing activity indicator dot */
|
|
1694
|
+
readonly showIndicator?: boolean;
|
|
1695
|
+
/** Click handler */
|
|
1696
|
+
readonly onClick?: () => void;
|
|
1569
1697
|
readonly className?: string;
|
|
1570
|
-
readonly children: ReactNode;
|
|
1571
1698
|
}
|
|
1572
1699
|
|
|
1573
1700
|
/**
|
|
1574
|
-
* Sidebar
|
|
1575
|
-
*
|
|
1701
|
+
* Sidebar with collapsible state and directional layer transitions.
|
|
1702
|
+
*
|
|
1703
|
+
* Supports both uncontrolled (`defaultCollapsed`) and controlled
|
|
1704
|
+
* (`collapsed` + `onCollapsedChange`) modes. Use controlled mode
|
|
1705
|
+
* to persist state across route changes or sync with external storage.
|
|
1706
|
+
*
|
|
1707
|
+
* Sub-components:
|
|
1708
|
+
* - `Sidebar.Section` — groups related links
|
|
1709
|
+
* - `Sidebar.Label` — section label that collapses smoothly
|
|
1710
|
+
* - `Sidebar.Link` — nav link with Hover + Tooltip
|
|
1711
|
+
* - `Sidebar.BackLink` — back navigation with directional slide
|
|
1712
|
+
* - `Sidebar.CollapseButton` — toggle sidebar width
|
|
1713
|
+
* - `Sidebar.Layers` — directional animation container for nested sidebars
|
|
1576
1714
|
*/
|
|
1577
|
-
declare function SidebarRoot({ defaultCollapsed, className, children, }: SidebarRootProps): JSX.Element;
|
|
1715
|
+
declare function SidebarRoot({ defaultCollapsed, collapsed: controlledCollapsed, onCollapsedChange, className, children, }: SidebarRootProps): JSX.Element;
|
|
1578
1716
|
|
|
1579
1717
|
export declare interface SidebarRootProps {
|
|
1580
|
-
/** Start in collapsed state */
|
|
1718
|
+
/** Start in collapsed state (uncontrolled) */
|
|
1581
1719
|
readonly defaultCollapsed?: boolean;
|
|
1720
|
+
/** Controlled collapsed state */
|
|
1721
|
+
readonly collapsed?: boolean;
|
|
1722
|
+
/** Callback when collapsed state changes (controlled mode) */
|
|
1723
|
+
readonly onCollapsedChange?: (collapsed: boolean) => void;
|
|
1582
1724
|
readonly className?: string;
|
|
1583
1725
|
readonly children: ReactNode;
|
|
1584
1726
|
}
|
|
1585
1727
|
|
|
1586
|
-
declare function
|
|
1728
|
+
declare function SidebarSection({ className, children }: SidebarSectionProps): JSX.Element;
|
|
1587
1729
|
|
|
1588
|
-
export declare interface
|
|
1589
|
-
readonly label?: string;
|
|
1590
|
-
readonly icon?: ReactNode;
|
|
1591
|
-
readonly onClick?: () => void;
|
|
1730
|
+
export declare interface SidebarSectionProps {
|
|
1592
1731
|
readonly className?: string;
|
|
1732
|
+
readonly children: ReactNode;
|
|
1593
1733
|
}
|
|
1594
1734
|
|
|
1595
1735
|
declare const sizeStyles: {
|
|
@@ -1756,6 +1896,7 @@ export declare const Table: ReturnType<typeof forwardRef<HTMLDivElement, TablePr
|
|
|
1756
1896
|
Row: typeof TableRow;
|
|
1757
1897
|
HeaderCell: typeof TableHeaderCell;
|
|
1758
1898
|
Cell: typeof TableCell;
|
|
1899
|
+
Skeleton: typeof TableSkeleton;
|
|
1759
1900
|
};
|
|
1760
1901
|
|
|
1761
1902
|
declare const TableBody: ForwardRefExoticComponent<TableBodyProps & RefAttributes<HTMLTableSectionElement>>;
|
|
@@ -1808,6 +1949,27 @@ export declare interface TableRowProps extends Omit<ComponentProps<"tr">, "child
|
|
|
1808
1949
|
children: ReactNode;
|
|
1809
1950
|
}
|
|
1810
1951
|
|
|
1952
|
+
/**
|
|
1953
|
+
* Skeleton loading rows for the Table.
|
|
1954
|
+
* Renders inside a `<tbody>` with the specified number of rows and columns.
|
|
1955
|
+
*
|
|
1956
|
+
* ```tsx
|
|
1957
|
+
* <Table>
|
|
1958
|
+
* <Table.Header>...</Table.Header>
|
|
1959
|
+
* {loading ? <Table.Skeleton columns={3} /> : <Table.Body>...</Table.Body>}
|
|
1960
|
+
* </Table>
|
|
1961
|
+
* ```
|
|
1962
|
+
*/
|
|
1963
|
+
declare function TableSkeleton({ columns, rows, className }: TableSkeletonProps): JSX.Element;
|
|
1964
|
+
|
|
1965
|
+
declare interface TableSkeletonProps {
|
|
1966
|
+
/** Number of columns to render */
|
|
1967
|
+
readonly columns: number;
|
|
1968
|
+
/** Number of skeleton rows. Default 5. */
|
|
1969
|
+
readonly rows?: number;
|
|
1970
|
+
readonly className?: string;
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1811
1973
|
export declare const Tabs: {
|
|
1812
1974
|
Root: ForwardRefExoticComponent<Omit<TabsRootProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1813
1975
|
List: ForwardRefExoticComponent<Omit<TabsListProps, "ref"> & RefAttributes<HTMLDivElement>>;
|