@dimaan/ui 0.0.22 → 0.0.24

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.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ComponentPropsWithoutRef, HTMLAttributes, ReactNode, ButtonHTMLAttributes, ReactElement, InputHTMLAttributes, ChangeEvent, FormEventHandler, FieldsetHTMLAttributes, Ref, TextareaHTMLAttributes } from 'react';
3
+ import { ComponentPropsWithoutRef, HTMLAttributes, ReactNode, ButtonHTMLAttributes, ReactElement, InputHTMLAttributes, ChangeEvent, ForwardRefExoticComponent, RefAttributes, FormEventHandler, FieldsetHTMLAttributes, Ref, TextareaHTMLAttributes } from 'react';
4
4
  import * as RadixAlertDialog from '@radix-ui/react-alert-dialog';
5
5
  import { LinkProps } from 'react-router-dom';
6
6
  import { Locale } from 'react-day-picker';
@@ -390,7 +390,7 @@ type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructiv
390
390
  type ButtonSize = 'sm' | 'md' | 'lg' | 'icon' | 'icon-sm';
391
391
  declare const buttonVariantClass: Record<ButtonVariant, string>;
392
392
  declare const buttonSizeClass: Record<ButtonSize, string>;
393
- declare const buttonBaseClass = "group/button relative inline-flex items-center justify-center font-medium select-none whitespace-nowrap outline-none transition-[background-color,color,box-shadow,opacity] focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0";
393
+ declare const buttonBaseClass = "group/button relative inline-flex items-center justify-center font-medium select-none whitespace-nowrap outline-none transition-[background-color,color,box-shadow,opacity,transform] active:scale-[0.98] focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 motion-reduce:transition-none motion-reduce:active:scale-100 [&_svg]:pointer-events-none [&_svg]:shrink-0";
394
394
 
395
395
  interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
396
396
  variant?: ButtonVariant;
@@ -1029,6 +1029,117 @@ type FieldProps<TValues extends FieldValues = FieldValues, TName extends FieldPa
1029
1029
  */
1030
1030
  declare function Field<TValues extends FieldValues = FieldValues, TName extends FieldPath<TValues> = FieldPath<TValues>>(props: FieldProps<TValues, TName>): ReactElement;
1031
1031
 
1032
+ type FileUploadErrorCode = 'file-too-large' | 'file-type-rejected';
1033
+ interface FileUploadError {
1034
+ code: FileUploadErrorCode;
1035
+ /** Direction-aware human-readable message. */
1036
+ message: string;
1037
+ /** The rejected file. */
1038
+ file: File;
1039
+ }
1040
+ interface FileUploadLabels {
1041
+ /** Empty-dropzone prompt. Direction-aware default. */
1042
+ prompt?: string;
1043
+ /** Hint line under the prompt. Defaults to `Max {maxSize} MB` (direction-aware). */
1044
+ hint?: string;
1045
+ /** aria-label prefix for the remove (×) button. Direction-aware default. */
1046
+ remove?: string;
1047
+ }
1048
+ interface FileUploadBaseProps {
1049
+ /** Native `accept` filter (e.g. `"image/*,.pdf"`). Also enforced on drop. */
1050
+ accept?: string;
1051
+ /** Max size per file, in MB. Defaults to `5`. */
1052
+ maxSize?: number;
1053
+ disabled?: boolean;
1054
+ /** Marks the underlying input required (for form validation). */
1055
+ required?: boolean;
1056
+ /** Native form name. */
1057
+ name?: string;
1058
+ /** Override id (otherwise auto-generated via useId). */
1059
+ id?: string;
1060
+ /** Fires when a file is rejected by `accept` / `maxSize`. */
1061
+ onError?: (error: FileUploadError) => void;
1062
+ /** Called when focus leaves the input. */
1063
+ onBlur?: () => void;
1064
+ /** Localized copy. */
1065
+ labels?: FileUploadLabels;
1066
+ /** Class on the outer wrapper. */
1067
+ className?: string;
1068
+ 'aria-invalid'?: boolean | 'true' | 'false';
1069
+ 'aria-describedby'?: string;
1070
+ 'aria-label'?: string;
1071
+ }
1072
+ /**
1073
+ * Discriminated on `multiple`: the value is `File | null` for single mode and
1074
+ * `File[]` for multiple mode.
1075
+ */
1076
+ type FileUploadProps = FileUploadBaseProps & ({
1077
+ multiple?: false;
1078
+ value?: File | null;
1079
+ defaultValue?: File | null;
1080
+ onValueChange?: (file: File | null) => void;
1081
+ onChange?: (file: File | null) => void;
1082
+ } | {
1083
+ multiple: true;
1084
+ value?: File[];
1085
+ defaultValue?: File[];
1086
+ onValueChange?: (files: File[]) => void;
1087
+ onChange?: (files: File[]) => void;
1088
+ });
1089
+ /**
1090
+ * Drag-and-drop file picker. **Bare control** (no inline label/error) — wrap in
1091
+ * `<Field label="…">` for label + helper + error wiring (ADR-007). Discriminated
1092
+ * on `multiple`: value is `File | null` (single) or `File[]` (multiple).
1093
+ *
1094
+ * Rejected files (by `accept` / `maxSize`) are not added and reported through
1095
+ * `onError` — surface them via `toast(...)` or the wrapping `<Field>` error.
1096
+ * Direction-aware copy (EN / AR) via `useDirection()`; override with `labels`.
1097
+ *
1098
+ * @example Single file inside a Field (RHF + Zod)
1099
+ * ```tsx
1100
+ * <Field name="cv" label="CV (PDF)" required>
1101
+ * <FileUpload accept=".pdf" maxSize={10} onError={(e) => toast.error(e.message)} />
1102
+ * </Field>
1103
+ * ```
1104
+ *
1105
+ * @example Multiple files, controlled
1106
+ * ```tsx
1107
+ * <FileUpload
1108
+ * multiple
1109
+ * accept="image/*"
1110
+ * value={images}
1111
+ * onValueChange={setImages}
1112
+ * aria-label="Gallery images"
1113
+ * />
1114
+ * ```
1115
+ */
1116
+ declare const FileUpload: ForwardRefExoticComponent<FileUploadProps & RefAttributes<HTMLDivElement>>;
1117
+
1118
+ /**
1119
+ * FileUpload styling. The dropzone is a `<label>` whose state is driven by
1120
+ * `data-drag-active` / `data-invalid` / `data-disabled` and the focus ring of
1121
+ * the visually-hidden `peer` input. Re-exported from `src/index.ts` so consumers
1122
+ * can compose the same look onto custom elements.
1123
+ */
1124
+ /** Outer wrapper — owns the drag handlers + stacks the dropzone and file rows. */
1125
+ declare const fileUploadBaseClass = "flex w-full min-w-0 flex-col gap-2";
1126
+ /** The clickable / drop target. */
1127
+ declare const fileUploadDropzoneClass: string;
1128
+ /** Upload glyph in the empty dropzone. */
1129
+ declare const fileUploadIconClass = "size-8 text-muted-foreground";
1130
+ /** Primary prompt line. */
1131
+ declare const fileUploadPromptClass = "text-sm text-foreground";
1132
+ /** Secondary hint line (size limit, etc.). */
1133
+ declare const fileUploadHintClass = "text-xs text-muted-foreground";
1134
+ /** A selected-file row (icon + name/size + remove). */
1135
+ declare const fileUploadFileRowClass = "flex items-center justify-between gap-2 rounded-md border border-border bg-card px-3 py-2";
1136
+ /** File name (truncates). */
1137
+ declare const fileUploadFileNameClass = "truncate text-sm font-medium text-foreground";
1138
+ /** File size sub-label. */
1139
+ declare const fileUploadFileSizeClass = "text-xs text-muted-foreground";
1140
+ /** The per-file "×" remove button. */
1141
+ declare const fileUploadRemoveClass = "inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50";
1142
+
1032
1143
  interface FormPageLabels {
1033
1144
  /** Back button label (top-left). Direction-aware default: `"Back"` / `"رجوع"`. */
1034
1145
  back?: string;
@@ -1990,6 +2101,85 @@ declare const RadioGroupItem: react.ForwardRefExoticComponent<Omit<RadixRadioGro
1990
2101
  radioSize?: RadioGroupSize;
1991
2102
  } & react.RefAttributes<HTMLButtonElement>>;
