najm-kit 0.0.7 → 0.0.9

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
- import React__default, { ComponentType, ReactNode, MouseEventHandler, InputHTMLAttributes, Ref } from 'react';
3
+ import React__default, { RefObject, ComponentType, ReactNode, CSSProperties, MouseEvent, MouseEventHandler, InputHTMLAttributes, Ref } from 'react';
4
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
5
  import { VariantProps } from 'class-variance-authority';
6
6
  import * as LabelPrimitive from '@radix-ui/react-label';
@@ -17,6 +17,7 @@ import * as TabsPrimitive from '@radix-ui/react-tabs';
17
17
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
18
18
  import * as ProgressPrimitive from '@radix-ui/react-progress';
19
19
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
20
+ import { OverlayScrollbarsComponentProps } from 'overlayscrollbars-react';
20
21
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
21
22
  import { Command as Command$1 } from 'cmdk';
22
23
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
@@ -26,6 +27,7 @@ import * as react_hook_form from 'react-hook-form';
26
27
  import { FieldValues, FieldPath, ControllerProps, UseFormProps, SubmitHandler, UseFormReturn } from 'react-hook-form';
27
28
  import { Slot } from '@radix-ui/react-slot';
28
29
  import { LucideProps, LucideIcon } from 'lucide-react';
30
+ import * as SliderPrimitive from '@radix-ui/react-slider';
29
31
  import { ZodTypeAny, TypeOf } from 'zod';
30
32
  import { SortingState, ExpandedState, ColumnDef, Row, ColumnFiltersState, VisibilityState, RowSelectionState } from '@tanstack/react-table';
31
33
  export { N as NTableJson } from './NTableJson-tXqgfZI1.js';
@@ -35,6 +37,15 @@ import { ClassValue } from 'clsx';
35
37
  type NajmMode = 'light' | 'dark';
36
38
  type NajmAccent = 'neutral' | 'emerald' | 'green' | 'slate' | 'blue' | 'violet';
37
39
  type NajmPreset = 'light' | 'dark' | 'dark-emerald' | 'dark-green' | 'dark-slate' | 'dark-blue' | 'dark-violet';
