noorui-rtl 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,7 +5,17 @@ All notable changes to Noor UI will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
8
+ ## [0.8.0] - 2026-02-08
9
+
10
+ ### Changed
11
+ - **Icon library migration**: Replaced `lucide-react` with `@phosphor-icons/react` (Duotone weight)
12
+ - All ~130 icon imports across ~140 files migrated to Phosphor equivalents
13
+ - Global `IconContext.Provider` with `weight: 'duotone'` and `color: 'currentColor'` set in `DesignSystemProvider`
14
+ - New shared `IconComponent` type (`React.ComponentType<{ className?: string }>`) exported from `lib/types.ts`, replacing `LucideIcon`
15
+ - Storybook preview updated with its own `IconContext.Provider` (can't share `DesignSystemProvider` due to Next.js router dependency)
16
+ - RTL directional icon handling (`rtl:rotate-180`, `rtl:scale-x-[-1]`) works identically with Phosphor SVGs
17
+ - `tsup.config.ts` externals updated: `lucide-react` → `@phosphor-icons/react`
18
+ - `next.config.js` `optimizePackageImports` updated
9
19
 
10
20
  ### To Be Fixed
11
21
  - **Popover Component**: RTL positioning issues in portal-rendered components
@@ -85,7 +95,7 @@ This release improves the theme system's visual consistency and makes it easier
85
95
 
86
96
  ### Added
87
97
  - **ButtonArrow Component**: Added 'external' direction variant for external links
88
- - New diagonal arrow icon (↗) using ArrowUpRight from lucide-react
98
+ - New diagonal arrow icon (↗) using ArrowUpRight from @phosphor-icons/react
89
99
  - Automatic horizontal mirroring in RTL mode (↗ becomes ↖)
90
100
  - Proper RTL support using `scale-x-[-1]` transform
91
101
  - Works seamlessly with all button variants (primary, secondary, outline, ghost, link)
package/README.md CHANGED
@@ -449,7 +449,7 @@ MIT License - see [LICENSE](https://github.com/ositaka/noor-ui/blob/main/LICENSE
449
449
  Built with:
450
450
  - [Radix UI](https://www.radix-ui.com/) - Accessible component primitives
451
451
  - [Tailwind CSS](https://tailwindcss.com/) - Utility-first CSS framework
452
- - [Lucide React](https://lucide.dev/) - Beautiful icons
452
+ - [Phosphor Icons](https://phosphoricons.com/) - Beautiful duotone icons
453
453
  - [Next.js](https://nextjs.org/) - React framework
454
454
 
455
455
  ## 💬 Support
package/dist/index.d.mts CHANGED
@@ -4,7 +4,6 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
4
4
  import * as class_variance_authority from 'class-variance-authority';
5
5
  import { VariantProps } from 'class-variance-authority';
6
6
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
7
- import { LucideIcon } from 'lucide-react';
8
7
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
9
8
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
10
9
  import * as DialogPrimitive from '@radix-ui/react-dialog';
@@ -265,6 +264,10 @@ interface CalendarProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'on
265
264
  }
266
265
  declare const Calendar: React$1.ForwardRefExoticComponent<CalendarProps & React$1.RefAttributes<HTMLDivElement>>;
267
266
 
267
+ type IconComponent = React.ComponentType<{
268
+ className?: string;
269
+ }>;
270
+
268
271
  type CalloutType = 'info' | 'warning' | 'error' | 'success' | 'note';
269
272
  interface CalloutProps {
270
273
  children: React.ReactNode;
@@ -273,7 +276,7 @@ interface CalloutProps {
273
276
  /** Optional title */
274
277
  title?: string;
275
278
  /** Custom icon to override the default */
276
- icon?: LucideIcon;
279
+ icon?: IconComponent;
277
280
  /** Additional CSS classes */
278
281
  className?: string;
279
282
  }
@@ -363,7 +366,7 @@ declare const Command: React$1.ForwardRefExoticComponent<Omit<{
363
366
  ref?: React$1.Ref<HTMLDivElement>;
364
367
  } & {
365
368
  asChild?: boolean;
366
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
369
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
367
370
  label?: string;
368
371
  shouldFilter?: boolean;
369
372
  filter?: (value: string, search: string, keywords?: string[]) => number;
@@ -381,7 +384,7 @@ declare const CommandInput: React$1.ForwardRefExoticComponent<Omit<Omit<Pick<Pic
381
384
  ref?: React$1.Ref<HTMLInputElement>;
382
385
  } & {
383
386
  asChild?: boolean;
384
- }, "asChild" | "key" | keyof React$1.InputHTMLAttributes<HTMLInputElement>>, "value" | "type" | "onChange"> & {
387
+ }, "key" | "asChild" | keyof React$1.InputHTMLAttributes<HTMLInputElement>>, "value" | "type" | "onChange"> & {
385
388
  value?: string;
386
389
  onValueChange?: (search: string) => void;
387
390
  } & React$1.RefAttributes<HTMLInputElement>, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
@@ -391,7 +394,7 @@ declare const CommandList: React$1.ForwardRefExoticComponent<Omit<{
391
394
  ref?: React$1.Ref<HTMLDivElement>;
392
395
  } & {
393
396
  asChild?: boolean;
394
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
397
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
395
398
  label?: string;
396
399
  } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
397
400
  declare const CommandEmpty: React$1.ForwardRefExoticComponent<Omit<{
@@ -400,14 +403,14 @@ declare const CommandEmpty: React$1.ForwardRefExoticComponent<Omit<{
400
403
  ref?: React$1.Ref<HTMLDivElement>;
401
404
  } & {
402
405
  asChild?: boolean;
403
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
406
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
404
407
  declare const CommandGroup: React$1.ForwardRefExoticComponent<Omit<{
405
408
  children?: React$1.ReactNode;
406
409
  } & Omit<Pick<Pick<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
407
410
  ref?: React$1.Ref<HTMLDivElement>;
408
411
  } & {
409
412
  asChild?: boolean;
410
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
413
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
411
414
  heading?: React$1.ReactNode;
412
415
  value?: string;
413
416
  forceMount?: boolean;
@@ -416,7 +419,7 @@ declare const CommandSeparator: React$1.ForwardRefExoticComponent<Omit<Pick<Pick
416
419
  ref?: React$1.Ref<HTMLDivElement>;
417
420
  } & {
418
421
  asChild?: boolean;
419
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
422
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
420
423
  alwaysRender?: boolean;
421
424
  } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
422
425
  declare const CommandItem: React$1.ForwardRefExoticComponent<Omit<{
@@ -425,7 +428,7 @@ declare const CommandItem: React$1.ForwardRefExoticComponent<Omit<{
425
428
  ref?: React$1.Ref<HTMLDivElement>;
426
429
  } & {
427
430
  asChild?: boolean;
428
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>>, "value" | "disabled" | "onSelect"> & {
431
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>>, "value" | "onSelect" | "disabled"> & {
429
432
  disabled?: boolean;
430
433
  onSelect?: (value: string) => void;
431
434
  value?: string;
@@ -789,7 +792,7 @@ declare namespace EmptyState {
789
792
  interface FeatureCardProps {
790
793
  title: string;
791
794
  description: string;
792
- icon: LucideIcon;
795
+ icon: IconComponent;
793
796
  href?: string;
794
797
  className?: string;
795
798
  }
@@ -905,12 +908,12 @@ interface ListingCardBadge {
905
908
  className?: string;
906
909
  }
907
910
  interface ListingCardStat {
908
- icon: LucideIcon;
911
+ icon: IconComponent;
909
912
  value: string | number;
910
913
  label?: string;
911
914
  }
912
915
  interface ListingCardAction {
913
- icon: LucideIcon;
916
+ icon: IconComponent;
914
917
  label: string;
915
918
  onClick?: () => void;
916
919
  }
@@ -942,7 +945,7 @@ interface ListingCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
942
945
  /**
943
946
  * Icon to show as placeholder when no image provided
944
947
  */
945
- placeholderIcon?: LucideIcon;
948
+ placeholderIcon?: IconComponent;
946
949
  /**
947
950
  * Badges to show on top left of image
948
951
  */
@@ -1817,7 +1820,7 @@ interface WorkflowNodeData extends Record<string, unknown> {
1817
1820
  /**
1818
1821
  * Icon component
1819
1822
  */
1820
- icon?: LucideIcon;
1823
+ icon?: IconComponent;
1821
1824
  /**
1822
1825
  * Badge status
1823
1826
  */
@@ -1915,4 +1918,4 @@ declare function useRelativeTime(date: Date | string, locale?: string, options?:
1915
1918
  */
1916
1919
  declare function cn(...inputs: ClassValue[]): string;
1917
1920
 
1918
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, ArabicNumber, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Blockquote, type BlockquoteProps, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, type BuiltInTheme, Button, ButtonArrow, type ButtonArrowProps, type ButtonProps, Calendar, Callout, type CalloutProps, type CalloutType, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatMessage, Checkbox, ClientProviders, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColumnDef, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContentRenderer, type ContentRendererProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ConversationHistory, DashboardShell, DataTable, type DataTableProps, DatePicker, DesignSystemProvider, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, ErrorCallout, FeatureCard, FileUpload, Form, FormDescription, FormField, FormItem, FormLabel, FormMessage, type FormProps, HijriDate, InfoCallout, Input, type InputProps, Kbd, type KbdProps, Label, ListingCard, LoadingSpinner, MessageActions, ModelSelector, NotificationCenter, NumberInput, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, ParameterSlider, Popover, PopoverContent, PopoverTrigger, PrayerTimes, Progress, PromptInput, PullQuote, type PullQuoteProps, RadioGroup, RadioGroupItem, RangeSlider, type Reaction, ReactionPicker, type ReactionPickerProps, RichTextEditor, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, type SortDirection, StatsCard, type StatsCardProps, type Step, Stepper, type StepperProps, StreamingText, SuccessCallout, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type Theme, ThinkingIndicator, TimePicker, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, TokenCounter, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserBadge, type UserBadgeProps, type UserBadgeVariant, UserMenu, WarningCallout, WorkflowCanvas, WorkflowNode, ZakatCalculator, badgeVariants, buttonVariants, cn, useDesignSystem, useDirection, useRelativeTime, workflowNodeTypes };
1921
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, ArabicNumber, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Blockquote, type BlockquoteProps, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, type BuiltInTheme, Button, ButtonArrow, type ButtonArrowProps, type ButtonProps, Calendar, Callout, type CalloutProps, type CalloutType, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatMessage, Checkbox, ClientProviders, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColumnDef, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContentRenderer, type ContentRendererProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ConversationHistory, DashboardShell, DataTable, type DataTableProps, DatePicker, DesignSystemProvider, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, ErrorCallout, FeatureCard, FileUpload, Form, FormDescription, FormField, FormItem, FormLabel, FormMessage, type FormProps, HijriDate, type IconComponent, InfoCallout, Input, type InputProps, Kbd, type KbdProps, Label, ListingCard, LoadingSpinner, MessageActions, ModelSelector, NotificationCenter, NumberInput, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, ParameterSlider, Popover, PopoverContent, PopoverTrigger, PrayerTimes, Progress, PromptInput, PullQuote, type PullQuoteProps, RadioGroup, RadioGroupItem, RangeSlider, type Reaction, ReactionPicker, type ReactionPickerProps, RichTextEditor, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, type SortDirection, StatsCard, type StatsCardProps, type Step, Stepper, type StepperProps, StreamingText, SuccessCallout, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type Theme, ThinkingIndicator, TimePicker, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, TokenCounter, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserBadge, type UserBadgeProps, type UserBadgeVariant, UserMenu, WarningCallout, WorkflowCanvas, WorkflowNode, ZakatCalculator, badgeVariants, buttonVariants, cn, useDesignSystem, useDirection, useRelativeTime, workflowNodeTypes };
package/dist/index.d.ts CHANGED
@@ -4,7 +4,6 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
4
4
  import * as class_variance_authority from 'class-variance-authority';
5
5
  import { VariantProps } from 'class-variance-authority';
6
6
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
7
- import { LucideIcon } from 'lucide-react';
8
7
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
9
8
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
10
9
  import * as DialogPrimitive from '@radix-ui/react-dialog';
@@ -265,6 +264,10 @@ interface CalendarProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'on
265
264
  }
266
265
  declare const Calendar: React$1.ForwardRefExoticComponent<CalendarProps & React$1.RefAttributes<HTMLDivElement>>;
267
266
 
267
+ type IconComponent = React.ComponentType<{
268
+ className?: string;
269
+ }>;
270
+
268
271
  type CalloutType = 'info' | 'warning' | 'error' | 'success' | 'note';
269
272
  interface CalloutProps {
270
273
  children: React.ReactNode;
@@ -273,7 +276,7 @@ interface CalloutProps {
273
276
  /** Optional title */
274
277
  title?: string;
275
278
  /** Custom icon to override the default */
276
- icon?: LucideIcon;
279
+ icon?: IconComponent;
277
280
  /** Additional CSS classes */
278
281
  className?: string;
279
282
  }
@@ -363,7 +366,7 @@ declare const Command: React$1.ForwardRefExoticComponent<Omit<{
363
366
  ref?: React$1.Ref<HTMLDivElement>;
364
367
  } & {
365
368
  asChild?: boolean;
366
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
369
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
367
370
  label?: string;
368
371
  shouldFilter?: boolean;
369
372
  filter?: (value: string, search: string, keywords?: string[]) => number;
@@ -381,7 +384,7 @@ declare const CommandInput: React$1.ForwardRefExoticComponent<Omit<Omit<Pick<Pic
381
384
  ref?: React$1.Ref<HTMLInputElement>;
382
385
  } & {
383
386
  asChild?: boolean;
384
- }, "asChild" | "key" | keyof React$1.InputHTMLAttributes<HTMLInputElement>>, "value" | "type" | "onChange"> & {
387
+ }, "key" | "asChild" | keyof React$1.InputHTMLAttributes<HTMLInputElement>>, "value" | "type" | "onChange"> & {
385
388
  value?: string;
386
389
  onValueChange?: (search: string) => void;
387
390
  } & React$1.RefAttributes<HTMLInputElement>, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
@@ -391,7 +394,7 @@ declare const CommandList: React$1.ForwardRefExoticComponent<Omit<{
391
394
  ref?: React$1.Ref<HTMLDivElement>;
392
395
  } & {
393
396
  asChild?: boolean;
394
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
397
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
395
398
  label?: string;
396
399
  } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
397
400
  declare const CommandEmpty: React$1.ForwardRefExoticComponent<Omit<{
@@ -400,14 +403,14 @@ declare const CommandEmpty: React$1.ForwardRefExoticComponent<Omit<{
400
403
  ref?: React$1.Ref<HTMLDivElement>;
401
404
  } & {
402
405
  asChild?: boolean;
403
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
406
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>> & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
404
407
  declare const CommandGroup: React$1.ForwardRefExoticComponent<Omit<{
405
408
  children?: React$1.ReactNode;
406
409
  } & Omit<Pick<Pick<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
407
410
  ref?: React$1.Ref<HTMLDivElement>;
408
411
  } & {
409
412
  asChild?: boolean;
410
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
413
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
411
414
  heading?: React$1.ReactNode;
412
415
  value?: string;
413
416
  forceMount?: boolean;
@@ -416,7 +419,7 @@ declare const CommandSeparator: React$1.ForwardRefExoticComponent<Omit<Pick<Pick
416
419
  ref?: React$1.Ref<HTMLDivElement>;
417
420
  } & {
418
421
  asChild?: boolean;
419
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
422
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>> & {
420
423
  alwaysRender?: boolean;
421
424
  } & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
422
425
  declare const CommandItem: React$1.ForwardRefExoticComponent<Omit<{
@@ -425,7 +428,7 @@ declare const CommandItem: React$1.ForwardRefExoticComponent<Omit<{
425
428
  ref?: React$1.Ref<HTMLDivElement>;
426
429
  } & {
427
430
  asChild?: boolean;
428
- }, "asChild" | "key" | keyof React$1.HTMLAttributes<HTMLDivElement>>, "value" | "disabled" | "onSelect"> & {
431
+ }, "key" | "asChild" | keyof React$1.HTMLAttributes<HTMLDivElement>>, "value" | "onSelect" | "disabled"> & {
429
432
  disabled?: boolean;
430
433
  onSelect?: (value: string) => void;
431
434
  value?: string;
@@ -789,7 +792,7 @@ declare namespace EmptyState {
789
792
  interface FeatureCardProps {
790
793
  title: string;
791
794
  description: string;
792
- icon: LucideIcon;
795
+ icon: IconComponent;
793
796
  href?: string;
794
797
  className?: string;
795
798
  }
@@ -905,12 +908,12 @@ interface ListingCardBadge {
905
908
  className?: string;
906
909
  }
907
910
  interface ListingCardStat {
908
- icon: LucideIcon;
911
+ icon: IconComponent;
909
912
  value: string | number;
910
913
  label?: string;
911
914
  }
912
915
  interface ListingCardAction {
913
- icon: LucideIcon;
916
+ icon: IconComponent;
914
917
  label: string;
915
918
  onClick?: () => void;
916
919
  }
@@ -942,7 +945,7 @@ interface ListingCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
942
945
  /**
943
946
  * Icon to show as placeholder when no image provided
944
947
  */
945
- placeholderIcon?: LucideIcon;
948
+ placeholderIcon?: IconComponent;
946
949
  /**
947
950
  * Badges to show on top left of image
948
951
  */
@@ -1817,7 +1820,7 @@ interface WorkflowNodeData extends Record<string, unknown> {
1817
1820
  /**
1818
1821
  * Icon component
1819
1822
  */
1820
- icon?: LucideIcon;
1823
+ icon?: IconComponent;
1821
1824
  /**
1822
1825
  * Badge status
1823
1826
  */
@@ -1915,4 +1918,4 @@ declare function useRelativeTime(date: Date | string, locale?: string, options?:
1915
1918
  */
1916
1919
  declare function cn(...inputs: ClassValue[]): string;
1917
1920
 
1918
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, ArabicNumber, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Blockquote, type BlockquoteProps, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, type BuiltInTheme, Button, ButtonArrow, type ButtonArrowProps, type ButtonProps, Calendar, Callout, type CalloutProps, type CalloutType, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatMessage, Checkbox, ClientProviders, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColumnDef, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContentRenderer, type ContentRendererProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ConversationHistory, DashboardShell, DataTable, type DataTableProps, DatePicker, DesignSystemProvider, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, ErrorCallout, FeatureCard, FileUpload, Form, FormDescription, FormField, FormItem, FormLabel, FormMessage, type FormProps, HijriDate, InfoCallout, Input, type InputProps, Kbd, type KbdProps, Label, ListingCard, LoadingSpinner, MessageActions, ModelSelector, NotificationCenter, NumberInput, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, ParameterSlider, Popover, PopoverContent, PopoverTrigger, PrayerTimes, Progress, PromptInput, PullQuote, type PullQuoteProps, RadioGroup, RadioGroupItem, RangeSlider, type Reaction, ReactionPicker, type ReactionPickerProps, RichTextEditor, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, type SortDirection, StatsCard, type StatsCardProps, type Step, Stepper, type StepperProps, StreamingText, SuccessCallout, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type Theme, ThinkingIndicator, TimePicker, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, TokenCounter, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserBadge, type UserBadgeProps, type UserBadgeVariant, UserMenu, WarningCallout, WorkflowCanvas, WorkflowNode, ZakatCalculator, badgeVariants, buttonVariants, cn, useDesignSystem, useDirection, useRelativeTime, workflowNodeTypes };
1921
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, ArabicNumber, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Blockquote, type BlockquoteProps, Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, type BuiltInTheme, Button, ButtonArrow, type ButtonArrowProps, type ButtonProps, Calendar, Callout, type CalloutProps, type CalloutType, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatMessage, Checkbox, ClientProviders, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColumnDef, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContentRenderer, type ContentRendererProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ConversationHistory, DashboardShell, DataTable, type DataTableProps, DatePicker, DesignSystemProvider, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, ErrorCallout, FeatureCard, FileUpload, Form, FormDescription, FormField, FormItem, FormLabel, FormMessage, type FormProps, HijriDate, type IconComponent, InfoCallout, Input, type InputProps, Kbd, type KbdProps, Label, ListingCard, LoadingSpinner, MessageActions, ModelSelector, NotificationCenter, NumberInput, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, ParameterSlider, Popover, PopoverContent, PopoverTrigger, PrayerTimes, Progress, PromptInput, PullQuote, type PullQuoteProps, RadioGroup, RadioGroupItem, RangeSlider, type Reaction, ReactionPicker, type ReactionPickerProps, RichTextEditor, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, type SortDirection, StatsCard, type StatsCardProps, type Step, Stepper, type StepperProps, StreamingText, SuccessCallout, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type Theme, ThinkingIndicator, TimePicker, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, TokenCounter, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserBadge, type UserBadgeProps, type UserBadgeVariant, UserMenu, WarningCallout, WorkflowCanvas, WorkflowNode, ZakatCalculator, badgeVariants, buttonVariants, cn, useDesignSystem, useDirection, useRelativeTime, workflowNodeTypes };