1992
2103
 
2104
+ /** Recurring action with a baked icon, default label, and styling. */
2105
+ interface PresetRowAction {
2106
+ /** 'view' (Eye), 'edit' (Pencil), or 'delete' (Trash2, destructive). */
2107
+ kind: 'view' | 'edit' | 'delete';
2108
+ /** Click handler. */
2109
+ onClick: () => void;
2110
+ /** Override the default accessible label (e.g. for i18n: 'تعديل'). */
2111
+ label?: string;
2112
+ /** Disable this single action. */
2113
+ disabled?: boolean;
2114
+ }
2115
+ /** Custom action for anything outside the presets. */
2116
+ interface CustomRowAction {
2117
+ /** Icon element, e.g. <Archive />. */
2118
+ icon: ReactNode;
2119
+ /** Accessible label — used as the button's aria-label. Required. */
2120
+ label: string;
2121
+ /** Click handler. */
2122
+ onClick: () => void;
2123
+ /** Destructive (red) styling. Defaults to 'default'. */
2124
+ variant?: 'default' | 'destructive';
2125
+ /** Disable this single action. */
2126
+ disabled?: boolean;
2127
+ }
2128
+ type RowAction = PresetRowAction | CustomRowAction;
2129
+ interface RowActionsProps {
2130
+ /** Actions rendered in array order (the flex row flips in RTL). */
2131
+ actions: RowAction[];
2132
+ /** Button size. Defaults to 'icon-sm'. */
2133
+ size?: 'icon-sm' | 'icon';
2134
+ /** Extra classes on the wrapping element. */
2135
+ className?: string;
2136
+ }
2137
+ /**
2138
+ * Inline icon action buttons for table rows (or anywhere). Pass a single
2139
+ * `actions` array mixing presets (`kind: 'view' | 'edit' | 'delete'`) and
2140
+ * custom actions. Presets supply a standard icon, label, and destructive
2141
+ * styling (delete); custom actions provide their own icon/label/variant.
2142
+ *
2143
+ * Icon-only buttons get their accessible name from `label` (aria-label).
2144
+ * Destructive actions (the `delete` preset or `variant: 'destructive'`) are
2145
+ * styling only — wire your own confirmation inside `onClick`.
2146
+ *
2147
+ * @example Presets — the common case
2148
+ * ```tsx
2149
+ * <RowActions
2150
+ * actions={[
2151
+ * { kind: 'view', onClick: () => view(row) },
2152
+ * { kind: 'edit', onClick: () => edit(row) },
2153
+ * { kind: 'delete', onClick: () => remove(row), disabled: row.locked },
2154
+ * ]}
2155
+ * />
2156
+ * ```
2157
+ *
2158
+ * @example Custom action + i18n label override
2159
+ * ```tsx
2160
+ * <RowActions
2161
+ * actions={[
2162
+ * { kind: 'edit', label: 'تعديل', onClick: () => edit(row) },
2163
+ * { icon: <Archive />, label: 'Archive', onClick: () => archive(row) },
2164
+ * ]}
2165
+ * />
2166
+ * ```
2167
+ */
2168
+ declare function RowActions({ actions, size, className }: RowActionsProps): react_jsx_runtime.JSX.Element | null;
2169
+
2170
+ /**
2171
+ * Class constants for RowActions. Exported from the package root so consumers
2172
+ * can compose the same styling onto custom action buttons.
2173
+ */
2174
+ /** Wrapper around the inline action buttons. */
2175
+ declare const rowActionsBaseClass = "inline-flex items-center gap-1";
2176
+ /**
2177
+ * Classes layered onto a ghost Button for destructive actions (the `delete`
2178
+ * preset or `variant: 'destructive'`). Red icon + subtle red hover. Ordered
2179
+ * after the ghost variant so tailwind-merge lets these win.
2180
+ */
2181
+ declare const rowActionsDestructiveClass = "text-destructive hover:bg-destructive/10 hover:text-destructive focus-visible:ring-destructive/40";
2182
+
1993
2183
  type SwitchSize = 'sm' | 'md' | 'lg';