40
+ /**
41
+ * Semantic border contrast preference. Components interpret this based on
42
+ * their role (surface container, input, floating surface, etc.) so a single
43
+ * app-wide value can drive border contrast for many components at once.
44
+ */
45
+ type NajmBorderDegree = 'none' | 'subtle' | 'default' | 'strong';
46
+ interface NajmAppearance {
47
+ borderDegree?: NajmBorderDegree;
48
+ }
38
49
  interface NajmThemeTokens {
39
50
  background?: string;
40
51
  foreground?: string;
@@ -55,6 +66,8 @@ interface NajmThemeTokens {
55
66
  destructive?: string;
56
67
  'destructive-foreground'?: string;
57
68
  border?: string;
69
+ 'border-subtle'?: string;
70
+ 'border-strong'?: string;
58
71
  input?: string;
59
72
  ring?: string;
60
73
  radius?: string;
@@ -67,20 +80,47 @@ interface NajmThemeProviderProps {
67
80
  /** When true, only inject accent tokens (primary, ring, accent and their foregrounds).
68
81
  * Everything else (bg, card, fg…) is inherited from the parent cascade. */
69
82
  accentOnly?: boolean;
83
+ /** App-wide UI preferences (currently border contrast). */
84
+ appearance?: NajmAppearance;
70
85
  className?: string;
71
86
  asChild?: boolean;
72
87
  children: React.ReactNode;
73
88
  }
74
89
 
75
- declare function NajmThemeProvider({ preset, mode, accent, tokens, accentOnly, className, asChild, children, }: NajmThemeProviderProps): react_jsx_runtime.JSX.Element;
90
+ declare function useNajmAppearance(): Required<NajmAppearance>;
91
+ declare function NajmThemeProvider({ preset, mode, accent, tokens, accentOnly, appearance, className, asChild, children, }: NajmThemeProviderProps): react_jsx_runtime.JSX.Element;
76
92
 
77
93
  declare function composePreset(mode: NajmMode, accent: NajmAccent): NajmThemeTokens;
78
94
  declare function resolvePreset(preset: NajmPreset): NajmThemeTokens;
79
95
 
96
+ interface BorderResolutionOptions {
97
+ borderDegree?: NajmBorderDegree;
98
+ bordered?: boolean;
99
+ fallback?: NajmBorderDegree;
100
+ }
101
+ declare function resolveBorderDegree(borderDegree: NajmBorderDegree | undefined, bordered: boolean | undefined, globalBorderDegree: NajmBorderDegree | undefined, fallback?: NajmBorderDegree): NajmBorderDegree;
102
+ declare function borderColorClassForDegree(degree: NajmBorderDegree): string;
103
+ declare function inputBorderColorClassForDegree(degree: NajmBorderDegree): string;
104
+ declare function useResolvedBorderDegree(options?: BorderResolutionOptions): NajmBorderDegree;
105
+ declare function surfaceBorderClasses(degree: NajmBorderDegree): string;
106
+
80
107
  interface KeyboardOptions {
81
108
  enabled?: boolean;
82
109
  preventDefault?: boolean;
110
+ /**
111
+ * When `true` (default), ignore key events that originate inside editable
112
+ * text fields: `<input type="text|search|email|password|tel|url|number|...">`,
113
+ * `<textarea>`, `<select>`, `[contenteditable]`, and `[role="combobox"]`.
114
+ * Non-text inputs (checkbox, radio, button, submit) still pass through so
115
+ * shortcuts like Ctrl+A keep working from a focused row checkbox.
116
+ */
83
117
  ignoreInputs?: boolean;
118
+ /**
119
+ * When provided, only fire when the keydown's `e.target` is contained by
120
+ * this element. Useful for scoping shortcuts to one mounted component
121
+ * instance (e.g., one NTable on a page that contains several).
122
+ */
123
+ scopeRef?: RefObject<HTMLElement | null>;
84
124
  }
85
125
  declare function useKeyboard(shortcut: string, handler: (e: KeyboardEvent) => void, options?: KeyboardOptions): void;
86
126
 
@@ -133,7 +173,7 @@ type NIconProps = Omit<React__default.HTMLAttributes<HTMLElement>, "children"> &
133
173
  declare const NIcon: React__default.FC<NIconProps>;
134
174
 
135
175
  declare const buttonVariants: (props?: {
136
- variant?: "secondary" | "tertiary" | "destructive" | "default" | "outline" | "link" | "ghost" | "success" | "warning" | "info" | "soft" | "subtle" | "plain";
176
+ variant?: "subtle" | "default" | "secondary" | "tertiary" | "destructive" | "outline" | "link" | "ghost" | "success" | "warning" | "info" | "soft" | "plain";
137
177
  size?: "default" | "icon" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "icon-xs" | "icon-sm" | "icon-lg" | "icon-xl";
138
178
  rounded?: "none" | "default" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
139
179
  fullWidth?: boolean;
@@ -155,6 +195,8 @@ interface ButtonProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElemen
155
195
  loaderPosition?: ButtonLoaderPosition;
156
196
  leftIcon?: ButtonIcon;
157
197
  rightIcon?: ButtonIcon;
198
+ bordered?: boolean;
199
+ borderDegree?: NajmBorderDegree;
158
200
  onClick?: AsyncClickHandler;
159
201
  }
160
202
  type NButtonProps = ButtonProps;
@@ -162,7 +204,7 @@ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.Re
162
204
  declare const NButton: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
163
205
 
164
206
  declare const badgeVariants: (props?: {
165
- variant?: "secondary" | "destructive" | "default" | "outline" | "success" | "warning";
207
+ variant?: "default" | "secondary" | "destructive" | "outline" | "success" | "warning";
166
208
  } & class_variance_authority_types.ClassProp) => string;
167
209
  declare const badgeColorVariants: (props?: {
168
210
  color?: "neutral" | "primary" | "accent" | "secondary" | "destructive" | "success" | "warning" | "info";
@@ -199,6 +241,32 @@ declare const NBadge: typeof Badge;
199
241
  type NBadgeLook = BadgeDisplayLook;
200
242
  type NBadgeProps = BadgeProps;
201
243
 
244
+ type IndicatorVertical = "top" | "middle" | "bottom";
245
+ type IndicatorHorizontal = "start" | "center" | "end";
246
+ type IndicatorPosition = `${IndicatorVertical}-${IndicatorHorizontal}`;
247
+ type IndicatorResponsivePosition = Partial<Record<"base" | "sm" | "md" | "lg" | "xl" | "2xl", IndicatorPosition>>;
248
+ type IndicatorOverlay = "dot" | "status" | "badge" | "button" | "custom";
249
+ type IndicatorSize = "sm" | "md" | "lg";
250
+ interface IndicatorProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children" | "content" | "color" | "default"> {
251
+ children: React$1.ReactNode;
252
+ position?: IndicatorPosition | IndicatorResponsivePosition;
253
+ overlay?: IndicatorOverlay;
254
+ color?: BadgeColor;
255
+ size?: IndicatorSize;
256
+ shape?: BadgeShape;
257
+ content?: React$1.ReactNode;
258
+ ping?: boolean;
259
+ pulse?: boolean;
260
+ className?: string;
261
+ overlayClassName?: string;
262
+ }
263
+ declare const indicatorVariants: (props?: {} & class_variance_authority_types.ClassProp) => string;
264
+ declare function NIndicator({ children, position, overlay, color, size, shape, content, ping, pulse, className, overlayClassName, ...rest }: IndicatorProps): react_jsx_runtime.JSX.Element;
265
+ declare namespace NIndicator {
266
+ var displayName: string;
267
+ }
268
+ declare const Indicator: typeof NIndicator;
269
+
202
270
  declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
203
271
 
204
272
  declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
@@ -236,6 +304,7 @@ type DialogWidth = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | '3xl' | '4xl' | '5xl' | '
236
304
  type DialogHeight = 'auto' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'full';
237
305
  type RenderSlot<T = any> = T | ((ctx: T) => ReactNode);
238
306
 
307
+ type DialogActionMode = "auto" | "dialog" | "content";
239
308
  interface ButtonConfig {
240
309
  text: string;
241
310
  variant?: "default" | "destructive" | "secondary" | "outline" | "tertiary" | "ghost";
@@ -247,6 +316,16 @@ interface ButtonConfig {
247
316
  disabled?: boolean;
248
317
  form?: string;
249
318
  }
319
+ interface DialogRenderContext {
320
+ dialog: DialogConfig;
321
+ index: number;
322
+ zIndex: number;
323
+ close: (result?: any) => void;
324
+ confirm: (data?: any) => Promise<void>;
325
+ cancel: (data?: any) => Promise<void>;
326
+ onOpenChange: (open: boolean) => void;
327
+ }
328
+ type DialogRenderer = (context: DialogRenderContext) => ReactNode;
250
329
  interface DialogConfig {
251
330
  id: string;
252
331
  title?: string;
@@ -259,6 +338,8 @@ interface DialogConfig {
259
338
  width?: DialogWidth;
260
339
  height?: DialogHeight;
261
340
  className?: string;
341
+ actionMode?: DialogActionMode;
342
+ render?: DialogRenderer;
262
343
  }
263
344
  /** Internal store shape that adds promise handlers. */
264
345
  interface PromiseDialogConfig extends DialogConfig {
@@ -276,6 +357,14 @@ interface PushDialogOptions {
276
357
  width?: DialogWidth;
277
358
  height?: DialogHeight;
278
359
  className?: string;
360
+ /**
361
+ * Controls which layer owns action buttons.
362
+ * - auto: hide dialog buttons when content declares its own actions
363
+ * - dialog: always use the dialog footer
364
+ * - content: never render the dialog footer buttons
365
+ */
366
+ actionMode?: DialogActionMode;
367
+ render?: DialogRenderer;
279
368
  }
280
369
  interface DeleteDialogOptions {
281
370
  title?: string;
@@ -296,13 +385,13 @@ interface DialogApi {
296
385
  confirmDelete: (options: DeleteDialogOptions) => Promise<any>;
297
386
  closeAll: () => void;
298
387
  push: (options: PushDialogOptions) => Promise<any>;
299
- pop: (result?: any) => void;
388
+ pop: (result?: any) => Promise<void>;
300
389
  }
301
390
 
302
391
  interface DialogStoreState {
303
392
  dialogs: PromiseDialogConfig[];
304
393
  pushDialog: (config: PushDialogOptions) => Promise<any>;
305
- popDialog: (result?: any) => void;
394
+ popDialog: (result?: any) => Promise<void>;
306
395
  closeDialog: (id: string, result?: any) => void;
307
396
  closeAllDialogs: () => void;
308
397
  getCurrentDialog: () => PromiseDialogConfig | undefined;
@@ -329,7 +418,7 @@ interface NMultiDialogProps {
329
418
  store?: DialogStore;
330
419
  }
331
420
  declare function NMultiDialog({ store: storeProp }: NMultiDialogProps): react_jsx_runtime.JSX.Element;
332
- interface NDialogDirectProps extends PushDialogOptions {
421
+ interface NDialogDirectProps extends Omit<PushDialogOptions, "render"> {
333
422
  trigger?: React__default.ReactElement;
334
423
  open?: boolean;
335
424
  defaultOpen?: boolean;
@@ -362,7 +451,22 @@ interface NDeleteDialogContentProps {
362
451
  warningText?: string;
363
452
  className?: string;
364
453
  }
454
+ interface NDeleteDialogProps extends Omit<NDeleteDialogContentProps, "className"> {
455
+ open?: boolean;
456
+ title?: string;
457
+ description?: string;
458
+ confirmText?: string;
459
+ cancelText?: string;
460
+ loading?: boolean;
461
+ zIndex?: number;
462
+ className?: string;
463
+ contentClassName?: string;
464
+ onOpenChange?: (open: boolean) => void;
465
+ onConfirm?: () => void | Promise<void>;
466
+ onCancel?: () => void | Promise<void>;
467
+ }
365
468
  declare function NDeleteDialogContent({ itemName, itemType, icon: Icon, warningText, className, }: NDeleteDialogContentProps): react_jsx_runtime.JSX.Element;
469
+ declare function NDeleteDialog({ open, title, description, itemName, itemType, icon, warningText, confirmText, cancelText, loading, zIndex, className, contentClassName, onOpenChange, onConfirm, onCancel, }: NDeleteDialogProps): react_jsx_runtime.JSX.Element;
366
470
 
367
471
  declare function NPortalScopeProvider({ className, children }: {
368
472
  className?: string;
@@ -397,7 +501,7 @@ declare function NSheet({ open, onOpenChange, title, description, width, side, p
397
501
  declare function useDialog(store?: DialogStore): DialogApi;
398
502
 
399
503
  declare const alertVariants: (props?: {
400
- tone?: "destructive" | "default" | "error" | "success" | "warning" | "info";
504
+ tone?: "default" | "destructive" | "error" | "success" | "warning" | "info";
401
505
  look?: "solid" | "outline" | "soft" | "dash";
402
506
  size?: "sm" | "md" | "lg";
403
507
  orientation?: "horizontal" | "vertical" | "responsive";
@@ -514,6 +618,62 @@ interface TabsTriggerProps extends React$1.ComponentProps<typeof TabsPrimitive.T
514
618
  declare function TabsTrigger({ className, variant, ...props }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
515
619
  declare function TabsContent({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime.JSX.Element;
516
620
 
621
+ declare const TAB_COLORS: {
622
+ readonly default: {
623
+ readonly list: "bg-muted";
624
+ readonly active: "bg-background";
625
+ };
626
+ readonly primary: {
627
+ readonly list: "bg-primary/20";
628
+ readonly active: "bg-primary/50";
629
+ };
630
+ readonly card: {
631
+ readonly list: "bg-card";
632
+ readonly active: "bg-muted";
633
+ };
634
+ readonly ghost: {
635
+ readonly list: "bg-transparent";
636
+ readonly active: "bg-accent";
637
+ };
638
+ };
639
+ type NTabsColor = keyof typeof TAB_COLORS;
640
+
641
+ type NTabsItem<V extends string = string> = {
642
+ value: V;
643
+ label: React__default.ReactNode;
644
+ icon?: NIconSource;
645
+ content: React__default.ReactNode;
646
+ disabled?: boolean;
647
+ };
648
+ type NTabsClassNames = {
649
+ root?: string;
650
+ list?: string;
651
+ trigger?: string;
652
+ content?: string;
653
+ };
654
+ type NTabsStyles = {
655
+ root?: React__default.CSSProperties;
656
+ list?: React__default.CSSProperties;
657
+ trigger?: React__default.CSSProperties;
658
+ activeTrigger?: React__default.CSSProperties;
659
+ content?: React__default.CSSProperties;
660
+ };
661
+ interface NTabsProps<V extends string = string> {
662
+ items: NTabsItem<V>[];
663
+ defaultValue?: V;
664
+ value?: V;
665
+ onValueChange?: (value: V) => void;
666
+ variant?: TabsVariant;
667
+ orientation?: TabsOrientation;
668
+ color?: NTabsColor;
669
+ accentColor?: string;
670
+ fullWidth?: boolean;
671
+ className?: string;
672
+ classNames?: NTabsClassNames;
673
+ styles?: NTabsStyles;
674
+ }
675
+ declare function NTabs<V extends string = string>({ items, defaultValue, value, onValueChange, variant, orientation, color, accentColor, fullWidth, className, classNames, styles, }: NTabsProps<V>): react_jsx_runtime.JSX.Element;
676
+
517
677
  declare function TooltipProvider({ delayDuration, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Provider>): react_jsx_runtime.JSX.Element;
518
678
  declare function Tooltip({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Root>): react_jsx_runtime.JSX.Element;
519
679
  declare function TooltipTrigger({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
@@ -554,6 +714,28 @@ interface ScrollAreaProps extends React$1.HTMLAttributes<HTMLDivElement> {
554
714
  }
555
715
  declare function ScrollArea({ className, children, ...props }: ScrollAreaProps): react_jsx_runtime.JSX.Element;
556
716
 
717
+ interface NajmScrollProps extends Omit<OverlayScrollbarsComponentProps, "options" | "ref" | "element"> {
718
+ /** Host element tag. Defaults to "div". */
719
+ element?: keyof React$1.JSX.IntrinsicElements;
720
+ /** Which axes may scroll. Defaults to vertical only. */
721
+ axis?: "both" | "x" | "y";
722
+ /** Scrollbar auto-hide behaviour. Defaults to "never" (always visible while scrollable). */
723
+ autoHide?: "never" | "scroll" | "leave" | "move";
724
+ /** Receives the actual scroll viewport element (the node that scrolls), for measuring or scrollTo. */
725
+ viewportRef?: React$1.Ref<HTMLElement>;
726
+ options?: OverlayScrollbarsComponentProps["options"];
727
+ }
728
+ /**
729
+ * Scroll container with a custom overlay scrollbar (OverlayScrollbars).
730
+ *
731
+ * The bar floats over the content and reserves **no layout space** in every
732
+ * browser — unlike native scrollbars, which `overflow: auto` always reserves a
733
+ * gutter for. Children are rendered inside the scroll viewport, so put layout
734
+ * (grid/flex) classes on a child element, and sizing (`flex-1 min-h-0`,
735
+ * `max-h-*`, etc.) on this component.
736
+ */
737
+ declare function NajmScroll({ className, axis, autoHide, viewportRef, events, options, element, children, style, ...props }: NajmScrollProps): react_jsx_runtime.JSX.Element;
738
+
557
739
  type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
558
740
  type AvatarShape$1 = "circle" | "rounded" | "square";
559
741
  type AvatarStatusType = "online" | "offline" | "busy" | "away";
@@ -849,6 +1031,7 @@ interface CardClassNames {
849
1031
  }
850
1032
  interface CardProps {
851
1033
  children?: React__default.ReactNode;
1034
+ onClick?: () => void;
852
1035
  title?: string;
853
1036
  description?: string;
854
1037
  icon?: NIconSource;
@@ -865,10 +1048,12 @@ interface CardProps {
865
1048
  onRetry?: () => void;
866
1049
  noPadding?: boolean;
867
1050
  separator?: boolean;
1051
+ bordered?: boolean;
1052
+ borderDegree?: NajmBorderDegree;
868
1053
  className?: string;
869
1054
  classNames?: CardClassNames;
870
1055
  }
871
- declare function NCard({ children, title, description, icon, iconColor, loading, error, empty, noData, loadingText, errorText, emptyText, noDataText, skeleton, onRetry, noPadding, separator, className, classNames, }: CardProps): react_jsx_runtime.JSX.Element;
1056
+ declare function NCard({ children, title, description, icon, iconColor, loading, error, empty, noData, loadingText, errorText, emptyText, noDataText, skeleton, onRetry, noPadding, separator, bordered, borderDegree, className, classNames, onClick, }: CardProps): react_jsx_runtime.JSX.Element;
872
1057
 
873
1058
  declare function truncateByCharacters(text: string, maxCharacters: number, suffix?: string): string;
874
1059
  interface NSectionInfoProps {
@@ -952,6 +1137,8 @@ interface BaseProps$1 {
952
1137
  icon: NIconSource;
953
1138
  label: string;
954
1139
  onClick?: () => void;
1140
+ bordered?: boolean;
1141
+ borderDegree?: NajmBorderDegree;
955
1142
  className?: string;
956
1143
  classNames?: NStatCardClassNames;
957
1144
  }
@@ -1251,33 +1438,6 @@ interface NBulkActionsBarProps {
1251
1438
  */
1252
1439
  declare function NBulkActionsBar({ count, actions, onAction, onClear, busy, variant, className }: NBulkActionsBarProps): react_jsx_runtime.JSX.Element;
1253
1440
 
1254
- type NUploaderItemStatus = "uploading" | "done" | "error";
1255
- interface NUploaderItem {
1256
- id: string;
1257
- name: string;
1258
- size?: number;
1259
- mimeType?: string;
1260
- progress?: number;
1261
- status?: NUploaderItemStatus;
1262
- error?: string;
1263
- }
1264
- interface NUploaderProps {
1265
- title?: string;
1266
- subtitle?: string;
1267
- accept?: string;
1268
- multiple?: boolean;
1269
- disabled?: boolean;
1270
- items?: NUploaderItem[];
1271
- emptyListLabel?: string;
1272
- listTitle?: string;
1273
- className?: string;
1274
- dropzoneClassName?: string;
1275
- onFilesSelected?: (files: File[]) => void;
1276
- onCancel?: (id: string) => void;
1277
- onRemove?: (id: string) => void;
1278
- }
1279
- declare function NUploader({ title, subtitle, accept, multiple, disabled, items, listTitle, className, dropzoneClassName, onFilesSelected, onCancel, onRemove, }: NUploaderProps): react_jsx_runtime.JSX.Element;
1280
-
1281
1441
  type IconSize = "sm" | "md" | "lg" | "xl";
1282
1442
  interface NFileTypeIconProps {
1283
1443
  mimeType?: string;
@@ -1295,26 +1455,65 @@ interface NFolderIconProps {
1295
1455
  }
1296
1456
  declare function NFolderIcon({ size, className }: NFolderIconProps): react_jsx_runtime.JSX.Element;
1297
1457
 
1298
- interface BaseInputProps {
1299
- children: React__default.ReactNode;
1300
- variant?: "default" | "rounded" | "ghost";
1301
- status?: "default" | "error";
1302
- hasIcon?: boolean;
1303
- className?: string;
1458
+ type SliderVariant = "default" | "secondary" | "destructive" | "accent" | "success" | "warning" | "info";
1459
+ type SliderSize = "sm" | "md" | "lg";
1460
+ type SliderOrientation = "horizontal" | "vertical";
1461
+ declare const sliderVariants: (props?: {
1462
+ size?: "sm" | "md" | "lg";
1463
+ orientation?: "horizontal" | "vertical";
1464
+ } & class_variance_authority_types.ClassProp) => string;
1465
+ interface NSliderProps extends Omit<React$1.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>, "value" | "defaultValue" | "onValueChange" | "orientation" | "dir" | "asChild"> {
1466
+ value?: number | [number, number];
1467
+ defaultValue?: number | [number, number];
1468
+ onValueChange?: (value: number | [number, number]) => void;
1469
+ min?: number;
1470
+ max?: number;
1471
+ step?: number;
1472
+ variant?: SliderVariant;
1473
+ size?: SliderSize;
1474
+ orientation?: SliderOrientation;
1304
1475
  disabled?: boolean;
1305
- onHover?: () => void;
1306
- onClick?: () => void;
1476
+ showTooltip?: boolean;
1477
+ formatTooltip?: (n: number) => string;
1478
+ dir?: "ltr" | "rtl";
1479
+ name?: string;
1480
+ id?: string;
1481
+ "aria-label"?: string;
1482
+ "aria-labelledby"?: string;
1483
+ }
1484
+ declare function NSlider({ value: controlledValue, defaultValue, onValueChange, min, max, step, variant, size, orientation, disabled, showTooltip, formatTooltip, dir, name, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rest }: NSliderProps): react_jsx_runtime.JSX.Element;
1485
+ declare namespace NSlider {
1486
+ var displayName: string;
1487
+ }
1488
+
1489
+ interface SliderProps extends Omit<NSliderProps, "value" | "defaultValue" | "onValueChange"> {
1490
+ value: number[];
1491
+ onValueChange: (value: number[]) => void;
1492
+ }
1493
+ declare function Slider({ value, onValueChange, ...rest }: SliderProps): react_jsx_runtime.JSX.Element;
1494
+ interface SliderInputProps extends Omit<NSliderProps, "value" | "defaultValue" | "onValueChange" | "onChange"> {
1495
+ value?: number;
1496
+ onChange?: (value: number) => void;
1497
+ status?: "default" | "error";
1498
+ icon?: unknown;
1499
+ iconColor?: string;
1500
+ readOnly?: boolean;
1307
1501
  }
1308
- declare const BaseInput: React__default.FC<BaseInputProps>;
1502
+ declare function SliderInput({ value, onChange, status: _status, icon: _icon, iconColor: _iconColor, readOnly: _readOnly, ...rest }: SliderInputProps): react_jsx_runtime.JSX.Element;
1309
1503
 
1310
1504
  type InputIcon = string | ReactNode | ComponentType<{
1311
1505
  className?: string;
1312
- style?: React.CSSProperties;
1506
+ style?: CSSProperties;
1313
1507
  }>;
1508
+ declare const TAILWIND_COLORS: readonly ["black", "white", "gray", "slate", "zinc", "neutral", "stone", "red", "orange", "amber", "yellow", "green", "teal", "blue", "indigo", "purple"];
1509
+ type TailwindColor = "muted" | "primary" | "accent" | "success" | "warning" | "destructive" | typeof TAILWIND_COLORS[number];
1314
1510
  interface BaseProps {
1315
1511
  className?: string;
1316
1512
  variant?: "default" | "rounded" | "ghost";
1317
1513
  status?: "default" | "error";
1514
+ bordered?: boolean;
1515
+ borderDegree?: NajmBorderDegree;
1516
+ borderColor?: TailwindColor;
1318
1517
  iconColor?: string;
1319
1518
  }
1320
1519
  interface SelectItemType {
@@ -1401,9 +1600,7 @@ interface SwitchInputProps extends BaseProps {
1401
1600
  onChange: (checked: boolean) => void;
1402
1601
  label?: string;
1403
1602
  helper?: string;
1404
- icon?: string | ComponentType<{
1405
- className?: string;
1406
- }>;
1603
+ icon?: InputIcon;
1407
1604
  showIcon?: boolean;
1408
1605
  iconPosition?: "label" | "input";
1409
1606
  }
@@ -1498,6 +1695,19 @@ interface LangInputProps extends BaseProps {
1498
1695
  disabled?: boolean;
1499
1696
  }
1500
1697
 
1698
+ interface BaseInputProps extends React__default.HTMLAttributes<HTMLDivElement> {
1699
+ children: React__default.ReactNode;
1700
+ variant?: "default" | "rounded" | "ghost";
1701
+ status?: "default" | "error";
1702
+ bordered?: boolean;
1703
+ borderDegree?: NajmBorderDegree;
1704
+ borderColor?: TailwindColor;
1705
+ hasIcon?: boolean;
1706
+ disabled?: boolean;
1707
+ onHover?: () => void;
1708
+ }
1709
+ declare const BaseInput: React__default.ForwardRefExoticComponent<BaseInputProps & React__default.RefAttributes<HTMLDivElement>>;
1710
+
1501
1711
  declare const TextInput: React__default.FC<TextInputProps>;
1502
1712
 
1503
1713
  declare const NumberInput: React__default.FC<NumberInputProps>;
@@ -1516,7 +1726,7 @@ declare const RadioGroupInput: React__default.FC<RadioGroupInputProps>;
1516
1726
 
1517
1727
  declare const CheckboxInput: React__default.FC<CheckboxInputProps>;
1518
1728
 
1519
- declare function CheckboxGroupInput({ value, onChange, items, layout, className, variant, status, disabled, }: CheckboxGroupInputProps & {
1729
+ declare function CheckboxGroupInput({ value, onChange, items, layout, className, variant, status, bordered, borderDegree, borderColor, disabled, }: CheckboxGroupInputProps & {
1520
1730
  disabled?: boolean;
1521
1731
  }): react_jsx_runtime.JSX.Element;
1522
1732
 
@@ -1526,6 +1736,34 @@ declare const DateInput: React__default.FC<DateInputProps>;
1526
1736
 
1527
1737
  declare const FileInput: React__default.FC<FileInputProps>;
1528
1738
 
1739
+ type NUploaderItemStatus = "uploading" | "done" | "error";
1740
+ interface NUploaderItem {
1741
+ id: string;
1742
+ name: string;
1743
+ size?: number;
1744
+ mimeType?: string;
1745
+ progress?: number;
1746
+ status?: NUploaderItemStatus;
1747
+ error?: string;
1748
+ }
1749
+ interface NUploaderProps {
1750
+ title?: string;
1751
+ subtitle?: string;
1752
+ accept?: string;
1753
+ multiple?: boolean;
1754
+ disabled?: boolean;
1755
+ items?: NUploaderItem[];
1756
+ emptyListLabel?: string;
1757
+ listTitle?: string;
1758
+ className?: string;
1759
+ dropzoneClassName?: string;
1760
+ borderDegree?: NajmBorderDegree;
1761
+ onFilesSelected?: (files: File[]) => void;
1762
+ onCancel?: (id: string) => void;
1763
+ onRemove?: (id: string) => void;
1764
+ }
1765
+ declare function NUploader({ title, subtitle, accept, multiple, disabled, items, listTitle, className, dropzoneClassName, borderDegree, onFilesSelected, onCancel, onRemove, }: NUploaderProps): react_jsx_runtime.JSX.Element;
1766
+
1529
1767
  declare function ImageInput({ value, onChange, previewClassName, showPreview, previewPosition, allowClear, accept, defaultImage, imageSize, imageVersion, disabled, }: ImageInputProps & {
1530
1768
  disabled?: boolean;
1531
1769
  }): react_jsx_runtime.JSX.Element;
@@ -1534,19 +1772,22 @@ declare const StarRatingInput: React__default.FC<StarRatingInputProps>;
1534
1772
 
1535
1773
  declare const ColorArrayInput: React__default.FC<ColorArrayInputProps>;
1536
1774
 
1537
- declare function ColorPickerInput({ value, onChange, colors, className, variant, status, disabled, }: ColorArrayInputProps & {
1775
+ declare function ColorPickerInput({ value, onChange, colors, className, variant, status, bordered, borderDegree, borderColor, disabled, }: ColorArrayInputProps & {
1538
1776
  disabled?: boolean;
1539
1777
  }): react_jsx_runtime.JSX.Element;
1540
1778
 
1541
- declare function EmojiInput({ value, onChange, options, className, variant, status, disabled, }: EmojiInputProps & {
1779
+ declare function EmojiInput({ value, onChange, options, className, variant, status, bordered, borderDegree, borderColor, disabled, }: EmojiInputProps & {
1542
1780
  disabled?: boolean;
1543
1781
  }): react_jsx_runtime.JSX.Element;
1544
1782
 
1545
1783
  declare function LangInput({ value, onChange, items, disabled, className, }: LangInputProps): react_jsx_runtime.JSX.Element;
1546
1784
 
1547
- declare function PhoneInput({ value, onChange, defaultCountry, placeholder, disabled, className, variant, status, }: PhoneInputProps & {
1785
+ declare function PhoneInput({ value, onChange, defaultCountry, placeholder, disabled, className, variant, status, bordered, borderDegree, borderColor, }: PhoneInputProps & {
1548
1786
  variant?: "default" | "rounded" | "ghost";
1549
1787
  status?: "default" | "error";
1788
+ borderColor?: TailwindColor;
1789
+ bordered?: boolean;
1790
+ borderDegree?: NajmBorderDegree;
1550
1791
  }): react_jsx_runtime.JSX.Element;
1551
1792
 
1552
1793
  declare const TimeInput: React__default.FC<TimeInputProps>;
@@ -1563,17 +1804,6 @@ declare function getIconColorProps(iconColor?: string, baseClassName?: string):
1563
1804
  };
1564
1805
  };
1565
1806
 
1566
- interface SliderProps {
1567
- value: number[];
1568
- onValueChange: (value: number[]) => void;
1569
- min?: number;
1570
- max?: number;
1571
- step?: number;
1572
- className?: string;
1573
- disabled?: boolean;
1574
- }
1575
- declare function Slider({ value, onValueChange, min, max, step, className, disabled }: SliderProps): react_jsx_runtime.JSX.Element;
1576
-
1577
1807
  interface SearchFieldProps {
1578
1808
  value: string;
1579
1809
  onChange: (value: string) => void;
@@ -1618,6 +1848,8 @@ interface FormSlotClassNames {
1618
1848
  }
1619
1849
  declare const VariantProvider: React__default.FC<{
1620
1850
  variant?: FormVariant;
1851
+ bordered?: boolean;
1852
+ borderDegree?: NajmBorderDegree;
1621
1853
  children: React__default.ReactNode;
1622
1854
  }>;
1623
1855
  declare const useVariant: () => FormVariant;
@@ -1628,7 +1860,7 @@ interface BaseFormInputProps {
1628
1860
  formLabel?: string;
1629
1861
  formDescription?: string;
1630
1862
  required?: boolean;
1631
- icon?: React.ReactNode;
1863
+ icon?: NIconSource;
1632
1864
  iconColor?: string;
1633
1865
  items?: any;
1634
1866
  disabled?: boolean;
@@ -1638,27 +1870,29 @@ interface BaseFormInputProps {
1638
1870
  classNames?: FormSlotClassNames;
1639
1871
  onChange?: (value: any) => void;
1640
1872
  }
1873
+ type FormInputSpecificProps<T> = Omit<T, "value" | "onChange" | keyof BaseFormInputProps>;
1641
1874
  type InputTypeMap = {
1642
- text: Omit<TextInputProps, "value" | "onChange">;
1643
- number: Omit<NumberInputProps, "value" | "onChange">;
1644
- password: Omit<PasswordInputProps, "value" | "onChange">;
1645
- textarea: Omit<TextAreaInputProps, "value" | "onChange">;
1646
- select: Omit<SelectInputProps, "value" | "onChange">;
1647
- combobox: Omit<ComboboxInputProps, "value" | "onChange">;
1648
- multiselect: Omit<MultiSelectInputProps, "value" | "onChange">;
1649
- radio: Omit<RadioGroupInputProps, "value" | "onChange">;
1650
- switch: Omit<SwitchInputProps, "value" | "onChange">;
1651
- checkbox: Omit<CheckboxInputProps, "value" | "onChange">;
1652
- checkboxGroup: Omit<CheckboxGroupInputProps, "value" | "onChange">;
1653
- file: Omit<FileInputProps, "value" | "onChange">;
1654
- image: Omit<ImageInputProps, "value" | "onChange">;
1655
- date: Omit<DateInputProps, "value" | "onChange">;
1656
- starRating: Omit<StarRatingInputProps, "value" | "onChange">;
1657
- colorArray: Omit<ColorArrayInputProps, "value" | "onChange">;
1658
- emoji: Omit<EmojiInputProps, "value" | "onChange">;
1659
- lang: Omit<LangInputProps, "value" | "onChange">;
1660
- phone: Omit<PhoneInputProps, "value" | "onChange">;
1661
- time: Omit<TimeInputProps, "value" | "onChange">;
1875
+ text: FormInputSpecificProps<TextInputProps>;
1876
+ number: FormInputSpecificProps<NumberInputProps>;
1877
+ password: FormInputSpecificProps<PasswordInputProps>;
1878
+ textarea: FormInputSpecificProps<TextAreaInputProps>;
1879
+ select: FormInputSpecificProps<SelectInputProps>;
1880
+ combobox: FormInputSpecificProps<ComboboxInputProps>;
1881
+ multiselect: FormInputSpecificProps<MultiSelectInputProps>;
1882
+ radio: FormInputSpecificProps<RadioGroupInputProps>;
1883
+ switch: FormInputSpecificProps<SwitchInputProps>;
1884
+ checkbox: FormInputSpecificProps<CheckboxInputProps>;
1885
+ checkboxGroup: FormInputSpecificProps<CheckboxGroupInputProps>;
1886
+ file: FormInputSpecificProps<FileInputProps>;
1887
+ image: FormInputSpecificProps<ImageInputProps>;
1888
+ date: FormInputSpecificProps<DateInputProps>;
1889
+ starRating: FormInputSpecificProps<StarRatingInputProps>;
1890
+ colorArray: FormInputSpecificProps<ColorArrayInputProps>;
1891
+ emoji: FormInputSpecificProps<EmojiInputProps>;
1892
+ lang: FormInputSpecificProps<LangInputProps>;
1893
+ phone: FormInputSpecificProps<PhoneInputProps>;
1894
+ time: FormInputSpecificProps<TimeInputProps>;
1895
+ slider: FormInputSpecificProps<SliderInputProps>;
1662
1896
  };
1663
1897
  type FormInputProps = {
1664
1898
  [K in keyof InputTypeMap]: BaseFormInputProps & {
@@ -1671,6 +1905,8 @@ type FormProps<T extends ZodTypeAny = ZodTypeAny> = {
1671
1905
  onSubmit: SubmitHandler<TypeOf<T>>;
1672
1906
  form?: UseFormReturn<TypeOf<T>>;
1673
1907
  variant?: FormVariant;
1908
+ bordered?: boolean;
1909
+ borderDegree?: NajmBorderDegree;
1674
1910
  as?: "form" | "div";
1675
1911
  className?: string;
1676
1912
  id?: string;
@@ -1753,6 +1989,9 @@ interface WizardFormProps {
1753
1989
  nextLabel?: string;
1754
1990
  previousLabel?: string;
1755
1991
  submitLabel?: string;
1992
+ variant?: FormVariant;
1993
+ bordered?: boolean;
1994
+ borderDegree?: NajmBorderDegree;
1756
1995
  className?: string;
1757
1996
  classNames?: WizardClassNames;
1758
1997
  footerSlot?: ReactNode;
@@ -1764,7 +2003,7 @@ interface StepMeta {
1764
2003
  title: string;
1765
2004
  }
1766
2005
 
1767
- declare function WizardForm({ steps, schema, defaultValues, onSubmit, currentStep: controlledStep, onCurrentStepChange, onStepComplete, showHeader, showFooter, nextLabel, previousLabel, submitLabel, className, classNames, footerSlot, }: WizardFormProps): react_jsx_runtime.JSX.Element;
2006
+ declare function WizardForm({ steps, schema, defaultValues, onSubmit, currentStep: controlledStep, onCurrentStepChange, onStepComplete, showHeader, showFooter, nextLabel, previousLabel, submitLabel, variant, bordered, borderDegree, className, classNames, footerSlot, }: WizardFormProps): react_jsx_runtime.JSX.Element;
1768
2007
 
1769
2008
  interface StepIndicatorProps {
1770
2009
  stepNumber: number;
@@ -1871,7 +2110,10 @@ interface TableState {
1871
2110
  CardComponent: ComponentType<any> | null;
1872
2111
  className: string;
1873
2112
  classNames: NTableClassNames;
2113
+ bordered?: boolean;
2114
+ borderDegree?: NajmBorderDegree;
1874
2115
  headerClassName: string;
2116
+ headerColor: string | undefined;
1875
2117
  showCheckbox: boolean;
1876
2118
  selectedRowId: string | null;
1877
2119
  headerSlot: ReactNode | null;
@@ -1881,6 +2123,9 @@ interface TableState {
1881
2123
  onDelete: any;
1882
2124
  onRowClick: any;
1883
2125
  onRowContextMenu: any;
2126
+ onBackgroundContextMenu: ((e: MouseEvent) => void) | null;
2127
+ openRowMenu: ((e: MouseEvent, row: any) => void) | null;
2128
+ menuButton: boolean;
1884
2129
  onCellClick: any;
1885
2130
  onBulkDelete: any;
1886
2131
  onRetry: any;
@@ -1979,7 +2224,10 @@ declare const createTableStore: () => {
1979
2224
  CardComponent: () => ComponentType<any>;
1980
2225
  className: () => string;
1981
2226
  classNames: () => NTableClassNames;
2227
+ bordered?: () => boolean;
2228
+ borderDegree?: () => NajmBorderDegree;
1982
2229
  headerClassName: () => string;
2230
+ headerColor: () => string;
1983
2231
  showCheckbox: () => boolean;
1984
2232
  selectedRowId: () => string;
1985
2233
  headerSlot: () => ReactNode;
@@ -1989,6 +2237,9 @@ declare const createTableStore: () => {
1989
2237
  onDelete: () => any;
1990
2238
  onRowClick: () => any;
1991
2239
  onRowContextMenu: () => any;
2240
+ onBackgroundContextMenu: () => (e: MouseEvent) => void;
2241
+ openRowMenu: () => (e: MouseEvent, row: any) => void;
2242
+ menuButton: () => boolean;
1992
2243
  onCellClick: () => any;
1993
2244
  onBulkDelete: () => any;
1994
2245
  onRetry: () => any;
@@ -2056,6 +2307,45 @@ declare const createTableStore: () => {
2056
2307
  };
2057
2308
  };
2058
2309
 
2310
+ declare const HEADER_COLORS: {
2311
+ readonly primary: {
2312
+ readonly bg: "bg-primary/15";
2313
+ readonly text: "[&_th]:text-primary";
2314
+ readonly row: "hover:bg-primary/5";
2315
+ };
2316
+ readonly violet: {
2317
+ readonly bg: "bg-violet-600/20";
2318
+ readonly text: "[&_th]:text-violet-700 dark:[&_th]:text-violet-300";
2319
+ readonly row: "hover:bg-violet-500/5";
2320
+ };
2321
+ readonly blue: {
2322
+ readonly bg: "bg-blue-600/20";
2323
+ readonly text: "[&_th]:text-blue-700 dark:[&_th]:text-blue-300";
2324
+ readonly row: "hover:bg-blue-500/5";
2325
+ };
2326
+ readonly emerald: {
2327
+ readonly bg: "bg-emerald-600/20";
2328
+ readonly text: "[&_th]:text-emerald-700 dark:[&_th]:text-emerald-300";
2329
+ readonly row: "hover:bg-emerald-500/5";
2330
+ };
2331
+ readonly amber: {
2332
+ readonly bg: "bg-amber-500/20";
2333
+ readonly text: "[&_th]:text-amber-700 dark:[&_th]:text-amber-300";
2334
+ readonly row: "hover:bg-amber-500/5";
2335
+ };
2336
+ readonly rose: {
2337
+ readonly bg: "bg-rose-600/20";
2338
+ readonly text: "[&_th]:text-rose-700 dark:[&_th]:text-rose-300";
2339
+ readonly row: "hover:bg-rose-500/5";
2340
+ };
2341
+ readonly slate: {
2342
+ readonly bg: "bg-slate-700/60";
2343
+ readonly text: "[&_th]:text-slate-100 dark:[&_th]:text-slate-300";
2344
+ readonly row: "hover:bg-slate-500/5";
2345
+ };
2346
+ };
2347
+ type TableHeaderColor = keyof typeof HEADER_COLORS;
2348
+
2059
2349
  interface NTableState {
2060
2350
  sorting: SortingState;
2061
2351
  columnFilters: ColumnFiltersState;
@@ -2063,6 +2353,18 @@ interface NTableState {
2063
2353
  rowSelection: RowSelectionState;
2064
2354
  globalFilter: string;
2065
2355
  }
2356
+ /**
2357
+ * Unified menu definition for NTable. The same items power the row right-click
2358
+ * menu AND the built-in ⋮ button; `background` powers right-click on whitespace.
2359
+ */
2360
+ interface NTableMenu<T = any> {
2361
+ /** Items for right-clicking a row/card and for the built-in ⋮ button. */
2362
+ row?: (row: T) => ContextMenuItem[];
2363
+ /** Items for right-clicking empty space (whitespace / between cards). */
2364
+ background?: () => ContextMenuItem[];
2365
+ }
2366
+ /** Object form, or a bare function treated as `{ row }`. */
2367
+ type NTableMenuProp<T = any> = NTableMenu<T> | ((row: T) => ContextMenuItem[]);
2066
2368
  interface NTableProps<T = any, M extends ViewMode = ViewMode> {
2067
2369
  data: T[];
2068
2370
  columns: ColumnDef<T, any>[];
@@ -2083,6 +2385,7 @@ interface NTableProps<T = any, M extends ViewMode = ViewMode> {
2083
2385
  canExpand?: boolean;
2084
2386
  renderSubRow?: (row: T) => React__default.ReactNode;
2085
2387
  'data-row'?: string;
2388
+ 'data-row-id'?: string;
2086
2389
  }>;
2087
2390
  renderToolbar?: (state: NTableState) => React__default.ReactNode;
2088
2391
  renderEmpty?: () => React__default.ReactNode;
@@ -2090,6 +2393,9 @@ interface NTableProps<T = any, M extends ViewMode = ViewMode> {
2090
2393
  renderLoading?: () => React__default.ReactNode;
2091
2394
  className?: string;
2092
2395
  classNames?: NTableClassNames;
2396
+ /** Use a border instead of a shadow for the table container and cards. */
2397
+ bordered?: boolean;
2398
+ borderDegree?: NajmBorderDegree;
2093
2399
  density?: "compact" | "comfortable" | "spacious";
2094
2400
  availableModes?: readonly M[];
2095
2401
  mode?: M;
@@ -2138,9 +2444,12 @@ interface NTableProps<T = any, M extends ViewMode = ViewMode> {
2138
2444
  toolbarLabels?: boolean;
2139
2445
  dynamicHeight?: boolean;
2140
2446
  headerClassName?: string;
2447
+ headerColor?: TableHeaderColor;
2141
2448
  showCheckbox?: boolean;
2142
2449
  onRowClick?: (row: T) => void;
2143
2450
  onRowContextMenu?: (e: React__default.MouseEvent, row: T) => void;
2451
+ menu?: NTableMenuProp<T>;
2452
+ menuButton?: boolean;
2144
2453
  onCellEdit?: (row: T, columnId: string, value: any) => Promise<any>;
2145
2454
  onBulkDelete?: (ids: string[]) => void;
2146
2455
  pageSizeOptions?: number[];
@@ -2182,8 +2491,14 @@ interface NDataCardShellProps {
2182
2491
  actions?: NDataCardShellActions;
2183
2492
  children?: React__default.ReactNode;
2184
2493
  className?: string;
2494
+ showCheckbox?: boolean;
2495
+ selectedRowId?: string | null;
2496
+ openRowMenu?: ((e: React__default.MouseEvent, row: any) => void) | null;
2497
+ menuButton?: boolean;
2498
+ bordered?: boolean;
2499
+ borderDegree?: NajmBorderDegree;
2185
2500
  }
2186
- declare function NDataCardShell({ row, onClick, onContextMenu, actions, children, className }: NDataCardShellProps): react_jsx_runtime.JSX.Element;
2501
+ declare function NDataCardShell({ row, onClick, onContextMenu, actions, children, className, showCheckbox, selectedRowId, openRowMenu, menuButton, bordered, borderDegree }: NDataCardShellProps): react_jsx_runtime.JSX.Element;
2187
2502
 
2188
2503
  interface NTableCardRootProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>, "onClick" | "onContextMenu"> {
2189
2504
  card: {
@@ -2289,7 +2604,10 @@ declare const TableStoreContext: React$1.Context<{
2289
2604
  CardComponent: () => React$1.ComponentType<any>;
2290
2605
  className: () => string;
2291
2606
  classNames: () => NTableClassNames;
2607
+ bordered?: () => boolean;
2608
+ borderDegree?: () => NajmBorderDegree;
2292
2609
  headerClassName: () => string;
2610
+ headerColor: () => string;
2293
2611
  showCheckbox: () => boolean;
2294
2612
  selectedRowId: () => string;
2295
2613
  headerSlot: () => React$1.ReactNode;
@@ -2299,6 +2617,9 @@ declare const TableStoreContext: React$1.Context<{
2299
2617
  onDelete: () => any;
2300
2618
  onRowClick: () => any;
2301
2619
  onRowContextMenu: () => any;
2620
+ onBackgroundContextMenu: () => (e: React$1.MouseEvent) => void;
2621
+ openRowMenu: () => (e: React$1.MouseEvent, row: any) => void;
2622
+ menuButton: () => boolean;
2302
2623
  onCellClick: () => any;
2303
2624
  onBulkDelete: () => any;
2304
2625
  onRetry: () => any;
@@ -2401,7 +2722,10 @@ declare function useStoreSync(props: any): {
2401
2722
  CardComponent: () => React__default.ComponentType<any>;
2402
2723
  className: () => string;
2403
2724
  classNames: () => NTableClassNames;
2725
+ bordered?: () => boolean;
2726
+ borderDegree?: () => NajmBorderDegree;
2404
2727
  headerClassName: () => string;
2728
+ headerColor: () => string;
2405
2729
  showCheckbox: () => boolean;
2406
2730
  selectedRowId: () => string;
2407
2731
  headerSlot: () => React__default.ReactNode;
@@ -2411,6 +2735,9 @@ declare function useStoreSync(props: any): {
2411
2735
  onDelete: () => any;
2412
2736
  onRowClick: () => any;
2413
2737
  onRowContextMenu: () => any;
2738
+ onBackgroundContextMenu: () => (e: React__default.MouseEvent) => void;
2739
+ openRowMenu: () => (e: React__default.MouseEvent, row: any) => void;
2740
+ menuButton: () => boolean;
2414
2741
  onCellClick: () => any;
2415
2742
  onBulkDelete: () => any;
2416
2743
  onRetry: () => any;
@@ -2490,7 +2817,19 @@ declare function useTable(): {
2490
2817
  globalFilter: string;
2491
2818
  setGlobalFilter: React__default.Dispatch<React__default.SetStateAction<string>>;
2492
2819
  };
2493
- declare function useTableKeyboard(): void;
2820
+ interface UseTableKeyboardOptions {
2821
+ /**
2822
+ * When provided, only fire shortcuts while the keydown target is inside
2823
+ * this element. Without it, shortcuts are global and would conflict between
2824
+ * multiple NTable instances on the same page.
2825
+ */
2826
+ scopeRef?: RefObject<HTMLElement | null>;
2827
+ /** Close the NTable right-click context menu (if any). */
2828
+ contextMenuClose?: () => void;
2829
+ /** True while the NTable context menu is open. */
2830
+ contextMenuOpen?: boolean;
2831
+ }
2832
+ declare function useTableKeyboard(options?: UseTableKeyboardOptions): void;
2494
2833
 
2495
2834
  declare function cn(...inputs: ClassValue[]): string;
2496
2835
 
@@ -2563,6 +2902,11 @@ interface NAppShellClassNames {
2563
2902
  content?: string;
2564
2903
  overlay?: string;
2565
2904
  }
2905
+ interface SidebarWidths {
2906
+ expanded?: number | string;
2907
+ collapsed?: number | string;
2908
+ mobile?: number | string;
2909
+ }
2566
2910
  interface SidebarProps {
2567
2911
  logo?: ReactNode;
2568
2912
  navItems?: NavItem[];
@@ -2574,10 +2918,15 @@ interface SidebarProps {
2574
2918
  defaultCollapsed?: boolean;
2575
2919
  onCollapsedChange?: (collapsed: boolean) => void;
2576
2920
  showCollapseButton?: boolean;
2577
- collapseButtonPosition?: 'header' | 'nav';
2921
+ /** Where the collapse toggle lives: a full-width button in the footer, or a small floating circle on the sidebar's edge. */
2922
+ collapseButtonPosition?: 'footer' | 'edge';
2923
+ widths?: SidebarWidths;
2578
2924
  showSectionLabels?: boolean;
2579
2925
  showSectionIcons?: boolean;
2580
2926
  showSectionSeparators?: boolean;
2927
+ /** Use a border instead of the default flat sidebar edge. */
2928
+ bordered?: boolean;
2929
+ borderDegree?: NajmBorderDegree;
2581
2930
  footer?: ReactNode;
2582
2931
  className?: string;
2583
2932
  classNames?: NAppShellClassNames;
@@ -2673,11 +3022,14 @@ interface NSidebarMobileProps {
2673
3022
  onOpen: () => void;
2674
3023
  onClose: () => void;
2675
3024
  mobileBreakpoint: 'sm' | 'md' | 'lg';
3025
+ width?: number | string;
2676
3026
  hamburgerLabel?: string;
2677
3027
  closeLabel?: string;
2678
3028
  hamburgerClassName?: string;
2679
3029
  showHamburgerButton?: boolean;
2680
3030
  children?: ReactNode;
3031
+ bordered?: boolean;
3032
+ borderDegree?: NajmBorderDegree;
2681
3033
  }
2682
3034
 
2683
3035
  declare function NSidebarHeader({ children, collapsed, className, classNames }: NSidebarHeaderProps): react_jsx_runtime.JSX.Element;
@@ -2690,9 +3042,9 @@ declare function NSidebarSection({ group, activePath, isActive, onNavigate, link
2690
3042
 
2691
3043
  declare function NSidebarFooter({ children, onSettings, settingsLabel, onLogout, logoutLabel, showCollapseButton, collapsed, onToggleCollapsed, collapseLabel, expandLabel, isMobile, className, classNames, }: NSidebarFooterProps): react_jsx_runtime.JSX.Element;
2692
3044
 
2693
- declare function NSidebarMobile({ open, onOpen, onClose, mobileBreakpoint, hamburgerLabel, closeLabel, hamburgerClassName, showHamburgerButton, children, }: NSidebarMobileProps): react_jsx_runtime.JSX.Element;
3045
+ declare function NSidebarMobile({ open, onOpen, onClose, mobileBreakpoint, width, hamburgerLabel, closeLabel, hamburgerClassName, showHamburgerButton, children, bordered, borderDegree, }: NSidebarMobileProps): react_jsx_runtime.JSX.Element;
2694
3046
 
2695
- declare function NSidebar({ logo, navItems, activePath, isActive, onNavigate, linkComponent, collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, showCollapseButton, showSectionLabels, showSectionIcons, showSectionSeparators, footer, className, classNames, mobileBreakpoint, mobileOpen: mobileOpenProp, defaultMobileOpen, onMobileOpenChange, closeOnNavigate, hamburgerLabel, closeLabel, collapseLabel, expandLabel, hamburgerClassName, showHamburgerButton, logoIcon, logoTitle, logoSubtitle, onLogoClick, onSettings, settingsLabel, onLogout, logoutLabel, }: SidebarProps): react_jsx_runtime.JSX.Element;
3047
+ declare function NSidebar({ logo, navItems, activePath, isActive, onNavigate, linkComponent, collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, showCollapseButton, collapseButtonPosition, showSectionLabels, showSectionIcons, showSectionSeparators, bordered, borderDegree, footer, className, classNames, mobileBreakpoint, mobileOpen: mobileOpenProp, defaultMobileOpen, onMobileOpenChange, closeOnNavigate, hamburgerLabel, closeLabel, collapseLabel, expandLabel, hamburgerClassName, showHamburgerButton, logoIcon, logoTitle, logoSubtitle, onLogoClick, onSettings, settingsLabel, onLogout, logoutLabel, widths, }: SidebarProps): react_jsx_runtime.JSX.Element;
2696
3048
 
2697
3049
  declare function NSidebarItem({ item, activePath, isActive, onNavigate, linkComponent: LinkComponent, collapsed, depth, classNames, }: SidebarItemProps): react_jsx_runtime.JSX.Element;
2698
3050
 
@@ -2721,7 +3073,7 @@ interface NAppShellAction {
2721
3073
  badge?: ReactNode;
2722
3074
  hideOnMobile?: boolean;
2723
3075
  }
2724
- interface NAppShellProps {
3076
+ interface NAppShellProps extends Pick<SidebarProps, "widths"> {
2725
3077
  children: ReactNode;
2726
3078
  logo?: ReactNode;
2727
3079
  title?: string;
@@ -2737,7 +3089,8 @@ interface NAppShellProps {
2737
3089
  collapsed?: boolean;
2738
3090
  defaultCollapsed?: boolean;
2739
3091
  onCollapsedChange?: (collapsed: boolean) => void;
2740
- collapseButtonPosition?: 'header' | 'nav';
3092
+ /** Where the collapse toggle lives: a full-width button in the footer, or a small floating circle on the sidebar's edge. */
3093
+ collapseButtonPosition?: 'footer' | 'edge';
2741
3094
  sidebarFooter?: ReactNode;
2742
3095
  navbarLeft?: ReactNode;
2743
3096
  navbarRight?: ReactNode;
@@ -2763,7 +3116,7 @@ interface NCommandPaletteProps {
2763
3116
  className?: string;
2764
3117
  }
2765
3118
 
2766
- declare function NAppShell({ children, logo, title, navItems, activePath, onNavigate, isActive, linkComponent, user, actions, userMenuActions, onLogout, collapsed: controlledCollapsed, defaultCollapsed, onCollapsedChange, collapseButtonPosition, sidebarFooter, navbarLeft, navbarRight, classNames, }: NAppShellProps): react_jsx_runtime.JSX.Element;
3119
+ declare function NAppShell({ children, logo, title, navItems, activePath, onNavigate, isActive, linkComponent, user, actions, userMenuActions, onLogout, collapsed: controlledCollapsed, defaultCollapsed, onCollapsedChange, collapseButtonPosition, widths, sidebarFooter, navbarLeft, navbarRight, classNames, }: NAppShellProps): react_jsx_runtime.JSX.Element;
2767
3120
 
2768
3121
  interface NavbarProps {
2769
3122
  title?: string;
@@ -2783,23 +3136,42 @@ declare function NNavbar({ title, logo, user, actions, userMenuActions, onLogout
2783
3136
 
2784
3137
  declare function NCommandPalette({ commands, open, onOpenChange, placeholder, emptyMessage, className, }: NCommandPaletteProps): react_jsx_runtime.JSX.Element;
2785
3138
 
2786
- interface PageHeaderProps {
2787
- icon: LucideIcon;
3139
+ interface PageHeaderSlotProps {
3140
+ children: ReactNode;
3141
+ className?: string;
3142
+ }
3143
+ interface NPageHeaderProps {
3144
+ icon: ComponentType<{
3145
+ className?: string;
3146
+ }>;
2788
3147
  title: string;
2789
3148
  subtitle?: string;
2790
3149
  actions?: ReactNode;
2791
3150
  filters?: ReactNode;
2792
3151
  top?: ReactNode;
2793
- footer?: ReactNode;
2794
3152
  search?: InputHTMLAttributes<HTMLInputElement> & {
2795
3153
  placeholder?: string;
2796
3154
  ref?: Ref<HTMLInputElement>;
2797
3155
  };
2798
- children: ReactNode;
2799
- contentClassName?: string;
2800
- contentRef?: React__default.Ref<HTMLDivElement>;
3156
+ children?: ReactNode;
3157
+ className?: string;
3158
+ headerClassName?: string;
3159
+ bordered?: boolean;
3160
+ borderDegree?: NajmBorderDegree;
3161
+ }
3162
+ declare function NPageHeaderActions({ children, className }: PageHeaderSlotProps): react_jsx_runtime.JSX.Element;
3163
+ declare namespace NPageHeaderActions {
3164
+ var displayName: string;
3165
+ }
3166
+ declare function NPageHeaderFilters({ children, className }: PageHeaderSlotProps): react_jsx_runtime.JSX.Element;
3167
+ declare namespace NPageHeaderFilters {
3168
+ var displayName: string;
3169
+ }
3170
+ declare function NPageHeaderTop({ children, className }: PageHeaderSlotProps): react_jsx_runtime.JSX.Element;
3171
+ declare namespace NPageHeaderTop {
3172
+ var displayName: string;
2801
3173
  }
2802
- declare function NPageHeader({ icon: Icon, title, subtitle, actions, filters, top, footer, search, children, contentClassName, contentRef }: PageHeaderProps): react_jsx_runtime.JSX.Element;
3174
+ declare function NPageHeader({ icon: Icon, title, subtitle, actions, filters, top, search, children, className, headerClassName, bordered, borderDegree }: NPageHeaderProps): react_jsx_runtime.JSX.Element;
2803
3175
 
2804
3176
  interface InspectorSheetProps {
2805
3177
  open: boolean;
@@ -2809,4 +3181,4 @@ interface InspectorSheetProps {
2809
3181
  }
2810
3182
  declare function NInspectorSheet({ open, onClose, title, children }: InspectorSheetProps): react_jsx_runtime.JSX.Element;
2811
3183
 
2812
- export { Alert, type AlertLook, type AlertOrientation, type AlertProps, type AlertSize, type AlertTone, type AlertVariant, NCard as AsyncCard, Avatar, AvatarFallback, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarProps$1 as AvatarProps, type AvatarShape$1 as AvatarShape, type AvatarSize, AvatarStatus, type AvatarStatusType, Badge, type BadgeColor, type BadgeIcon, type BadgeLook, type BadgeProps, type BadgeShape, type BadgeSize, type BadgeVariant, BaseInput, type BuildDefaultFileColumnsOptions, Button, type ButtonConfig, type ButtonIcon, type ButtonLoaderPosition, type ButtonProps, type ButtonRounded, type ButtonSize, type ButtonVariant, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxGroupInput, type CheckboxGroupInputProps, CheckboxInput, type CheckboxInputProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorArrayInput, type ColorArrayInputProps, ColorPickerInput, Combobox, ComboboxInput, type ComboboxInputProps, type ComboboxOption, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type ContextMenuItem, DateInput, type DateInputProps, type DeleteDialogOptions, Dialog, type DialogApi, DialogClose, type DialogConfig, DialogContent, DialogDescription, DialogFooter, DialogHeader, type DialogHeight, DialogOverlay, DialogPortal, type DialogSize, type DialogStore, DialogTitle, DialogTrigger, type DialogWidth, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicArray, type DynamicArrayProps, EmojiInput, type EmojiInputProps, type FileBrowserMode, FileImportButton, FileInput, type FileInputProps, type FileNode, Form, FormControl, FormDescription, FormField, FormInput, type FormInputProps, FormItem, FormLabel, FormMessage, type FormProps, type FormSlotClassNames, type FormVariant, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, ImageInput, type ImageInputProps, Input, type InputIcon, Label, LangInput, type LangInputProps, type LinkComponentType, MultiSelectInput, type MultiSelectInputProps, NAlert, type NAppCommandItem, NAppShell, type NAppShellAction, type NAppShellClassNames, type NAppShellProps, type NAppShellUser, NCard as NAsyncCard, type CardClassNames as NAsyncCardClassNames, type CardProps as NAsyncCardProps, NAvatar, type NAvatarClassNames, type NAvatarProps, type AvatarShape as NAvatarShape, NBadge, type NBadgeLook, type NBadgeProps, type NBulkAction, type NBulkActionButton, type NBulkActionSelect, NBulkActionsBar, type NBulkActionsBarProps, NButton, type NButtonProps, NCard, NCardAction, type CardClassNames as NCardClassNames, NCardFooter, type CardProps as NCardProps, NCommandPalette, type NCommandPaletteProps, NConfirmDialog, type NConfirmDialogProps, NContextMenu, type NContextMenuItem, type NContextMenuProps, NDataCardShell, type NDataCardShellActions, type NDataCardShellProps, NDeleteDialogContent, type NDeleteDialogContentProps, NDetailCard, type NDetailCardClassNames, type NDetailCardProps, NDetailItem, type NDetailItemProps, NDetailList, type NDetailListItem, type NDetailListProps, NDialog, type NDialogDirectProps, type NDialogProps, NEmptyState, type NEmptyStateProps, NErrorBoundary, NErrorState, type NErrorStateProps, NFileBrowser, type NFileBrowserCardProps, type NFileBrowserProps, type NFileBrowserRenderThumbProps, NFileTypeIcon, type NFileTypeIconProps, NFilterBar, NFolderIcon, type NFolderIconProps, NForm, NFormSectionHeader, type NFormSectionHeaderProps, NIcon, type NIconProps, type NIconSource, NInspectorSheet, NLoadingState, type NLoadingStateProps, NMultiDialog, type NMultiDialogProps, NNavbar, NPageHeader, NPortalScopeProvider, NProgress, type NProgressProps, NRowActions, NSection, NSectionHeader, type NSectionHeaderActionsProps, type NSectionHeaderContentProps, type NSectionHeaderProps, type NSectionHeaderSubtitleProps, type NSectionHeaderTitleProps, NSectionInfo, type NSectionInfoProps, type NSectionProps, NSectionWithInfo, type NSectionWithInfoItem, type NSectionWithInfoProps, NSheet, type NSheetProps, NSidebar, NSidebarContent, type NSidebarContentProps, NSidebarFooter, type NSidebarFooterProps, NSidebarHeader, type NSidebarHeaderProps, NSidebarItem, NSidebarLogo, type NSidebarLogoProps, NSidebarMobile, type NSidebarMobileProps, NSidebarSection, type NSidebarSectionProps, NSkeleton, NSkeletonCalendar, NSkeletonChart, NSkeletonDonut, NSkeletonEventList, NSkeletonWidget, NSkeletonWidgets, NSmartPasteDialog, type NSmartPasteDialogProps, NSpinner, type NSpinnerProps, NStatCard, type NStatCardClassNames, type NStatCardProps, NStatCardSkeleton, type NStatCardVariant, Swap as NSwap, type NSwapProps, NTable, NTableCardRoot, type NTableCardRootProps, NTableCards, type NTableClassNames, NTableContent, NTableHeader, NTableLoadingSkeleton, NTablePagination, type NTableProps, NTableRowSkeleton, NTableSkeleton, type NTableState, NUploader, type NUploaderItem, type NUploaderItemStatus, type NUploaderProps, NViewBody, NViewToggle, type NajmAccent, type NajmMode, type NajmPreset, NajmThemeProvider, type NajmThemeProviderProps, type NajmThemeTokens, NativeSelect, type NativeSelectOption, type NativeSelectProps, type NavItem, type NavItemGroup, NumberInput, type NumberInputProps, PasswordInput, type PasswordInputProps, PhoneInput, type PhoneInputProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PrefixProvider, Progress, type ProgressColor, type ProgressLabelPosition, type ProgressProps, type ProgressSize, type PushDialogOptions, RadioGroup, RadioGroupInput, type RadioGroupInputProps, RadioGroupItem, type RenderSlot, RepeatingFields, type RepeatingFieldsProps, ScrollArea, type ScrollAreaProps, SearchField, SearchField as SearchInput, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectInput, type SelectInputProps, SelectItem, type SelectItemType$1 as SelectItemDataType, type SelectItemType, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, type SidebarItemProps, type SidebarProps, SimpleTooltip, type SimpleTooltipProps, NSkeleton as Skeleton, Slider, type SliderProps, type SmartPastePreview, type SpinnerVariant, StarRatingInput, type StarRatingInputProps, StatusPill, type StatusPillProps, type StatusPillTone, type StepConfig, StepIndicator, type StepMeta, StepsHeader, StepsProgress, type StorageMenuAction, type StorageSortOption, type StorageTarget, Swap, type SwapEffect, SwapIndeterminate, SwapOff, SwapOn, type SwapProps, type SwapSize, type SwapState, Switch, type SwitchColor, SwitchInput, type SwitchInputProps, type SwitchSize, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, type TableState, type TableStore, TableStoreContext, Tabs, TabsContent, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, TabsTrigger, type TabsTriggerProps, type TabsVariant, TextAreaInput, type TextAreaInputProps, TextInput, type TextInputProps, Textarea, TimeInput, type TimeInputProps, Toaster, Toggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseContextMenuResult, type UseNFormOptions, type UseStorageContextMenuOptions, type UseStorageContextMenuResult, type UserMenuAction, VariantProvider, type WizardClassNames, WizardForm, type WizardFormProps, alertVariants, avatarVariants, badgeColorVariants, badgeVariants, buildDefaultFileColumns, buttonVariants, cn, composePreset, createDialogStore, createTableStore, dialogVariants, formatFileBytes, formatFileRelative, getIconColorProps, resolvePreset, resolveSlot, swapVariants, toggleVariants, tooltipContentVariants, truncateByCharacters, useClickOutside, useContextMenu, useDebouncedValue, useDelayedLoading, useDialog, useDialogStore, useDynamicPageSize, useFormField, useFormSubmission, useInfiniteScroll, useKeyboard, useLocalStorageState, useNForm, useNPortalScope, usePrefix, useSelection, useStepNavigation, useStorageContextMenu, useStoreSync, useTable, useTableKeyboard, useTableStore, useVariant, useVariantPreset };
3184
+ export { Alert, type AlertLook, type AlertOrientation, type AlertProps, type AlertSize, type AlertTone, type AlertVariant, NCard as AsyncCard, Avatar, AvatarFallback, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarProps$1 as AvatarProps, type AvatarShape$1 as AvatarShape, type AvatarSize, AvatarStatus, type AvatarStatusType, Badge, type BadgeColor, type BadgeIcon, type BadgeLook, type BadgeProps, type BadgeShape, type BadgeSize, type BadgeVariant, BaseInput, type BorderResolutionOptions, type BuildDefaultFileColumnsOptions, Button, type ButtonConfig, type ButtonIcon, type ButtonLoaderPosition, type ButtonProps, type ButtonRounded, type ButtonSize, type ButtonVariant, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxGroupInput, type CheckboxGroupInputProps, CheckboxInput, type CheckboxInputProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorArrayInput, type ColorArrayInputProps, ColorPickerInput, Combobox, ComboboxInput, type ComboboxInputProps, type ComboboxOption, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type ContextMenuItem, DateInput, type DateInputProps, type DeleteDialogOptions, Dialog, type DialogActionMode, type DialogApi, DialogClose, type DialogConfig, DialogContent, DialogDescription, DialogFooter, DialogHeader, type DialogHeight, DialogOverlay, DialogPortal, type DialogRenderContext, type DialogRenderer, type DialogSize, type DialogStore, DialogTitle, DialogTrigger, type DialogWidth, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicArray, type DynamicArrayProps, EmojiInput, type EmojiInputProps, type FileBrowserMode, FileImportButton, FileInput, type FileInputProps, type FileNode, Form, FormControl, FormDescription, FormField, FormInput, type FormInputProps, FormItem, FormLabel, FormMessage, type FormProps, type FormSlotClassNames, type FormVariant, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, ImageInput, type ImageInputProps, Indicator, type IndicatorHorizontal, type IndicatorOverlay, type IndicatorPosition, type IndicatorProps, type IndicatorResponsivePosition, type IndicatorSize, type IndicatorVertical, Input, type InputIcon, Label, LangInput, type LangInputProps, type LinkComponentType, MultiSelectInput, type MultiSelectInputProps, NAlert, type NAppCommandItem, NAppShell, type NAppShellAction, type NAppShellClassNames, type NAppShellProps, type NAppShellUser, NCard as NAsyncCard, type CardClassNames as NAsyncCardClassNames, type CardProps as NAsyncCardProps, NAvatar, type NAvatarClassNames, type NAvatarProps, type AvatarShape as NAvatarShape, NBadge, type NBadgeLook, type NBadgeProps, type NBulkAction, type NBulkActionButton, type NBulkActionSelect, NBulkActionsBar, type NBulkActionsBarProps, NButton, type NButtonProps, NCard, NCardAction, type CardClassNames as NCardClassNames, NCardFooter, type CardProps as NCardProps, NCommandPalette, type NCommandPaletteProps, NConfirmDialog, type NConfirmDialogProps, NContextMenu, type NContextMenuItem, type NContextMenuProps, NDataCardShell, type NDataCardShellActions, type NDataCardShellProps, NDeleteDialog, NDeleteDialogContent, type NDeleteDialogContentProps, type NDeleteDialogProps, NDetailCard, type NDetailCardClassNames, type NDetailCardProps, NDetailItem, type NDetailItemProps, NDetailList, type NDetailListItem, type NDetailListProps, NDialog, type NDialogDirectProps, type NDialogProps, NEmptyState, type NEmptyStateProps, NErrorBoundary, NErrorState, type NErrorStateProps, NFileBrowser, type NFileBrowserCardProps, type NFileBrowserProps, type NFileBrowserRenderThumbProps, NFileTypeIcon, type NFileTypeIconProps, NFilterBar, NFolderIcon, type NFolderIconProps, NForm, NFormSectionHeader, type NFormSectionHeaderProps, NIcon, type NIconProps, type NIconSource, NIndicator, NInspectorSheet, NLoadingState, type NLoadingStateProps, NMultiDialog, type NMultiDialogProps, NNavbar, NPageHeader, NPageHeaderActions, NPageHeaderFilters, type NPageHeaderProps, NPageHeaderTop, NPortalScopeProvider, NProgress, type NProgressProps, NRowActions, NSection, NSectionHeader, type NSectionHeaderActionsProps, type NSectionHeaderContentProps, type NSectionHeaderProps, type NSectionHeaderSubtitleProps, type NSectionHeaderTitleProps, NSectionInfo, type NSectionInfoProps, type NSectionProps, NSectionWithInfo, type NSectionWithInfoItem, type NSectionWithInfoProps, NSheet, type NSheetProps, NSidebar, NSidebarContent, type NSidebarContentProps, NSidebarFooter, type NSidebarFooterProps, NSidebarHeader, type NSidebarHeaderProps, NSidebarItem, NSidebarLogo, type NSidebarLogoProps, NSidebarMobile, type NSidebarMobileProps, NSidebarSection, type NSidebarSectionProps, NSkeleton, NSkeletonCalendar, NSkeletonChart, NSkeletonDonut, NSkeletonEventList, NSkeletonWidget, NSkeletonWidgets, NSlider, type NSliderProps, NSmartPasteDialog, type NSmartPasteDialogProps, NSpinner, type NSpinnerProps, NStatCard, type NStatCardClassNames, type NStatCardProps, NStatCardSkeleton, type NStatCardVariant, Swap as NSwap, type NSwapProps, NTable, NTableCardRoot, type NTableCardRootProps, NTableCards, type NTableClassNames, NTableContent, NTableHeader, NTableLoadingSkeleton, type NTableMenu, type NTableMenuProp, NTablePagination, type NTableProps, NTableRowSkeleton, NTableSkeleton, type NTableState, NTabs, type NTabsClassNames, type NTabsColor, type NTabsItem, type NTabsProps, type NTabsStyles, NUploader, type NUploaderItem, type NUploaderItemStatus, type NUploaderProps, NViewBody, NViewToggle, type NajmAccent, type NajmAppearance, type NajmBorderDegree, type NajmMode, type NajmPreset, NajmScroll, type NajmScrollProps, NajmThemeProvider, type NajmThemeProviderProps, type NajmThemeTokens, NativeSelect, type NativeSelectOption, type NativeSelectProps, type NavItem, type NavItemGroup, NumberInput, type NumberInputProps, PasswordInput, type PasswordInputProps, PhoneInput, type PhoneInputProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PrefixProvider, Progress, type ProgressColor, type ProgressLabelPosition, type ProgressProps, type ProgressSize, type PushDialogOptions, RadioGroup, RadioGroupInput, type RadioGroupInputProps, RadioGroupItem, type RenderSlot, RepeatingFields, type RepeatingFieldsProps, ScrollArea, type ScrollAreaProps, SearchField, SearchField as SearchInput, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectInput, type SelectInputProps, SelectItem, type SelectItemType$1 as SelectItemDataType, type SelectItemType, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, type SidebarItemProps, type SidebarProps, type SidebarWidths, SimpleTooltip, type SimpleTooltipProps, NSkeleton as Skeleton, Slider, SliderInput, type SliderInputProps, type SliderOrientation, type SliderProps, type SliderSize, type SliderVariant, type SmartPastePreview, type SpinnerVariant, StarRatingInput, type StarRatingInputProps, StatusPill, type StatusPillProps, type StatusPillTone, type StepConfig, StepIndicator, type StepMeta, StepsHeader, StepsProgress, type StorageMenuAction, type StorageSortOption, type StorageTarget, Swap, type SwapEffect, SwapIndeterminate, SwapOff, SwapOn, type SwapProps, type SwapSize, type SwapState, Switch, type SwitchColor, SwitchInput, type SwitchInputProps, type SwitchSize, TAB_COLORS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableHeaderColor, TableRow, type TableState, type TableStore, TableStoreContext, Tabs, TabsContent, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, TabsTrigger, type TabsTriggerProps, type TabsVariant, TextAreaInput, type TextAreaInputProps, TextInput, type TextInputProps, Textarea, TimeInput, type TimeInputProps, Toaster, Toggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseContextMenuResult, type UseNFormOptions, type UseStorageContextMenuOptions, type UseStorageContextMenuResult, type UserMenuAction, VariantProvider, type WizardClassNames, WizardForm, type WizardFormProps, alertVariants, avatarVariants, badgeColorVariants, badgeVariants, borderColorClassForDegree, buildDefaultFileColumns, buttonVariants, cn, composePreset, createDialogStore, createTableStore, dialogVariants, formatFileBytes, formatFileRelative, getIconColorProps, indicatorVariants, inputBorderColorClassForDegree, resolveBorderDegree, resolvePreset, resolveSlot, sliderVariants, surfaceBorderClasses, swapVariants, toggleVariants, tooltipContentVariants, truncateByCharacters, useClickOutside, useContextMenu, useDebouncedValue, useDelayedLoading, useDialog, useDialogStore, useDynamicPageSize, useFormField, useFormSubmission, useInfiniteScroll, useKeyboard, useLocalStorageState, useNForm, useNPortalScope, useNajmAppearance, usePrefix, useResolvedBorderDegree, useSelection, useStepNavigation, useStorageContextMenu, useStoreSync, useTable, useTableKeyboard, useTableStore, useVariant, useVariantPreset };