1994
2184
  /**
1995
2185
  * Each size is a tuple: track dimensions + thumb size + thumb travel distance.
@@ -2261,4 +2451,4 @@ declare function useDirection(): Direction;
2261
2451
 
2262
2452
  declare function cn(...inputs: ClassValue[]): string;
2263
2453
 
2264
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, type AlertDialogFooterProps, AlertDialogHeader, type AlertDialogHeaderProps, AlertDialogOverlay, type AlertDialogOverlayProps, AlertDialogPortal, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, AppShell, type AppShellBrand, type AppShellNavGroup, type AppShellNavItem, type AppShellProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BadgeSize, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Checkbox, type CheckboxProps, type CheckboxSize, type Column, type ColumnAlign, type ConfirmDialogLabels, ConfirmDialogProvider, type ConfirmDialogProviderProps, type ConfirmOptions, DashboardContent, type DashboardContentProps, DashboardHeader, type DashboardHeaderProps, DashboardLayout, type DashboardLayoutContextValue, type DashboardLayoutProps, DashboardMain, type DashboardMainProps, DatePicker, type DatePickerProps, type DatePickerSize, type DatePickerVariant, DetailPage, type DetailPageLabels, type DetailPageNotFoundState, type DetailPageProps, Dialog, DialogClose, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogOverlay, type DialogOverlayProps, DialogPortal, DialogTitle, type DialogTitleProps, DialogTrigger, type Direction, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuItemVariant, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuShortcut, type DropdownMenuShortcutProps, DropdownMenuTrigger, EmptyState, type EmptyStateProps, type EmptyStateSize, Field, type FieldOrientation, type FieldProps, type FieldRHFProps, FormPage, type FormPageLabels, type FormPageProps, HeaderActions, type HeaderActionsProps, HeaderCollapseTrigger, type HeaderCollapseTriggerProps, HeaderMobileTrigger, type HeaderMobileTriggerProps, HeaderSearch, type HeaderSearchProps, HeaderTitle, type HeaderTitleProps, Input, type InputProps, type InputSize, type InputVariant, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, ListPage, type ListPageDateFilter, type ListPageEmptyState, type ListPageFilter, type ListPageFilterWidth, type ListPageLabels, type ListPageMultiSelectFilter, type ListPageProps, type ListPageSelectFilter, type ListPageTextFilter, MultiSelect, type MultiSelectLabels, type MultiSelectProps, PageHeader, type PageHeaderBackProps, type PageHeaderBackRenderProps, type PageHeaderHeadingLevel, type PageHeaderProps, type PaginationState, RadioGroup, RadioGroupItem, type RadioGroupOption, type RadioGroupOrientation, type RadioGroupProps, type RadioGroupSize, type RowSelectionState, Select, type SelectOption, type SelectProps, type SelectSize, type SelectVariant, Sidebar, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarNav, SidebarNavGroup, type SidebarNavGroupProps, SidebarNavItem, type SidebarNavItemProps, type SidebarNavItemRenderProps, type SidebarNavProps, type SidebarProps, type SortDirection, type SortState, Switch, type SwitchProps, type SwitchSize, Table, type TableLabels, type TableProps, type TableSize, type TableSizeClasses, Textarea, type TextareaProps, type TextareaResize, type TextareaSize, type TextareaVariant, Toaster, type ToasterProps, Tooltip, type TooltipProps, TooltipProvider, type TooltipProviderProps, badgeBaseClass, badgeDotSizeClass, badgeSizeClass, badgeVariantClass, buttonBaseClass, buttonSizeClass, buttonVariantClass, cn, datePickerCalendarClass, datePickerCaptionClass, datePickerContentClass, datePickerDayBaseClass, datePickerDayWrapperClass, datePickerDisabledClass, datePickerMonthClass, datePickerMonthGridClass, datePickerMonthsClass, datePickerNavButtonClass, datePickerNavClass, datePickerOutsideClass, datePickerPlaceholderClass, datePickerSelectedClass, datePickerTodayClass, datePickerTriggerBaseClass, datePickerTriggerSizeClass, datePickerTriggerVariantClass, datePickerValueClass, datePickerWeekClass, datePickerWeekdayClass, datePickerWeekdaysClass, detailPageBaseClass, detailPageBodyClass, detailPageEmptyClass, detailPageSkeletonRowClass, dialogCloseButtonClass, dialogContentClass, dialogDescriptionClass, dialogFooterClass, dialogHeaderClass, dialogOverlayClass, dialogTitleClass, dropdownMenuContentClass, dropdownMenuItemBaseClass, dropdownMenuItemInsetClass, dropdownMenuItemVariantClass, dropdownMenuLabelClass, dropdownMenuSeparatorClass, dropdownMenuShortcutClass, emptyStateActionsSpacingClass, emptyStateBaseClass, emptyStateContainerSizeClass, emptyStateDescriptionSizeClass, emptyStateIconWrapperBaseClass, emptyStateIconWrapperSizeClass, emptyStateTitleSizeClass, formPageActionsBarClass, formPageBaseClass, formPageBodyClass, formPageSkeletonRowClass, inputBaseClass, inputSizeClass, inputVariantClass, multiSelectChipClass, multiSelectChipRemoveClass, multiSelectContentClass, multiSelectEmptyClass, multiSelectListClass, multiSelectOptionClass, multiSelectSearchRowClass, multiSelectTriggerSizeClass, multiSelectValueRowClass, pageHeaderActionsClass, pageHeaderBackClass, pageHeaderBackIconClass, pageHeaderBaseClass, pageHeaderBorderedClass, pageHeaderBreadcrumbsClass, pageHeaderDescriptionClass, pageHeaderTitleBlockClass, pageHeaderTitleClass, pageHeaderTitleRowClass, radioGroupBaseClass, radioGroupOrientationClass, radioIndicatorBaseClass, radioIndicatorDotClass, radioIndicatorSizeClass, radioItemBaseClass, radioItemSizeClass, radioLabelSizeClass, radioOptionRowClass, selectBaseClass, selectSizeClass, selectVariantClass, switchThumbBaseClass, switchThumbClass, switchTrackBaseClass, switchTrackClass, alignClass as tableAlignClass, tableBaseClass, selectedRowClass as tableSelectedRowClass, tableSizeClass, sortIconClass as tableSortIconClass, textareaBaseClass, textareaResizeClass, textareaSizeClass, textareaVariantClass, toastClassNames, tooltipArrowClass, tooltipContentClass, useConfirm, useDashboardLayout, useDirection };
2454
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, type AlertDialogFooterProps, AlertDialogHeader, type AlertDialogHeaderProps, AlertDialogOverlay, type AlertDialogOverlayProps, AlertDialogPortal, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, AppShell, type AppShellBrand, type AppShellNavGroup, type AppShellNavItem, type AppShellProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BadgeSize, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Checkbox, type CheckboxProps, type CheckboxSize, type Column, type ColumnAlign, type ConfirmDialogLabels, ConfirmDialogProvider, type ConfirmDialogProviderProps, type ConfirmOptions, type CustomRowAction, DashboardContent, type DashboardContentProps, DashboardHeader, type DashboardHeaderProps, DashboardLayout, type DashboardLayoutContextValue, type DashboardLayoutProps, DashboardMain, type DashboardMainProps, DatePicker, type DatePickerProps, type DatePickerSize, type DatePickerVariant, DetailPage, type DetailPageLabels, type DetailPageNotFoundState, type DetailPageProps, Dialog, DialogClose, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogOverlay, type DialogOverlayProps, DialogPortal, DialogTitle, type DialogTitleProps, DialogTrigger, type Direction, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuItemVariant, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuShortcut, type DropdownMenuShortcutProps, DropdownMenuTrigger, EmptyState, type EmptyStateProps, type EmptyStateSize, Field, type FieldOrientation, type FieldProps, type FieldRHFProps, FileUpload, type FileUploadError, type FileUploadErrorCode, type FileUploadLabels, type FileUploadProps, FormPage, type FormPageLabels, type FormPageProps, HeaderActions, type HeaderActionsProps, HeaderCollapseTrigger, type HeaderCollapseTriggerProps, HeaderMobileTrigger, type HeaderMobileTriggerProps, HeaderSearch, type HeaderSearchProps, HeaderTitle, type HeaderTitleProps, Input, type InputProps, type InputSize, type InputVariant, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, ListPage, type ListPageDateFilter, type ListPageEmptyState, type ListPageFilter, type ListPageFilterWidth, type ListPageLabels, type ListPageMultiSelectFilter, type ListPageProps, type ListPageSelectFilter, type ListPageTextFilter, MultiSelect, type MultiSelectLabels, type MultiSelectProps, PageHeader, type PageHeaderBackProps, type PageHeaderBackRenderProps, type PageHeaderHeadingLevel, type PageHeaderProps, type PaginationState, type PresetRowAction, RadioGroup, RadioGroupItem, type RadioGroupOption, type RadioGroupOrientation, type RadioGroupProps, type RadioGroupSize, type RowAction, RowActions, type RowActionsProps, type RowSelectionState, Select, type SelectOption, type SelectProps, type SelectSize, type SelectVariant, Sidebar, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarNav, SidebarNavGroup, type SidebarNavGroupProps, SidebarNavItem, type SidebarNavItemProps, type SidebarNavItemRenderProps, type SidebarNavProps, type SidebarProps, type SortDirection, type SortState, Switch, type SwitchProps, type SwitchSize, Table, type TableLabels, type TableProps, type TableSize, type TableSizeClasses, Textarea, type TextareaProps, type TextareaResize, type TextareaSize, type TextareaVariant, Toaster, type ToasterProps, Tooltip, type TooltipProps, TooltipProvider, type TooltipProviderProps, badgeBaseClass, badgeDotSizeClass, badgeSizeClass, badgeVariantClass, buttonBaseClass, buttonSizeClass, buttonVariantClass, cn, datePickerCalendarClass, datePickerCaptionClass, datePickerContentClass, datePickerDayBaseClass, datePickerDayWrapperClass, datePickerDisabledClass, datePickerMonthClass, datePickerMonthGridClass, datePickerMonthsClass, datePickerNavButtonClass, datePickerNavClass, datePickerOutsideClass, datePickerPlaceholderClass, datePickerSelectedClass, datePickerTodayClass, datePickerTriggerBaseClass, datePickerTriggerSizeClass, datePickerTriggerVariantClass, datePickerValueClass, datePickerWeekClass, datePickerWeekdayClass, datePickerWeekdaysClass, detailPageBaseClass, detailPageBodyClass, detailPageEmptyClass, detailPageSkeletonRowClass, dialogCloseButtonClass, dialogContentClass, dialogDescriptionClass, dialogFooterClass, dialogHeaderClass, dialogOverlayClass, dialogTitleClass, dropdownMenuContentClass, dropdownMenuItemBaseClass, dropdownMenuItemInsetClass, dropdownMenuItemVariantClass, dropdownMenuLabelClass, dropdownMenuSeparatorClass, dropdownMenuShortcutClass, emptyStateActionsSpacingClass, emptyStateBaseClass, emptyStateContainerSizeClass, emptyStateDescriptionSizeClass, emptyStateIconWrapperBaseClass, emptyStateIconWrapperSizeClass, emptyStateTitleSizeClass, fileUploadBaseClass, fileUploadDropzoneClass, fileUploadFileNameClass, fileUploadFileRowClass, fileUploadFileSizeClass, fileUploadHintClass, fileUploadIconClass, fileUploadPromptClass, fileUploadRemoveClass, formPageActionsBarClass, formPageBaseClass, formPageBodyClass, formPageSkeletonRowClass, inputBaseClass, inputSizeClass, inputVariantClass, multiSelectChipClass, multiSelectChipRemoveClass, multiSelectContentClass, multiSelectEmptyClass, multiSelectListClass, multiSelectOptionClass, multiSelectSearchRowClass, multiSelectTriggerSizeClass, multiSelectValueRowClass, pageHeaderActionsClass, pageHeaderBackClass, pageHeaderBackIconClass, pageHeaderBaseClass, pageHeaderBorderedClass, pageHeaderBreadcrumbsClass, pageHeaderDescriptionClass, pageHeaderTitleBlockClass, pageHeaderTitleClass, pageHeaderTitleRowClass, radioGroupBaseClass, radioGroupOrientationClass, radioIndicatorBaseClass, radioIndicatorDotClass, radioIndicatorSizeClass, radioItemBaseClass, radioItemSizeClass, radioLabelSizeClass, radioOptionRowClass, rowActionsBaseClass, rowActionsDestructiveClass, selectBaseClass, selectSizeClass, selectVariantClass, switchThumbBaseClass, switchThumbClass, switchTrackBaseClass, switchTrackClass, alignClass as tableAlignClass, tableBaseClass, selectedRowClass as tableSelectedRowClass, tableSizeClass, sortIconClass as tableSortIconClass, textareaBaseClass, textareaResizeClass, textareaSizeClass, textareaVariantClass, toastClassNames, tooltipArrowClass, tooltipContentClass, useConfirm, useDashboardLayout, useDirection };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ComponentPropsWithoutRef, HTMLAttributes, ReactNode, ButtonHTMLAttributes, ReactElement, InputHTMLAttributes, ChangeEvent, FormEventHandler, FieldsetHTMLAttributes, Ref, TextareaHTMLAttributes } from 'react';
3
+ import { ComponentPropsWithoutRef, HTMLAttributes, ReactNode, ButtonHTMLAttributes, ReactElement, InputHTMLAttributes, ChangeEvent, ForwardRefExoticComponent, RefAttributes, FormEventHandler, FieldsetHTMLAttributes, Ref, TextareaHTMLAttributes } from 'react';
4
4
  import * as RadixAlertDialog from '@radix-ui/react-alert-dialog';
5
5
  import { LinkProps } from 'react-router-dom';
6
6
  import { Locale } from 'react-day-picker';
@@ -390,7 +390,7 @@ type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructiv
390
390
  type ButtonSize = 'sm' | 'md' | 'lg' | 'icon' | 'icon-sm';
391
391
  declare const buttonVariantClass: Record<ButtonVariant, string>;
392
392
  declare const buttonSizeClass: Record<ButtonSize, string>;
393
- declare const buttonBaseClass = "group/button relative inline-flex items-center justify-center font-medium select-none whitespace-nowrap outline-none transition-[background-color,color,box-shadow,opacity] focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0";
393
+ declare const buttonBaseClass = "group/button relative inline-flex items-center justify-center font-medium select-none whitespace-nowrap outline-none transition-[background-color,color,box-shadow,opacity,transform] active:scale-[0.98] focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 motion-reduce:transition-none motion-reduce:active:scale-100 [&_svg]:pointer-events-none [&_svg]:shrink-0";
394
394
 
395
395
  interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
396
396
  variant?: ButtonVariant;
@@ -1029,6 +1029,117 @@ type FieldProps<TValues extends FieldValues = FieldValues, TName extends FieldPa
1029
1029
  */
1030
1030
  declare function Field<TValues extends FieldValues = FieldValues, TName extends FieldPath<TValues> = FieldPath<TValues>>(props: FieldProps<TValues, TName>): ReactElement;
1031
1031
 
1032
+ type FileUploadErrorCode = 'file-too-large' | 'file-type-rejected';
1033
+ interface FileUploadError {
1034
+ code: FileUploadErrorCode;
1035
+ /** Direction-aware human-readable message. */
1036
+ message: string;
1037
+ /** The rejected file. */
1038
+ file: File;
1039
+ }
1040
+ interface FileUploadLabels {
1041
+ /** Empty-dropzone prompt. Direction-aware default. */
1042
+ prompt?: string;
1043
+ /** Hint line under the prompt. Defaults to `Max {maxSize} MB` (direction-aware). */
1044
+ hint?: string;
1045
+ /** aria-label prefix for the remove (×) button. Direction-aware default. */
1046
+ remove?: string;
1047
+ }
1048
+ interface FileUploadBaseProps {
1049
+ /** Native `accept` filter (e.g. `"image/*,.pdf"`). Also enforced on drop. */
1050
+ accept?: string;
1051
+ /** Max size per file, in MB. Defaults to `5`. */
1052
+ maxSize?: number;
1053
+ disabled?: boolean;
1054
+ /** Marks the underlying input required (for form validation). */
1055
+ required?: boolean;
1056
+ /** Native form name. */
1057
+ name?: string;
1058
+ /** Override id (otherwise auto-generated via useId). */
1059
+ id?: string;
1060
+ /** Fires when a file is rejected by `accept` / `maxSize`. */
1061
+ onError?: (error: FileUploadError) => void;
1062
+ /** Called when focus leaves the input. */
1063
+ onBlur?: () => void;
1064
+ /** Localized copy. */
1065
+ labels?: FileUploadLabels;
1066
+ /** Class on the outer wrapper. */
1067
+ className?: string;
1068
+ 'aria-invalid'?: boolean | 'true' | 'false';
1069
+ 'aria-describedby'?: string;
1070
+ 'aria-label'?: string;
1071
+ }
1072
+ /**
1073
+ * Discriminated on `multiple`: the value is `File | null` for single mode and
1074
+ * `File[]` for multiple mode.
1075
+ */
1076
+ type FileUploadProps = FileUploadBaseProps & ({
1077
+ multiple?: false;
1078
+ value?: File | null;
1079
+ defaultValue?: File | null;
1080
+ onValueChange?: (file: File | null) => void;
1081
+ onChange?: (file: File | null) => void;
1082
+ } | {
1083
+ multiple: true;
1084
+ value?: File[];
1085
+ defaultValue?: File[];
1086
+ onValueChange?: (files: File[]) => void;
1087
+ onChange?: (files: File[]) => void;
1088
+ });
1089
+ /**
1090
+ * Drag-and-drop file picker. **Bare control** (no inline label/error) — wrap in
1091
+ * `<Field label="…">` for label + helper + error wiring (ADR-007). Discriminated
1092
+ * on `multiple`: value is `File | null` (single) or `File[]` (multiple).
1093
+ *
1094
+ * Rejected files (by `accept` / `maxSize`) are not added and reported through
1095
+ * `onError` — surface them via `toast(...)` or the wrapping `<Field>` error.
1096
+ * Direction-aware copy (EN / AR) via `useDirection()`; override with `labels`.
1097
+ *
1098
+ * @example Single file inside a Field (RHF + Zod)
1099
+ * ```tsx
1100
+ * <Field name="cv" label="CV (PDF)" required>
1101
+ * <FileUpload accept=".pdf" maxSize={10} onError={(e) => toast.error(e.message)} />
1102
+ * </Field>
1103
+ * ```
1104
+ *
1105
+ * @example Multiple files, controlled
1106
+ * ```tsx
1107
+ * <FileUpload
1108
+ * multiple
1109
+ * accept="image/*"
1110
+ * value={images}
1111
+ * onValueChange={setImages}
1112
+ * aria-label="Gallery images"
1113
+ * />
1114
+ * ```
1115
+ */
1116
+ declare const FileUpload: ForwardRefExoticComponent<FileUploadProps & RefAttributes<HTMLDivElement>>;
1117
+
1118
+ /**
1119
+ * FileUpload styling. The dropzone is a `<label>` whose state is driven by
1120
+ * `data-drag-active` / `data-invalid` / `data-disabled` and the focus ring of
1121
+ * the visually-hidden `peer` input. Re-exported from `src/index.ts` so consumers
1122
+ * can compose the same look onto custom elements.
1123
+ */
1124
+ /** Outer wrapper — owns the drag handlers + stacks the dropzone and file rows. */
1125
+ declare const fileUploadBaseClass = "flex w-full min-w-0 flex-col gap-2";
1126
+ /** The clickable / drop target. */
1127
+ declare const fileUploadDropzoneClass: string;
1128
+ /** Upload glyph in the empty dropzone. */
1129
+ declare const fileUploadIconClass = "size-8 text-muted-foreground";
1130
+ /** Primary prompt line. */
1131
+ declare const fileUploadPromptClass = "text-sm text-foreground";
1132
+ /** Secondary hint line (size limit, etc.). */
1133
+ declare const fileUploadHintClass = "text-xs text-muted-foreground";
1134
+ /** A selected-file row (icon + name/size + remove). */
1135
+ declare const fileUploadFileRowClass = "flex items-center justify-between gap-2 rounded-md border border-border bg-card px-3 py-2";
1136
+ /** File name (truncates). */
1137
+ declare const fileUploadFileNameClass = "truncate text-sm font-medium text-foreground";
1138
+ /** File size sub-label. */
1139
+ declare const fileUploadFileSizeClass = "text-xs text-muted-foreground";
1140
+ /** The per-file "×" remove button. */
1141
+ declare const fileUploadRemoveClass = "inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50";
1142
+
1032
1143
  interface FormPageLabels {
1033
1144
  /** Back button label (top-left). Direction-aware default: `"Back"` / `"رجوع"`. */
1034
1145
  back?: string;
@@ -1990,6 +2101,85 @@ declare const RadioGroupItem: react.ForwardRefExoticComponent<Omit<RadixRadioGro
1990
2101
  radioSize?: RadioGroupSize;
1991
2102
  } & react.RefAttributes<HTMLButtonElement>>;
1992
2103
 
2104
+ /** Recurring action with a baked icon, default label, and styling. */
2105
+ interface PresetRowAction {
2106
+ /** 'view' (Eye), 'edit' (Pencil), or 'delete' (Trash2, destructive). */
2107
+ kind: 'view' | 'edit' | 'delete';
2108
+ /** Click handler. */
2109
+ onClick: () => void;
2110
+ /** Override the default accessible label (e.g. for i18n: 'تعديل'). */
2111
+ label?: string;
2112
+ /** Disable this single action. */
2113
+ disabled?: boolean;
2114
+ }
2115
+ /** Custom action for anything outside the presets. */
2116
+ interface CustomRowAction {
2117
+ /** Icon element, e.g. <Archive />. */
2118
+ icon: ReactNode;
2119
+ /** Accessible label — used as the button's aria-label. Required. */
2120
+ label: string;
2121
+ /** Click handler. */
2122
+ onClick: () => void;
2123
+ /** Destructive (red) styling. Defaults to 'default'. */
2124
+ variant?: 'default' | 'destructive';
2125
+ /** Disable this single action. */
2126
+ disabled?: boolean;
2127
+ }
2128
+ type RowAction = PresetRowAction | CustomRowAction;
2129
+ interface RowActionsProps {
2130
+ /** Actions rendered in array order (the flex row flips in RTL). */
2131
+ actions: RowAction[];
2132
+ /** Button size. Defaults to 'icon-sm'. */
2133
+ size?: 'icon-sm' | 'icon';
2134
+ /** Extra classes on the wrapping element. */
2135
+ className?: string;
2136
+ }
2137
+ /**
2138
+ * Inline icon action buttons for table rows (or anywhere). Pass a single
2139
+ * `actions` array mixing presets (`kind: 'view' | 'edit' | 'delete'`) and
2140
+ * custom actions. Presets supply a standard icon, label, and destructive
2141
+ * styling (delete); custom actions provide their own icon/label/variant.
2142
+ *
2143
+ * Icon-only buttons get their accessible name from `label` (aria-label).
2144
+ * Destructive actions (the `delete` preset or `variant: 'destructive'`) are
2145
+ * styling only — wire your own confirmation inside `onClick`.
2146
+ *
2147
+ * @example Presets — the common case
2148
+ * ```tsx
2149
+ * <RowActions
2150
+ * actions={[
2151
+ * { kind: 'view', onClick: () => view(row) },
2152
+ * { kind: 'edit', onClick: () => edit(row) },
2153
+ * { kind: 'delete', onClick: () => remove(row), disabled: row.locked },
2154
+ * ]}
2155
+ * />
2156
+ * ```
2157
+ *
2158
+ * @example Custom action + i18n label override
2159
+ * ```tsx
2160
+ * <RowActions
2161
+ * actions={[
2162
+ * { kind: 'edit', label: 'تعديل', onClick: () => edit(row) },
2163
+ * { icon: <Archive />, label: 'Archive', onClick: () => archive(row) },
2164
+ * ]}
2165
+ * />
2166
+ * ```
2167
+ */
2168
+ declare function RowActions({ actions, size, className }: RowActionsProps): react_jsx_runtime.JSX.Element | null;
2169
+
2170
+ /**
2171
+ * Class constants for RowActions. Exported from the package root so consumers
2172
+ * can compose the same styling onto custom action buttons.
2173
+ */
2174
+ /** Wrapper around the inline action buttons. */
2175
+ declare const rowActionsBaseClass = "inline-flex items-center gap-1";
2176
+ /**
2177
+ * Classes layered onto a ghost Button for destructive actions (the `delete`
2178
+ * preset or `variant: 'destructive'`). Red icon + subtle red hover. Ordered
2179
+ * after the ghost variant so tailwind-merge lets these win.
2180
+ */
2181
+ declare const rowActionsDestructiveClass = "text-destructive hover:bg-destructive/10 hover:text-destructive focus-visible:ring-destructive/40";
2182
+
1993
2183
  type SwitchSize = 'sm' | 'md' | 'lg';
1994
2184
  /**
1995
2185
  * Each size is a tuple: track dimensions + thumb size + thumb travel distance.
@@ -2261,4 +2451,4 @@ declare function useDirection(): Direction;
2261
2451
 
2262
2452
  declare function cn(...inputs: ClassValue[]): string;
2263
2453
 
2264
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, type AlertDialogFooterProps, AlertDialogHeader, type AlertDialogHeaderProps, AlertDialogOverlay, type AlertDialogOverlayProps, AlertDialogPortal, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, AppShell, type AppShellBrand, type AppShellNavGroup, type AppShellNavItem, type AppShellProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BadgeSize, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Checkbox, type CheckboxProps, type CheckboxSize, type Column, type ColumnAlign, type ConfirmDialogLabels, ConfirmDialogProvider, type ConfirmDialogProviderProps, type ConfirmOptions, DashboardContent, type DashboardContentProps, DashboardHeader, type DashboardHeaderProps, DashboardLayout, type DashboardLayoutContextValue, type DashboardLayoutProps, DashboardMain, type DashboardMainProps, DatePicker, type DatePickerProps, type DatePickerSize, type DatePickerVariant, DetailPage, type DetailPageLabels, type DetailPageNotFoundState, type DetailPageProps, Dialog, DialogClose, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogOverlay, type DialogOverlayProps, DialogPortal, DialogTitle, type DialogTitleProps, DialogTrigger, type Direction, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuItemVariant, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuShortcut, type DropdownMenuShortcutProps, DropdownMenuTrigger, EmptyState, type EmptyStateProps, type EmptyStateSize, Field, type FieldOrientation, type FieldProps, type FieldRHFProps, FormPage, type FormPageLabels, type FormPageProps, HeaderActions, type HeaderActionsProps, HeaderCollapseTrigger, type HeaderCollapseTriggerProps, HeaderMobileTrigger, type HeaderMobileTriggerProps, HeaderSearch, type HeaderSearchProps, HeaderTitle, type HeaderTitleProps, Input, type InputProps, type InputSize, type InputVariant, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, ListPage, type ListPageDateFilter, type ListPageEmptyState, type ListPageFilter, type ListPageFilterWidth, type ListPageLabels, type ListPageMultiSelectFilter, type ListPageProps, type ListPageSelectFilter, type ListPageTextFilter, MultiSelect, type MultiSelectLabels, type MultiSelectProps, PageHeader, type PageHeaderBackProps, type PageHeaderBackRenderProps, type PageHeaderHeadingLevel, type PageHeaderProps, type PaginationState, RadioGroup, RadioGroupItem, type RadioGroupOption, type RadioGroupOrientation, type RadioGroupProps, type RadioGroupSize, type RowSelectionState, Select, type SelectOption, type SelectProps, type SelectSize, type SelectVariant, Sidebar, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarNav, SidebarNavGroup, type SidebarNavGroupProps, SidebarNavItem, type SidebarNavItemProps, type SidebarNavItemRenderProps, type SidebarNavProps, type SidebarProps, type SortDirection, type SortState, Switch, type SwitchProps, type SwitchSize, Table, type TableLabels, type TableProps, type TableSize, type TableSizeClasses, Textarea, type TextareaProps, type TextareaResize, type TextareaSize, type TextareaVariant, Toaster, type ToasterProps, Tooltip, type TooltipProps, TooltipProvider, type TooltipProviderProps, badgeBaseClass, badgeDotSizeClass, badgeSizeClass, badgeVariantClass, buttonBaseClass, buttonSizeClass, buttonVariantClass, cn, datePickerCalendarClass, datePickerCaptionClass, datePickerContentClass, datePickerDayBaseClass, datePickerDayWrapperClass, datePickerDisabledClass, datePickerMonthClass, datePickerMonthGridClass, datePickerMonthsClass, datePickerNavButtonClass, datePickerNavClass, datePickerOutsideClass, datePickerPlaceholderClass, datePickerSelectedClass, datePickerTodayClass, datePickerTriggerBaseClass, datePickerTriggerSizeClass, datePickerTriggerVariantClass, datePickerValueClass, datePickerWeekClass, datePickerWeekdayClass, datePickerWeekdaysClass, detailPageBaseClass, detailPageBodyClass, detailPageEmptyClass, detailPageSkeletonRowClass, dialogCloseButtonClass, dialogContentClass, dialogDescriptionClass, dialogFooterClass, dialogHeaderClass, dialogOverlayClass, dialogTitleClass, dropdownMenuContentClass, dropdownMenuItemBaseClass, dropdownMenuItemInsetClass, dropdownMenuItemVariantClass, dropdownMenuLabelClass, dropdownMenuSeparatorClass, dropdownMenuShortcutClass, emptyStateActionsSpacingClass, emptyStateBaseClass, emptyStateContainerSizeClass, emptyStateDescriptionSizeClass, emptyStateIconWrapperBaseClass, emptyStateIconWrapperSizeClass, emptyStateTitleSizeClass, formPageActionsBarClass, formPageBaseClass, formPageBodyClass, formPageSkeletonRowClass, inputBaseClass, inputSizeClass, inputVariantClass, multiSelectChipClass, multiSelectChipRemoveClass, multiSelectContentClass, multiSelectEmptyClass, multiSelectListClass, multiSelectOptionClass, multiSelectSearchRowClass, multiSelectTriggerSizeClass, multiSelectValueRowClass, pageHeaderActionsClass, pageHeaderBackClass, pageHeaderBackIconClass, pageHeaderBaseClass, pageHeaderBorderedClass, pageHeaderBreadcrumbsClass, pageHeaderDescriptionClass, pageHeaderTitleBlockClass, pageHeaderTitleClass, pageHeaderTitleRowClass, radioGroupBaseClass, radioGroupOrientationClass, radioIndicatorBaseClass, radioIndicatorDotClass, radioIndicatorSizeClass, radioItemBaseClass, radioItemSizeClass, radioLabelSizeClass, radioOptionRowClass, selectBaseClass, selectSizeClass, selectVariantClass, switchThumbBaseClass, switchThumbClass, switchTrackBaseClass, switchTrackClass, alignClass as tableAlignClass, tableBaseClass, selectedRowClass as tableSelectedRowClass, tableSizeClass, sortIconClass as tableSortIconClass, textareaBaseClass, textareaResizeClass, textareaSizeClass, textareaVariantClass, toastClassNames, tooltipArrowClass, tooltipContentClass, useConfirm, useDashboardLayout, useDirection };
2454
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, type AlertDialogFooterProps, AlertDialogHeader, type AlertDialogHeaderProps, AlertDialogOverlay, type AlertDialogOverlayProps, AlertDialogPortal, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, AppShell, type AppShellBrand, type AppShellNavGroup, type AppShellNavItem, type AppShellProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BadgeSize, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Checkbox, type CheckboxProps, type CheckboxSize, type Column, type ColumnAlign, type ConfirmDialogLabels, ConfirmDialogProvider, type ConfirmDialogProviderProps, type ConfirmOptions, type CustomRowAction, DashboardContent, type DashboardContentProps, DashboardHeader, type DashboardHeaderProps, DashboardLayout, type DashboardLayoutContextValue, type DashboardLayoutProps, DashboardMain, type DashboardMainProps, DatePicker, type DatePickerProps, type DatePickerSize, type DatePickerVariant, DetailPage, type DetailPageLabels, type DetailPageNotFoundState, type DetailPageProps, Dialog, DialogClose, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogOverlay, type DialogOverlayProps, DialogPortal, DialogTitle, type DialogTitleProps, DialogTrigger, type Direction, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuItemVariant, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuShortcut, type DropdownMenuShortcutProps, DropdownMenuTrigger, EmptyState, type EmptyStateProps, type EmptyStateSize, Field, type FieldOrientation, type FieldProps, type FieldRHFProps, FileUpload, type FileUploadError, type FileUploadErrorCode, type FileUploadLabels, type FileUploadProps, FormPage, type FormPageLabels, type FormPageProps, HeaderActions, type HeaderActionsProps, HeaderCollapseTrigger, type HeaderCollapseTriggerProps, HeaderMobileTrigger, type HeaderMobileTriggerProps, HeaderSearch, type HeaderSearchProps, HeaderTitle, type HeaderTitleProps, Input, type InputProps, type InputSize, type InputVariant, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, ListPage, type ListPageDateFilter, type ListPageEmptyState, type ListPageFilter, type ListPageFilterWidth, type ListPageLabels, type ListPageMultiSelectFilter, type ListPageProps, type ListPageSelectFilter, type ListPageTextFilter, MultiSelect, type MultiSelectLabels, type MultiSelectProps, PageHeader, type PageHeaderBackProps, type PageHeaderBackRenderProps, type PageHeaderHeadingLevel, type PageHeaderProps, type PaginationState, type PresetRowAction, RadioGroup, RadioGroupItem, type RadioGroupOption, type RadioGroupOrientation, type RadioGroupProps, type RadioGroupSize, type RowAction, RowActions, type RowActionsProps, type RowSelectionState, Select, type SelectOption, type SelectProps, type SelectSize, type SelectVariant, Sidebar, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarNav, SidebarNavGroup, type SidebarNavGroupProps, SidebarNavItem, type SidebarNavItemProps, type SidebarNavItemRenderProps, type SidebarNavProps, type SidebarProps, type SortDirection, type SortState, Switch, type SwitchProps, type SwitchSize, Table, type TableLabels, type TableProps, type TableSize, type TableSizeClasses, Textarea, type TextareaProps, type TextareaResize, type TextareaSize, type TextareaVariant, Toaster, type ToasterProps, Tooltip, type TooltipProps, TooltipProvider, type TooltipProviderProps, badgeBaseClass, badgeDotSizeClass, badgeSizeClass, badgeVariantClass, buttonBaseClass, buttonSizeClass, buttonVariantClass, cn, datePickerCalendarClass, datePickerCaptionClass, datePickerContentClass, datePickerDayBaseClass, datePickerDayWrapperClass, datePickerDisabledClass, datePickerMonthClass, datePickerMonthGridClass, datePickerMonthsClass, datePickerNavButtonClass, datePickerNavClass, datePickerOutsideClass, datePickerPlaceholderClass, datePickerSelectedClass, datePickerTodayClass, datePickerTriggerBaseClass, datePickerTriggerSizeClass, datePickerTriggerVariantClass, datePickerValueClass, datePickerWeekClass, datePickerWeekdayClass, datePickerWeekdaysClass, detailPageBaseClass, detailPageBodyClass, detailPageEmptyClass, detailPageSkeletonRowClass, dialogCloseButtonClass, dialogContentClass, dialogDescriptionClass, dialogFooterClass, dialogHeaderClass, dialogOverlayClass, dialogTitleClass, dropdownMenuContentClass, dropdownMenuItemBaseClass, dropdownMenuItemInsetClass, dropdownMenuItemVariantClass, dropdownMenuLabelClass, dropdownMenuSeparatorClass, dropdownMenuShortcutClass, emptyStateActionsSpacingClass, emptyStateBaseClass, emptyStateContainerSizeClass, emptyStateDescriptionSizeClass, emptyStateIconWrapperBaseClass, emptyStateIconWrapperSizeClass, emptyStateTitleSizeClass, fileUploadBaseClass, fileUploadDropzoneClass, fileUploadFileNameClass, fileUploadFileRowClass, fileUploadFileSizeClass, fileUploadHintClass, fileUploadIconClass, fileUploadPromptClass, fileUploadRemoveClass, formPageActionsBarClass, formPageBaseClass, formPageBodyClass, formPageSkeletonRowClass, inputBaseClass, inputSizeClass, inputVariantClass, multiSelectChipClass, multiSelectChipRemoveClass, multiSelectContentClass, multiSelectEmptyClass, multiSelectListClass, multiSelectOptionClass, multiSelectSearchRowClass, multiSelectTriggerSizeClass, multiSelectValueRowClass, pageHeaderActionsClass, pageHeaderBackClass, pageHeaderBackIconClass, pageHeaderBaseClass, pageHeaderBorderedClass, pageHeaderBreadcrumbsClass, pageHeaderDescriptionClass, pageHeaderTitleBlockClass, pageHeaderTitleClass, pageHeaderTitleRowClass, radioGroupBaseClass, radioGroupOrientationClass, radioIndicatorBaseClass, radioIndicatorDotClass, radioIndicatorSizeClass, radioItemBaseClass, radioItemSizeClass, radioLabelSizeClass, radioOptionRowClass, rowActionsBaseClass, rowActionsDestructiveClass, selectBaseClass, selectSizeClass, selectVariantClass, switchThumbBaseClass, switchThumbClass, switchTrackBaseClass, switchTrackClass, alignClass as tableAlignClass, tableBaseClass, selectedRowClass as tableSelectedRowClass, tableSizeClass, sortIconClass as tableSortIconClass, textareaBaseClass, textareaResizeClass, textareaSizeClass, textareaVariantClass, toastClassNames, tooltipArrowClass, tooltipContentClass, useConfirm, useDashboardLayout, useDirection };