@parto-system-design/ui 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -41,10 +41,6 @@ import * as SwitchPrimitive from '@radix-ui/react-switch';
41
41
  import * as TabsPrimitive from '@radix-ui/react-tabs';
42
42
  import * as TogglePrimitive from '@radix-ui/react-toggle';
43
43
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
44
- import { LineSvgProps } from '@nivo/line';
45
- import { BarSvgProps } from '@nivo/bar';
46
- import { PieSvgProps } from '@nivo/pie';
47
- import { HeatMapSvgProps } from '@nivo/heatmap';
48
44
 
49
45
  declare function cn(...inputs: ClassValue[]): string;
50
46
  type SupportedLocale = 'fa' | 'ar' | 'en';
@@ -56,7 +52,7 @@ type SupportedLocale = 'fa' | 'ar' | 'en';
56
52
  declare function convertToLocalNumbers(text: string | number, locale: SupportedLocale): string;
57
53
  /**
58
54
  * Format large numbers with locale-aware suffixes (K/M/B).
59
- * @example formatLargeNumber(1500, 'fa') => '۱.۵ه'
55
+ * @example formatLargeNumber(1500, 'fa') => '۱.۵ هزار'
60
56
  * @example formatLargeNumber(1500, 'en') => '1.5K'
61
57
  */
62
58
  declare function formatLargeNumber(num: number, locale: SupportedLocale): string;
@@ -72,11 +68,28 @@ declare function formatNumber(num: number | undefined, format?: 'exact' | 'short
72
68
  */
73
69
  declare function formatRelativeTime(date: Date | string | number): string;
74
70
  /**
75
- * Format date to absolute format (Persian)
71
+ * Format date to absolute format (Persian / Jalali)
72
+ * Uses date-fns-jalali for accurate Jalali conversion.
76
73
  * @example formatAbsoluteTime(new Date()) => '۱۵ دی ۱۴۰۳، ۱۵:۳۰'
77
74
  */
78
75
  declare function formatAbsoluteTime(date: Date | string | number): string;
79
76
 
77
+ /**
78
+ * Persian (Jalali / Solar Hijri) calendar utilities.
79
+ *
80
+ * Backed by **date-fns-jalali** — a Jalali-native fork of date-fns v4.
81
+ * Chosen over moment-jalaali (unmaintained since 2019) because:
82
+ * • Tree-shakeable, zero dependencies
83
+ * • Built-in TypeScript types
84
+ * • Tracks upstream date-fns releases
85
+ * • Built-in fa-IR locale with month/weekday names
86
+ * • ~5-10KB gzipped for typical usage
87
+ *
88
+ * DO NOT replace this library again. This decision was made after
89
+ * evaluating date-fns-jalali, jalaali-js, jalaliday (dayjs), moment-jalaali,
90
+ * and persian-date in April 2026. date-fns-jalali is the clear winner
91
+ * for a design system that needs formatting, parsing, and locale support.
92
+ */
80
93
  /**
81
94
  * Persian/Farsi month names
82
95
  */
@@ -102,9 +115,14 @@ declare function toPersianDigits(num: number | string): string;
102
115
  */
103
116
  declare function toEnglishDigits(str: string): string;
104
117
  /**
105
- * Format a Date object to Persian/Jalali date string
118
+ * Format a Date object to Persian/Jalali date string.
119
+ *
120
+ * Uses date-fns-jalali format tokens:
121
+ * yyyy = Jalali year, MM = month (01-12), dd = day (01-31)
122
+ * MMMM = full month name, EEEE = full weekday name
123
+ * HH:mm = 24h time, hh:mm a = 12h time
106
124
  */
107
- declare function formatJalaliDate(date: Date, format?: string): string;
125
+ declare function formatJalaliDate(date: Date, formatStr?: string): string;
108
126
  /**
109
127
  * Get Persian month name from a Date object
110
128
  */
@@ -161,6 +179,8 @@ interface EngagementRange {
161
179
  color: string;
162
180
  colorFaded: string;
163
181
  hoverColor: string;
182
+ /** Accessible text color for use on hoverColor background */
183
+ contrastText: string;
164
184
  }
165
185
  interface EngagementRangeWithDisplay extends EngagementRange {
166
186
  display: string;
@@ -181,6 +201,35 @@ declare function getFollowerGroup(followers: number): FollowerGroup;
181
201
  declare function getEngagementRanges(followers: number, locale: SupportedLocale): EngagementRangeWithDisplay[];
182
202
  declare function getCurrentRangeIndex(currentRate: number, ranges: EngagementRange[]): number;
183
203
 
204
+ type Locale = SupportedLocale;
205
+ /**
206
+ * Returns true for RTL locales (fa, ar).
207
+ */
208
+ declare function isRTL(locale: SupportedLocale): boolean;
209
+ /**
210
+ * UI string translations used by the EngagementRate component.
211
+ * Centralised here to avoid duplication between components.
212
+ */
213
+ declare const engagementUiTranslations: Record<SupportedLocale, {
214
+ yourCategory: string;
215
+ influencer: string;
216
+ followers: string;
217
+ over: string;
218
+ to: string;
219
+ and: string;
220
+ lessThan: string;
221
+ you: string;
222
+ criteria: string;
223
+ }>;
224
+ /**
225
+ * Sentiment label translations used by the SentimentBadge component.
226
+ */
227
+ declare const sentimentLabels: Record<SupportedLocale, {
228
+ positive: string;
229
+ negative: string;
230
+ neutral: string;
231
+ mixed: string;
232
+ }>;
184
233
  /**
185
234
  * Default UI strings for components that need localized text.
186
235
  * Persian (fa) is the default locale for backward compatibility.
@@ -204,6 +253,44 @@ declare const UI_STRINGS: {
204
253
  readonly previous: "قبلی";
205
254
  readonly next: "بعدی";
206
255
  readonly actions: "عملیات";
256
+ readonly copy: "کپی";
257
+ readonly copied: "کپی شد";
258
+ readonly confirm: "تایید";
259
+ readonly cancel: "انصراف";
260
+ readonly areYouSure: "آیا مطمئن هستید؟";
261
+ readonly stepperLabel: "مراحل";
262
+ readonly stepCompleted: "تکمیل شده";
263
+ readonly stepCurrent: "مرحله فعلی";
264
+ readonly stepPending: "در انتظار";
265
+ readonly clearFilters: "پاک کردن فیلترها";
266
+ readonly activeFilters: "فیلترهای فعال";
267
+ readonly goBack: "بازگشت";
268
+ readonly gridView: "نمای شبکه‌ای";
269
+ readonly listView: "نمای لیستی";
270
+ readonly loading: "در حال بارگذاری...";
271
+ readonly unexpectedError: "خطای غیرمنتظره‌ای رخ داد";
272
+ readonly selectAll: "انتخاب همه";
273
+ readonly selectRow: "انتخاب ردیف";
274
+ readonly noDataToDisplay: "داده‌ای برای نمایش وجود ندارد";
275
+ readonly likesCount: "تعداد لایک";
276
+ readonly commentsCount: "تعداد کامنت";
277
+ readonly viewsCount: "تعداد بازدید";
278
+ readonly sharesCount: "تعداد اشتراک";
279
+ readonly postTypeLabel: "نوع پست";
280
+ readonly postTypePhoto: "عکس";
281
+ readonly postTypeVideo: "ویدیو";
282
+ readonly postTypeCarousel: "اسلاید";
283
+ readonly showMore: "بیشتر";
284
+ readonly showLess: "کمتر";
285
+ readonly noMediaAvailable: "رسانه‌ای موجود نیست";
286
+ readonly commentAnalysis: "تحلیل کامنت‌ها";
287
+ readonly commentAnalysisDisabled: "تحلیل کامنت‌ها (غیرفعال)";
288
+ readonly booster: "بوستر";
289
+ readonly boosterDisabled: "بوستر (غیرفعال)";
290
+ readonly aiAnalysis: "تحلیل هوش مصنوعی";
291
+ readonly aiAnalysisDisabled: "تحلیل هوش مصنوعی (غیرفعال)";
292
+ readonly openOnInstagram: "باز کردن در اینستاگرام";
293
+ readonly openOnInstagramDisabled: "باز کردن در اینستاگرام (غیرفعال)";
207
294
  };
208
295
  readonly ar: {
209
296
  readonly noResults: "لم يتم العثور على نتائج";
@@ -223,6 +310,44 @@ declare const UI_STRINGS: {
223
310
  readonly previous: "السابق";
224
311
  readonly next: "التالي";
225
312
  readonly actions: "إجراءات";
313
+ readonly copy: "نسخ";
314
+ readonly copied: "تم النسخ";
315
+ readonly confirm: "تأكيد";
316
+ readonly cancel: "إلغاء";
317
+ readonly areYouSure: "هل أنت متأكد؟";
318
+ readonly stepperLabel: "الخطوات";
319
+ readonly stepCompleted: "مكتمل";
320
+ readonly stepCurrent: "الخطوة الحالية";
321
+ readonly stepPending: "قيد الانتظار";
322
+ readonly clearFilters: "مسح الفلاتر";
323
+ readonly activeFilters: "الفلاتر النشطة";
324
+ readonly goBack: "رجوع";
325
+ readonly gridView: "عرض شبكي";
326
+ readonly listView: "عرض قائمة";
327
+ readonly loading: "جارٍ التحميل...";
328
+ readonly unexpectedError: "حدث خطأ غير متوقع";
329
+ readonly selectAll: "تحديد الكل";
330
+ readonly selectRow: "تحديد الصف";
331
+ readonly noDataToDisplay: "لا توجد بيانات للعرض";
332
+ readonly likesCount: "عدد الإعجابات";
333
+ readonly commentsCount: "عدد التعليقات";
334
+ readonly viewsCount: "عدد المشاهدات";
335
+ readonly sharesCount: "عدد المشاركات";
336
+ readonly postTypeLabel: "نوع المنشور";
337
+ readonly postTypePhoto: "صورة";
338
+ readonly postTypeVideo: "فيديو";
339
+ readonly postTypeCarousel: "شرائح";
340
+ readonly showMore: "المزيد";
341
+ readonly showLess: "أقل";
342
+ readonly noMediaAvailable: "لا توجد وسائط";
343
+ readonly commentAnalysis: "تحليل التعليقات";
344
+ readonly commentAnalysisDisabled: "تحليل التعليقات (معطل)";
345
+ readonly booster: "تعزيز";
346
+ readonly boosterDisabled: "تعزيز (معطل)";
347
+ readonly aiAnalysis: "تحليل الذكاء الاصطناعي";
348
+ readonly aiAnalysisDisabled: "تحليل الذكاء الاصطناعي (معطل)";
349
+ readonly openOnInstagram: "فتح في إنستاجرام";
350
+ readonly openOnInstagramDisabled: "فتح في إنستاجرام (معطل)";
226
351
  };
227
352
  readonly en: {
228
353
  readonly noResults: "No results found";
@@ -242,6 +367,44 @@ declare const UI_STRINGS: {
242
367
  readonly previous: "Previous";
243
368
  readonly next: "Next";
244
369
  readonly actions: "Actions";
370
+ readonly copy: "Copy";
371
+ readonly copied: "Copied";
372
+ readonly confirm: "Confirm";
373
+ readonly cancel: "Cancel";
374
+ readonly areYouSure: "Are you sure?";
375
+ readonly stepperLabel: "Steps";
376
+ readonly stepCompleted: "Completed";
377
+ readonly stepCurrent: "Current step";
378
+ readonly stepPending: "Pending";
379
+ readonly clearFilters: "Clear filters";
380
+ readonly activeFilters: "Active filters";
381
+ readonly goBack: "Go back";
382
+ readonly gridView: "Grid view";
383
+ readonly listView: "List view";
384
+ readonly loading: "Loading...";
385
+ readonly unexpectedError: "An unexpected error occurred";
386
+ readonly selectAll: "Select all";
387
+ readonly selectRow: "Select row";
388
+ readonly noDataToDisplay: "No data to display";
389
+ readonly likesCount: "Likes";
390
+ readonly commentsCount: "Comments";
391
+ readonly viewsCount: "Views";
392
+ readonly sharesCount: "Shares";
393
+ readonly postTypeLabel: "Post type";
394
+ readonly postTypePhoto: "Photo";
395
+ readonly postTypeVideo: "Video";
396
+ readonly postTypeCarousel: "Carousel";
397
+ readonly showMore: "More";
398
+ readonly showLess: "Less";
399
+ readonly noMediaAvailable: "No media available";
400
+ readonly commentAnalysis: "Comment Analysis";
401
+ readonly commentAnalysisDisabled: "Comment Analysis (disabled)";
402
+ readonly booster: "Booster";
403
+ readonly boosterDisabled: "Booster (disabled)";
404
+ readonly aiAnalysis: "AI Analysis";
405
+ readonly aiAnalysisDisabled: "AI Analysis (disabled)";
406
+ readonly openOnInstagram: "Open on Instagram";
407
+ readonly openOnInstagramDisabled: "Open on Instagram (disabled)";
245
408
  };
246
409
  };
247
410
  type UIStringKeys = keyof (typeof UI_STRINGS)['fa'];
@@ -255,21 +418,17 @@ declare function getUIStrings(locale?: SupportedLocale): UIStrings;
255
418
  /**
256
419
  * Standard size scale used across the design system.
257
420
  * Components should accept these values for their `size` prop.
258
- *
259
- * Primary: xs | sm | md | lg | xl
260
- * Legacy: tiny | small | medium | large | xlarge (deprecated, kept for backward compat)
261
421
  */
262
422
  type StandardSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
423
+ /** @deprecated Use `StandardSize` instead — legacy names have been removed */
424
+ type LegacySize = StandardSize;
263
425
  /** @deprecated Use `StandardSize` instead */
264
- type LegacySize = 'tiny' | 'small' | 'medium' | 'large' | 'xlarge';
265
- /** Size type that accepts both standard and legacy names during migration */
266
- type SizeWithLegacy = StandardSize | LegacySize;
426
+ type SizeWithLegacy = StandardSize;
267
427
  /**
268
- * Normalizes a size value to standard names (xs|sm|md|lg|xl).
269
- * Accepts both legacy and standard names.
270
- * Emits a console.warn in development for legacy names.
428
+ * Normalizes a size value to standard names.
429
+ * @deprecated All sizes are standard now — this function is a no-op passthrough.
271
430
  */
272
- declare function normalizeSize(size: SizeWithLegacy): StandardSize;
431
+ declare function normalizeSize(size: StandardSize): StandardSize;
273
432
 
274
433
  type Icon = LucideIcon;
275
434
  /**
@@ -329,7 +488,7 @@ interface AutocompleteItem {
329
488
  label: string;
330
489
  [key: string]: unknown;
331
490
  }
332
- interface AutocompleteProps<T extends AutocompleteItem = AutocompleteItem> extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "onSelect" | "size"> {
491
+ interface AutocompleteProps<T extends AutocompleteItem = AutocompleteItem> extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'onSelect' | 'size'> {
333
492
  /**
334
493
  * مقدار ورودی
335
494
  * Input value
@@ -412,7 +571,7 @@ interface AutocompleteProps<T extends AutocompleteItem = AutocompleteItem> exten
412
571
  * جهت نمایش (RTL/LTR)
413
572
  * Direction
414
573
  */
415
- dir?: "rtl" | "ltr";
574
+ dir?: 'rtl' | 'ltr';
416
575
  /**
417
576
  * Locale for default strings
418
577
  * @default "fa"
@@ -429,7 +588,7 @@ interface UserItem {
429
588
  followers: number;
430
589
  [key: string]: unknown;
431
590
  }
432
- interface UserAutocompleteProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "onSelect" | "size"> {
591
+ interface UserAutocompleteProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'onSelect' | 'size'> {
433
592
  /**
434
593
  * مقدار ورودی
435
594
  * Input value
@@ -502,7 +661,7 @@ interface UserAutocompleteProps extends Omit<React$1.InputHTMLAttributes<HTMLInp
502
661
  * جهت نمایش (RTL/LTR)
503
662
  * Direction
504
663
  */
505
- dir?: "rtl" | "ltr";
664
+ dir?: 'rtl' | 'ltr';
506
665
  /**
507
666
  * Locale for default strings
508
667
  * @default "fa"
@@ -537,6 +696,23 @@ interface UserAutocompleteProps extends Omit<React$1.InputHTMLAttributes<HTMLInp
537
696
  }
538
697
  declare const UserAutocomplete: React$1.ForwardRefExoticComponent<UserAutocompleteProps & React$1.RefAttributes<HTMLInputElement>>;
539
698
 
699
+ declare const appBarVariants: (props?: ({
700
+ size?: "sm" | "md" | "lg" | null | undefined;
701
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
702
+ interface AppBarProps extends React$1.HTMLAttributes<HTMLElement>, VariantProps<typeof appBarVariants> {
703
+ /** Logo or brand mark — rendered at the inline-start */
704
+ logo?: React$1.ReactNode;
705
+ /** Primary navigation links — rendered after logo */
706
+ nav?: React$1.ReactNode;
707
+ /** Search input or trigger — rendered in the center area */
708
+ search?: React$1.ReactNode;
709
+ /** Action buttons (notifications, help, etc.) — rendered before user slot */
710
+ actions?: React$1.ReactNode;
711
+ /** User avatar / menu — rendered at the inline-end */
712
+ user?: React$1.ReactNode;
713
+ }
714
+ declare const AppBar: React$1.ForwardRefExoticComponent<AppBarProps & React$1.RefAttributes<HTMLElement>>;
715
+
540
716
  declare function AspectRatio({ className, ...props }: React$1.ComponentProps<typeof AspectRatioPrimitive.Root>): react_jsx_runtime.JSX.Element;
541
717
  declare namespace AspectRatio {
542
718
  var displayName: string;
@@ -555,47 +731,75 @@ declare namespace AvatarFallback {
555
731
  var displayName: string;
556
732
  }
557
733
 
734
+ declare const avatarGroupVariants: (props?: ({
735
+ size?: "sm" | "md" | "lg" | null | undefined;
736
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
737
+ interface AvatarGroupItem {
738
+ src?: string;
739
+ alt?: string;
740
+ fallback?: string;
741
+ }
742
+ interface AvatarGroupProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof avatarGroupVariants> {
743
+ /** Array of avatar data to display */
744
+ items: AvatarGroupItem[];
745
+ /** Maximum number of avatars to show before the "+N" overflow */
746
+ max?: number;
747
+ }
748
+ declare const AvatarGroup: React$1.ForwardRefExoticComponent<AvatarGroupProps & React$1.RefAttributes<HTMLDivElement>>;
749
+
558
750
  declare const badgeVariants: (props?: ({
559
751
  variant?: "default" | "success" | "warning" | "destructive" | "secondary" | "outline" | "brand" | null | undefined;
560
- size?: "xs" | "sm" | "md" | "lg" | "tiny" | "small" | "large" | null | undefined;
752
+ size?: "xs" | "sm" | "md" | "lg" | "small" | "tiny" | "large" | null | undefined;
561
753
  dot?: boolean | null | undefined;
562
754
  } & class_variance_authority_types.ClassProp) | undefined) => string;
563
- interface BadgeProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
755
+ interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
564
756
  dot?: boolean;
565
- dotPosition?: "start" | "end";
757
+ dotPosition?: 'start' | 'end';
566
758
  }
567
- declare function Badge({ className, variant, size, dot, dotPosition, children, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
568
- declare namespace Badge {
569
- var displayName: string;
759
+ declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
760
+
761
+ declare const bannerVariants: (props?: ({
762
+ variant?: "info" | "success" | "warning" | "destructive" | "neutral" | null | undefined;
763
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
764
+ interface BannerProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof bannerVariants> {
765
+ /** Whether the banner can be dismissed */
766
+ dismissible?: boolean;
767
+ /** Callback when the banner is dismissed */
768
+ onDismiss?: () => void;
769
+ /** Icon to show before the message */
770
+ icon?: React$1.ReactNode;
771
+ /** Action element (e.g., a button or link) */
772
+ action?: React$1.ReactNode;
570
773
  }
774
+ declare const Banner: React$1.ForwardRefExoticComponent<BannerProps & React$1.RefAttributes<HTMLDivElement>>;
571
775
 
572
- declare function Breadcrumb({ ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
776
+ declare function Breadcrumb({ ...props }: React$1.ComponentProps<'nav'>): react_jsx_runtime.JSX.Element;
573
777
  declare namespace Breadcrumb {
574
778
  var displayName: string;
575
779
  }
576
- declare function BreadcrumbList({ className, dir, ...props }: React$1.ComponentProps<"ol">): react_jsx_runtime.JSX.Element;
780
+ declare function BreadcrumbList({ className, dir, ...props }: React$1.ComponentProps<'ol'>): react_jsx_runtime.JSX.Element;
577
781
  declare namespace BreadcrumbList {
578
782
  var displayName: string;
579
783
  }
580
- declare function BreadcrumbItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
784
+ declare function BreadcrumbItem({ className, ...props }: React$1.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
581
785
  declare namespace BreadcrumbItem {
582
786
  var displayName: string;
583
787
  }
584
- declare function BreadcrumbLink({ asChild, className, ...props }: React$1.ComponentProps<"a"> & {
788
+ declare function BreadcrumbLink({ asChild, className, ...props }: React$1.ComponentProps<'a'> & {
585
789
  asChild?: boolean;
586
790
  }): react_jsx_runtime.JSX.Element;
587
791
  declare namespace BreadcrumbLink {
588
792
  var displayName: string;
589
793
  }
590
- declare function BreadcrumbPage({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
794
+ declare function BreadcrumbPage({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
591
795
  declare namespace BreadcrumbPage {
592
796
  var displayName: string;
593
797
  }
594
- declare function BreadcrumbSeparator({ children, className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
798
+ declare function BreadcrumbSeparator({ children, className, ...props }: React$1.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
595
799
  declare namespace BreadcrumbSeparator {
596
800
  var displayName: string;
597
801
  }
598
- declare function BreadcrumbEllipsis({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
802
+ declare function BreadcrumbEllipsis({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
599
803
  declare namespace BreadcrumbEllipsis {
600
804
  var displayName: string;
601
805
  }
@@ -604,10 +808,9 @@ type ButtonVariantProps = VariantProps<typeof buttonVariants>;
604
808
  declare const buttonVariants: (props?: ({
605
809
  variant?: "link" | "text" | "default" | "warning" | "destructive" | "primary" | "secondary" | "outline" | "dashed" | "danger" | "ghost" | null | undefined;
606
810
  block?: boolean | null | undefined;
607
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "tiny" | "small" | "medium" | "large" | "xlarge" | "default" | "icon" | null | undefined;
811
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | null | undefined;
608
812
  disabled?: boolean | null | undefined;
609
813
  rounded?: boolean | null | undefined;
610
- defaultVariants?: "size" | "variant" | null | undefined;
611
814
  } & class_variance_authority_types.ClassProp) | undefined) => string;
612
815
  type LoadingVariantProps = VariantProps<typeof loadingVariants>;
613
816
  declare const loadingVariants: (props?: ({
@@ -619,7 +822,11 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
619
822
  type?: ButtonVariantProps['variant'] | React.ButtonHTMLAttributes<HTMLButtonElement>['type'];
620
823
  htmlType?: React.ButtonHTMLAttributes<HTMLButtonElement>['type'];
621
824
  icon?: React.ReactNode;
825
+ iconStart?: React.ReactNode;
826
+ iconEnd?: React.ReactNode;
827
+ /** @deprecated Use iconStart instead */
622
828
  iconLeft?: React.ReactNode;
829
+ /** @deprecated Use iconEnd instead */
623
830
  iconRight?: React.ReactNode;
624
831
  isLoading?: boolean;
625
832
  /** @deprecated Use `isLoading` instead */
@@ -637,17 +844,17 @@ declare const Separator: React$1.ForwardRefExoticComponent<SeparatorProps & Reac
637
844
  declare const buttonGroupVariants: (props?: ({
638
845
  orientation?: "horizontal" | "vertical" | null | undefined;
639
846
  } & class_variance_authority_types.ClassProp) | undefined) => string;
640
- declare function ButtonGroup({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>): react_jsx_runtime.JSX.Element;
847
+ declare function ButtonGroup({ className, orientation, ...props }: React$1.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants>): react_jsx_runtime.JSX.Element;
641
848
  declare namespace ButtonGroup {
642
849
  var displayName: string;
643
850
  }
644
- declare function ButtonGroupText({ className, asChild, ...props }: React.ComponentProps<"div"> & {
851
+ declare function ButtonGroupText({ className, asChild, ...props }: React$1.ComponentProps<'div'> & {
645
852
  asChild?: boolean;
646
853
  }): react_jsx_runtime.JSX.Element;
647
854
  declare namespace ButtonGroupText {
648
855
  var displayName: string;
649
856
  }
650
- declare function ButtonGroupSeparator({ className, orientation, ...props }: React.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
857
+ declare function ButtonGroupSeparator({ className, orientation, ...props }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
651
858
  declare namespace ButtonGroupSeparator {
652
859
  var displayName: string;
653
860
  }
@@ -663,11 +870,11 @@ declare namespace Calendar {
663
870
  var displayName: string;
664
871
  }
665
872
 
666
- interface CardProps extends React$1.HTMLAttributes<HTMLDivElement> {
667
- /** Visual variant */
668
- variant?: "default" | "outlined" | "elevated" | "interactive";
669
- /** Content density / padding size */
670
- size?: "sm" | "md" | "lg";
873
+ declare const cardVariants: (props?: ({
874
+ variant?: "default" | "outlined" | "elevated" | "interactive" | "glass" | null | undefined;
875
+ size?: "sm" | "md" | "lg" | null | undefined;
876
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
877
+ interface CardProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
671
878
  }
672
879
  declare const Card: React$1.ForwardRefExoticComponent<CardProps & React$1.RefAttributes<HTMLDivElement>>;
673
880
  declare const CardHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
@@ -683,18 +890,18 @@ type CarouselPlugin = UseCarouselParameters[1];
683
890
  type CarouselProps = {
684
891
  opts?: CarouselOptions;
685
892
  plugins?: CarouselPlugin;
686
- orientation?: "horizontal" | "vertical";
893
+ orientation?: 'horizontal' | 'vertical';
687
894
  setApi?: (api: CarouselApi) => void;
688
895
  };
689
- declare function Carousel({ orientation, opts, setApi, plugins, className, children, dir, ...props }: React$1.ComponentProps<"div"> & CarouselProps): react_jsx_runtime.JSX.Element;
896
+ declare function Carousel({ orientation, opts, setApi, plugins, className, children, dir, ...props }: React$1.ComponentProps<'div'> & CarouselProps): react_jsx_runtime.JSX.Element;
690
897
  declare namespace Carousel {
691
898
  var displayName: string;
692
899
  }
693
- declare function CarouselContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
900
+ declare function CarouselContent({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
694
901
  declare namespace CarouselContent {
695
902
  var displayName: string;
696
903
  }
697
- declare function CarouselItem({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
904
+ declare function CarouselItem({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
698
905
  declare namespace CarouselItem {
699
906
  var displayName: string;
700
907
  }
@@ -707,10 +914,27 @@ declare namespace CarouselNext {
707
914
  var displayName: string;
708
915
  }
709
916
 
710
- declare function Checkbox({ className, ...props }: React$1.ComponentProps<typeof CheckboxPrimitive.Root>): react_jsx_runtime.JSX.Element;
711
- declare namespace Checkbox {
712
- var displayName: string;
917
+ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
918
+
919
+ interface CircularProgressProps extends React$1.HTMLAttributes<HTMLDivElement> {
920
+ /** Progress value 0-100 */
921
+ value: number;
922
+ /** Diameter of the circle in px @default 120 */
923
+ diameter?: number;
924
+ /** Stroke width in px @default 8 */
925
+ strokeWidth?: number;
926
+ /** Color variant */
927
+ variant?: 'primary' | 'success' | 'warning' | 'destructive';
928
+ /** Show the numeric value in center @default true */
929
+ showValue?: boolean;
930
+ /** Label text below the value (inside circle) */
931
+ label?: string;
932
+ /** Locale for number formatting @default "fa" */
933
+ locale?: SupportedLocale;
934
+ /** Show loading skeleton */
935
+ isLoading?: boolean;
713
936
  }
937
+ declare const CircularProgress: React$1.ForwardRefExoticComponent<CircularProgressProps & React$1.RefAttributes<HTMLDivElement>>;
714
938
 
715
939
  declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): react_jsx_runtime.JSX.Element;
716
940
  declare namespace Collapsible {
@@ -728,7 +952,7 @@ declare namespace CollapsibleContent {
728
952
  declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
729
953
  declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
730
954
  declare const DialogPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
731
- declare const DialogClose: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>>;
955
+ declare const DialogClose: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
732
956
  declare const DialogOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
733
957
  declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
734
958
  declare const DialogHeader: {
@@ -778,7 +1002,7 @@ declare function CommandItem({ className, ...props }: React$1.ComponentProps<typ
778
1002
  declare namespace CommandItem {
779
1003
  var displayName: string;
780
1004
  }
781
- declare function CommandShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1005
+ declare function CommandShortcut({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
782
1006
  declare namespace CommandShortcut {
783
1007
  var displayName: string;
784
1008
  }
@@ -786,32 +1010,55 @@ declare namespace CommandShortcut {
786
1010
  interface CommentTag {
787
1011
  title: string;
788
1012
  probability: number;
789
- color: string;
1013
+ /** CSS var name (e.g. '--chart-1') or hex color. Auto-computed from title if omitted. */
1014
+ color?: string;
790
1015
  }
791
- interface CommentCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'id'> {
792
- /**
793
- * The comment text content
794
- */
1016
+ interface CommentCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
1017
+ /** The comment text */
795
1018
  text: string;
796
- /**
797
- * Array of analysis tags with probability and color
798
- */
1019
+ /** Analysis tags with probability and color */
799
1020
  tags: CommentTag[];
800
- /**
801
- * Sentiment of the comment
802
- */
803
- sentiment: "positive" | "negative" | "neutral";
804
- /**
805
- * Optional id for the comment
806
- */
807
- id?: number | string;
808
- /**
809
- * Show probability in Persian digits
810
- */
1021
+ /** Sentiment of the comment */
1022
+ sentiment: 'positive' | 'negative' | 'neutral';
1023
+ /** Locale for number formatting and labels @default "fa" */
1024
+ locale?: SupportedLocale;
1025
+ /** Show loading skeleton state @default false */
1026
+ isLoading?: boolean;
1027
+ /** @deprecated Use `locale` instead */
811
1028
  usePersianDigits?: boolean;
812
1029
  }
813
1030
  declare const CommentCard: React$1.ForwardRefExoticComponent<CommentCardProps & React$1.RefAttributes<HTMLDivElement>>;
814
1031
 
1032
+ interface ConfirmDialogProps {
1033
+ /** The trigger element (button, etc.) */
1034
+ trigger?: React$1.ReactNode;
1035
+ /** Controlled open state */
1036
+ open?: boolean;
1037
+ /** Callback when open state changes */
1038
+ onOpenChange?: (open: boolean) => void;
1039
+ /** Dialog title */
1040
+ title?: string;
1041
+ /** Dialog description */
1042
+ description: string;
1043
+ /** Confirm button text */
1044
+ confirmLabel?: string;
1045
+ /** Cancel button text */
1046
+ cancelLabel?: string;
1047
+ /** Called when confirmed */
1048
+ onConfirm: () => void;
1049
+ /** Visual variant @default "default" */
1050
+ variant?: 'default' | 'destructive';
1051
+ /** Optional icon. Defaults to AlertTriangle for destructive. */
1052
+ icon?: React$1.ReactNode;
1053
+ /** Show icon @default true for destructive, false for default */
1054
+ showIcon?: boolean;
1055
+ /** Locale @default "fa" */
1056
+ locale?: SupportedLocale;
1057
+ /** Additional className for the content */
1058
+ className?: string;
1059
+ }
1060
+ declare const ConfirmDialog: React$1.ForwardRefExoticComponent<ConfirmDialogProps & React$1.RefAttributes<HTMLDivElement>>;
1061
+
815
1062
  declare function ContextMenu({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Root>): react_jsx_runtime.JSX.Element;
816
1063
  declare namespace ContextMenu {
817
1064
  var displayName: string;
@@ -880,6 +1127,18 @@ declare namespace ContextMenuShortcut {
880
1127
  var displayName: string;
881
1128
  }
882
1129
 
1130
+ interface CopyButtonProps extends Omit<ButtonProps, 'onClick'> {
1131
+ /** The text value to copy to clipboard */
1132
+ value: string;
1133
+ /** Duration in ms to show the "copied" state @default 2000 */
1134
+ feedbackDuration?: number;
1135
+ /** Locale for aria-label and tooltip text @default "fa" */
1136
+ locale?: SupportedLocale;
1137
+ /** Called after successful copy */
1138
+ onCopy?: () => void;
1139
+ }
1140
+ declare const CopyButton: React$1.ForwardRefExoticComponent<CopyButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
1141
+
883
1142
  interface DatePickerProps {
884
1143
  /**
885
1144
  * The selected date range
@@ -923,10 +1182,7 @@ interface DatePickerProps {
923
1182
  */
924
1183
  locale?: SupportedLocale;
925
1184
  }
926
- declare function DatePicker({ value, onChange, usePersianCalendar, placeholder, className, disabled, numberOfMonths, showPresets, mode, locale, }: DatePickerProps): react_jsx_runtime.JSX.Element;
927
- declare namespace DatePicker {
928
- var displayName: string;
929
- }
1185
+ declare const DatePicker: React$1.ForwardRefExoticComponent<DatePickerProps & React$1.RefAttributes<HTMLDivElement>>;
930
1186
 
931
1187
  interface DateRangePickerProps {
932
1188
  /**
@@ -972,7 +1228,7 @@ interface DateRangePickerProps {
972
1228
  /**
973
1229
  * Show dropdown for year/month selection
974
1230
  */
975
- captionLayout?: "label" | "dropdown" | "dropdown-months" | "dropdown-years";
1231
+ captionLayout?: 'label' | 'dropdown' | 'dropdown-months' | 'dropdown-years';
976
1232
  /**
977
1233
  * From year for dropdown (when captionLayout includes dropdown)
978
1234
  */
@@ -982,14 +1238,12 @@ interface DateRangePickerProps {
982
1238
  */
983
1239
  toYear?: number;
984
1240
  }
985
- declare function DateRangePicker({ value, onChange, label, placeholder, usePersianCalendar, numberOfMonths, minDate, maxDate, className, disabled, captionLayout, fromYear, toYear, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
986
- declare namespace DateRangePicker {
987
- var displayName: string;
988
- }
1241
+ declare const DateRangePicker: React$1.ForwardRefExoticComponent<DateRangePickerProps & React$1.RefAttributes<HTMLDivElement>>;
1242
+
989
1243
  /**
990
1244
  * Simplified version without label (inline usage)
991
1245
  */
992
- declare function DateRangePickerInline({ value, onChange, placeholder, usePersianCalendar, numberOfMonths, minDate, maxDate, className, disabled, captionLayout, fromYear, toYear, }: Omit<DateRangePickerProps, "label">): react_jsx_runtime.JSX.Element;
1246
+ declare function DateRangePickerInline({ value, onChange, placeholder, usePersianCalendar, numberOfMonths, minDate, maxDate, className, disabled, captionLayout, fromYear, toYear, }: Omit<DateRangePickerProps, 'label'>): react_jsx_runtime.JSX.Element;
993
1247
  declare namespace DateRangePickerInline {
994
1248
  var displayName: string;
995
1249
  }
@@ -1103,13 +1357,15 @@ declare namespace DropdownMenuSubContent {
1103
1357
  var displayName: string;
1104
1358
  }
1105
1359
 
1106
- declare function Empty({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1107
- declare namespace Empty {
1108
- var displayName: string;
1360
+ interface EmptyProps extends React$1.ComponentProps<'div'> {
1361
+ /** Minimum height of the empty state container. @default "400px" */
1362
+ minHeight?: string;
1109
1363
  }
1364
+ declare const Empty: React$1.ForwardRefExoticComponent<Omit<EmptyProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1110
1365
  declare const EmptyIcon: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1111
1366
  declare const EmptyTitle: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
1112
1367
  declare const EmptyDescription: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
1368
+ declare const EmptyAction: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1113
1369
 
1114
1370
  interface ErrorStateProps extends React$1.HTMLAttributes<HTMLDivElement> {
1115
1371
  /** Error message displayed below the icon */
@@ -1119,7 +1375,7 @@ interface ErrorStateProps extends React$1.HTMLAttributes<HTMLDivElement> {
1119
1375
  /** Retry button label */
1120
1376
  retryLabel?: string;
1121
1377
  /** Size variant controlling padding and icon/text scale */
1122
- size?: "sm" | "md" | "lg";
1378
+ size?: 'sm' | 'md' | 'lg';
1123
1379
  /** Locale for default strings @default "fa" */
1124
1380
  locale?: SupportedLocale;
1125
1381
  }
@@ -1138,11 +1394,11 @@ declare const FieldGroup: React$1.ForwardRefExoticComponent<Omit<React$1.Detaile
1138
1394
  declare const fieldVariants: (props?: ({
1139
1395
  orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
1140
1396
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1141
- declare function Field({ className, orientation, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): react_jsx_runtime.JSX.Element;
1397
+ declare function Field({ className, orientation, ...props }: React$1.ComponentProps<'div'> & VariantProps<typeof fieldVariants>): react_jsx_runtime.JSX.Element;
1142
1398
  declare namespace Field {
1143
1399
  var displayName: string;
1144
1400
  }
1145
- declare function FieldContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1401
+ declare function FieldContent({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
1146
1402
  declare namespace FieldContent {
1147
1403
  var displayName: string;
1148
1404
  }
@@ -1150,21 +1406,18 @@ declare function FieldLabel({ className, ...props }: React$1.ComponentProps<type
1150
1406
  declare namespace FieldLabel {
1151
1407
  var displayName: string;
1152
1408
  }
1153
- declare function FieldTitle({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1154
- declare namespace FieldTitle {
1155
- var displayName: string;
1156
- }
1157
- declare function FieldDescription({ className, ...props }: React$1.ComponentProps<"p">): react_jsx_runtime.JSX.Element;
1409
+ declare const FieldTitle: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1410
+ declare function FieldDescription({ className, ...props }: React$1.ComponentProps<'p'>): react_jsx_runtime.JSX.Element;
1158
1411
  declare namespace FieldDescription {
1159
1412
  var displayName: string;
1160
1413
  }
1161
- declare function FieldSeparator({ children, className, ...props }: React$1.ComponentProps<"div"> & {
1414
+ declare function FieldSeparator({ children, className, ...props }: React$1.ComponentProps<'div'> & {
1162
1415
  children?: React$1.ReactNode;
1163
1416
  }): react_jsx_runtime.JSX.Element;
1164
1417
  declare namespace FieldSeparator {
1165
1418
  var displayName: string;
1166
1419
  }
1167
- declare function FieldError({ className, children, errors, ...props }: React$1.ComponentProps<"div"> & {
1420
+ declare function FieldError({ className, children, errors, ...props }: React$1.ComponentProps<'div'> & {
1168
1421
  errors?: Array<{
1169
1422
  message?: string;
1170
1423
  } | undefined>;
@@ -1173,6 +1426,28 @@ declare namespace FieldError {
1173
1426
  var displayName: string;
1174
1427
  }
1175
1428
 
1429
+ interface FilterBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
1430
+ /** Locale @default "fa" */
1431
+ locale?: SupportedLocale;
1432
+ }
1433
+ declare const FilterBar: React$1.ForwardRefExoticComponent<FilterBarProps & React$1.RefAttributes<HTMLDivElement>>;
1434
+ interface FilterBarRowProps extends React$1.HTMLAttributes<HTMLDivElement> {
1435
+ }
1436
+ declare const FilterBarRow: React$1.ForwardRefExoticComponent<FilterBarRowProps & React$1.RefAttributes<HTMLDivElement>>;
1437
+ interface FilterBarActionsProps extends React$1.HTMLAttributes<HTMLDivElement> {
1438
+ }
1439
+ declare const FilterBarActions: React$1.ForwardRefExoticComponent<FilterBarActionsProps & React$1.RefAttributes<HTMLDivElement>>;
1440
+ interface FilterBarClearProps {
1441
+ /** Callback when clear is clicked */
1442
+ onClear: () => void;
1443
+ className?: string;
1444
+ children?: React$1.ReactNode;
1445
+ }
1446
+ declare const FilterBarClear: React$1.ForwardRefExoticComponent<FilterBarClearProps & React$1.RefAttributes<HTMLButtonElement>>;
1447
+ interface FilterBarActiveFiltersProps extends React$1.HTMLAttributes<HTMLDivElement> {
1448
+ }
1449
+ declare const FilterBarActiveFilters: React$1.ForwardRefExoticComponent<FilterBarActiveFiltersProps & React$1.RefAttributes<HTMLDivElement>>;
1450
+
1176
1451
  declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React$1.JSX.Element;
1177
1452
  declare const FormField: {
1178
1453
  <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>): react_jsx_runtime.JSX.Element;
@@ -1224,46 +1499,53 @@ declare namespace HoverCardContent {
1224
1499
  var displayName: string;
1225
1500
  }
1226
1501
 
1227
- interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof InputVariants> {
1228
- }
1502
+ declare const inputVariants: (props?: ({
1503
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
1504
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1505
+ /** @deprecated Use inputVariants instead */
1229
1506
  declare const InputVariants: (props?: ({
1230
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "tiny" | "small" | "medium" | "large" | "xlarge" | null | undefined;
1507
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
1231
1508
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1509
+ interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
1510
+ }
1232
1511
  declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
1233
1512
 
1513
+ interface InputWithIconProps extends InputProps {
1514
+ /** Icon rendered at the start (inline-start, respects RTL) */
1515
+ startIcon?: React$1.ReactNode;
1516
+ /** Icon rendered at the end (inline-end) */
1517
+ endIcon?: React$1.ReactNode;
1518
+ /** className for the outer wrapper div (for layout/sizing) */
1519
+ wrapperClassName?: string;
1520
+ }
1521
+ declare const InputWithIcon: React$1.ForwardRefExoticComponent<InputWithIconProps & React$1.RefAttributes<HTMLInputElement>>;
1522
+
1234
1523
  declare const tagInputVariants: (props?: ({
1235
1524
  variant?: "default" | "secondary" | null | undefined;
1236
1525
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1237
- interface TagInputProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue">, VariantProps<typeof tagInputVariants> {
1526
+ interface TagInputProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'>, VariantProps<typeof tagInputVariants> {
1238
1527
  value?: string[];
1239
1528
  defaultValue?: string[];
1240
1529
  onChange?: (value: string[]) => void;
1241
1530
  placeholder?: string;
1242
1531
  disabled?: boolean;
1243
1532
  maxTags?: number;
1533
+ /** Optional prefix shown on each tag badge (e.g. "#" for hashtags). Value is stored WITHOUT the prefix. */
1534
+ prefix?: string;
1535
+ /** Locale for sr-only remove label @default "fa" */
1536
+ locale?: SupportedLocale;
1244
1537
  }
1245
1538
  declare const TagInput: React$1.ForwardRefExoticComponent<TagInputProps & React$1.RefAttributes<HTMLDivElement>>;
1246
1539
 
1247
- declare const hashtagInputVariants: (props?: ({
1248
- variant?: "default" | "secondary" | null | undefined;
1249
- } & class_variance_authority_types.ClassProp) | undefined) => string;
1250
- interface HashtagInputProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue">, VariantProps<typeof hashtagInputVariants> {
1251
- value?: string[];
1252
- defaultValue?: string[];
1253
- onChange?: (value: string[]) => void;
1254
- placeholder?: string;
1255
- disabled?: boolean;
1256
- maxTags?: number;
1257
- }
1258
- declare const HashtagInput: React$1.ForwardRefExoticComponent<HashtagInputProps & React$1.RefAttributes<HTMLDivElement>>;
1540
+ declare const HashtagInput: React$1.ForwardRefExoticComponent<TagInputProps & React$1.RefAttributes<HTMLDivElement>>;
1259
1541
 
1260
- interface InputGroupProps extends React$1.ComponentProps<"div"> {
1542
+ interface InputGroupProps extends React$1.ComponentProps<'div'> {
1261
1543
  /**
1262
1544
  * Direction of the input group.
1263
1545
  * Use "ltr" for URL, email, tel, or other LTR-only content.
1264
1546
  * @default undefined (inherits from parent)
1265
1547
  */
1266
- dir?: "ltr" | "rtl";
1548
+ dir?: 'ltr' | 'rtl';
1267
1549
  }
1268
1550
  declare function InputGroup({ className, dir, ...props }: InputGroupProps): react_jsx_runtime.JSX.Element;
1269
1551
  declare namespace InputGroup {
@@ -1272,18 +1554,18 @@ declare namespace InputGroup {
1272
1554
  declare const inputGroupAddonVariants: (props?: ({
1273
1555
  align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
1274
1556
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1275
- declare function InputGroupAddon({ className, align, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime.JSX.Element;
1557
+ declare function InputGroupAddon({ className, align, ...props }: React$1.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime.JSX.Element;
1276
1558
  declare namespace InputGroupAddon {
1277
1559
  var displayName: string;
1278
1560
  }
1279
1561
  declare const inputGroupButtonVariants: (props?: ({
1280
1562
  size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
1281
1563
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1282
- declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React$1.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): react_jsx_runtime.JSX.Element;
1564
+ declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React$1.ComponentProps<typeof Button>, 'size'> & VariantProps<typeof inputGroupButtonVariants>): react_jsx_runtime.JSX.Element;
1283
1565
  declare namespace InputGroupButton {
1284
1566
  var displayName: string;
1285
1567
  }
1286
- declare function InputGroupText({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1568
+ declare function InputGroupText({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1287
1569
  declare namespace InputGroupText {
1288
1570
  var displayName: string;
1289
1571
  }
@@ -1291,7 +1573,7 @@ declare function InputGroupInput({ className, type, size, dir: dirProp, ...props
1291
1573
  declare namespace InputGroupInput {
1292
1574
  var displayName: string;
1293
1575
  }
1294
- declare function InputGroupTextarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
1576
+ declare function InputGroupTextarea({ className, ...props }: React$1.ComponentProps<'textarea'>): react_jsx_runtime.JSX.Element;
1295
1577
  declare namespace InputGroupTextarea {
1296
1578
  var displayName: string;
1297
1579
  }
@@ -1302,25 +1584,25 @@ declare function InputOTP({ className, containerClassName, dir, ...props }: Reac
1302
1584
  declare namespace InputOTP {
1303
1585
  var displayName: string;
1304
1586
  }
1305
- declare function InputOTPGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1587
+ declare function InputOTPGroup({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
1306
1588
  declare namespace InputOTPGroup {
1307
1589
  var displayName: string;
1308
1590
  }
1309
- declare function InputOTPSlot({ index, className, ...props }: React$1.ComponentProps<"div"> & {
1591
+ declare function InputOTPSlot({ index, className, ...props }: React$1.ComponentProps<'div'> & {
1310
1592
  index: number;
1311
1593
  }): react_jsx_runtime.JSX.Element;
1312
1594
  declare namespace InputOTPSlot {
1313
1595
  var displayName: string;
1314
1596
  }
1315
- declare function InputOTPSeparator({ ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1597
+ declare function InputOTPSeparator({ ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
1316
1598
  declare namespace InputOTPSeparator {
1317
1599
  var displayName: string;
1318
1600
  }
1319
1601
 
1320
- type MediaType = "image" | "video" | "carousel";
1321
- type AspectRatioType = "16:9" | "9:16" | "1:1" | "4:5" | "5:4";
1602
+ type MediaType = 'image' | 'video' | 'carousel';
1603
+ type AspectRatioType = '16:9' | '9:16' | '1:1' | '4:5' | '5:4';
1322
1604
  interface MediaItem {
1323
- type: "image" | "video";
1605
+ type: 'image' | 'video';
1324
1606
  url: string;
1325
1607
  aspectRatio?: AspectRatioType;
1326
1608
  }
@@ -1330,8 +1612,8 @@ interface PostStats {
1330
1612
  views?: number;
1331
1613
  shares?: number;
1332
1614
  }
1333
- type NumberFormat = "exact" | "short";
1334
- type TimeFormat = "absolute" | "relative";
1615
+ type NumberFormat = 'exact' | 'short';
1616
+ type TimeFormat = 'absolute' | 'relative';
1335
1617
  interface InstagramProfileInfo {
1336
1618
  username: string;
1337
1619
  fullName?: string;
@@ -1339,10 +1621,10 @@ interface InstagramProfileInfo {
1339
1621
  avatarUrl?: string;
1340
1622
  }
1341
1623
  interface InstagramPostProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof instagramPostVariants> {
1342
- dir?: "rtl" | "ltr";
1624
+ dir?: 'rtl' | 'ltr';
1343
1625
  media?: MediaItem[];
1344
1626
  mediaType?: MediaType;
1345
- postType?: 0 | 1 | 2;
1627
+ postType?: 'image' | 'video' | 'carousel';
1346
1628
  caption?: string;
1347
1629
  showCaption?: boolean;
1348
1630
  stats?: PostStats;
@@ -1357,6 +1639,8 @@ interface InstagramPostProps extends React$1.HTMLAttributes<HTMLDivElement>, Var
1357
1639
  showProfile?: boolean;
1358
1640
  avatarUrl?: string;
1359
1641
  showActions?: boolean;
1642
+ /** Show loading skeleton state */
1643
+ isLoading?: boolean;
1360
1644
  onCommentAnalyzer?: () => void;
1361
1645
  onBooster?: () => void;
1362
1646
  onAIAnalysis?: () => void;
@@ -1367,6 +1651,8 @@ interface InstagramPostProps extends React$1.HTMLAttributes<HTMLDivElement>, Var
1367
1651
  disableAIAnalysis?: boolean;
1368
1652
  disableOpenInstagram?: boolean;
1369
1653
  placeholderText?: string;
1654
+ /** Locale for UI strings @default 'fa' */
1655
+ locale?: SupportedLocale;
1370
1656
  /** Text for "show more" button @default "بیشتر" */
1371
1657
  showMoreText?: string;
1372
1658
  /** Text for "show less" button @default "کمتر" */
@@ -1377,26 +1663,11 @@ declare const instagramPostVariants: (props?: ({
1377
1663
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1378
1664
  declare const InstagramPost: React$1.ForwardRefExoticComponent<InstagramPostProps & React$1.RefAttributes<HTMLDivElement>>;
1379
1665
 
1380
- interface ItemProps extends React$1.HTMLAttributes<HTMLDivElement> {
1381
- /** Render as child element */
1382
- asChild?: boolean;
1383
- }
1384
- declare const Item: React$1.ForwardRefExoticComponent<ItemProps & React$1.RefAttributes<HTMLDivElement>>;
1385
- declare const ItemMedia: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
1386
- declare const ItemContent: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
1387
- declare const ItemTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
1388
- declare const ItemDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
1389
- interface ItemGroupProps extends React$1.HTMLAttributes<HTMLDivElement> {
1390
- /** Section label rendered above the group */
1391
- label?: string;
1392
- }
1393
- declare const ItemGroup: React$1.ForwardRefExoticComponent<ItemGroupProps & React$1.RefAttributes<HTMLDivElement>>;
1394
-
1395
- declare function Kbd({ className, ...props }: React$1.ComponentProps<"kbd">): react_jsx_runtime.JSX.Element;
1666
+ declare function Kbd({ className, ...props }: React$1.ComponentProps<'kbd'>): react_jsx_runtime.JSX.Element;
1396
1667
  declare namespace Kbd {
1397
1668
  var displayName: string;
1398
1669
  }
1399
- declare function KbdGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1670
+ declare function KbdGroup({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1400
1671
  declare namespace KbdGroup {
1401
1672
  var displayName: string;
1402
1673
  }
@@ -1431,7 +1702,7 @@ declare namespace MenubarContent {
1431
1702
  }
1432
1703
  declare function MenubarItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Item> & {
1433
1704
  inset?: boolean;
1434
- variant?: "default" | "destructive";
1705
+ variant?: 'default' | 'destructive';
1435
1706
  }): react_jsx_runtime.JSX.Element;
1436
1707
  declare namespace MenubarItem {
1437
1708
  var displayName: string;
@@ -1454,7 +1725,7 @@ declare function MenubarSeparator({ className, ...props }: React$1.ComponentProp
1454
1725
  declare namespace MenubarSeparator {
1455
1726
  var displayName: string;
1456
1727
  }
1457
- declare function MenubarShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1728
+ declare function MenubarShortcut({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1458
1729
  declare namespace MenubarShortcut {
1459
1730
  var displayName: string;
1460
1731
  }
@@ -1496,10 +1767,9 @@ interface MetricCardLabelProps extends React$1.HTMLAttributes<HTMLHeadingElement
1496
1767
  icon?: React$1.ReactNode;
1497
1768
  }
1498
1769
  interface MetricCardDifferentialProps extends React$1.HTMLAttributes<HTMLDivElement> {
1499
- /**
1500
- * Variant determines color: positive (green) or negative (red)
1501
- */
1502
- variant?: "positive" | "negative";
1770
+ variant?: 'positive' | 'negative';
1771
+ /** Optional sign to display ("+", "-"). Rendered after the value, dir=ltr. */
1772
+ sign?: '+' | '-';
1503
1773
  }
1504
1774
  interface MetricCardSparklineProps {
1505
1775
  /**
@@ -1536,15 +1806,12 @@ declare const MetricCardValue: React$1.ForwardRefExoticComponent<React$1.HTMLAtt
1536
1806
  declare const MetricCardDifferential: React$1.ForwardRefExoticComponent<MetricCardDifferentialProps & React$1.RefAttributes<HTMLDivElement>>;
1537
1807
  declare const MetricCardSparkline: React$1.ForwardRefExoticComponent<MetricCardSparklineProps & React$1.RefAttributes<HTMLDivElement>>;
1538
1808
 
1539
- declare function NativeSelect({ className, ...props }: React$1.ComponentProps<"select">): react_jsx_runtime.JSX.Element;
1540
- declare namespace NativeSelect {
1541
- var displayName: string;
1542
- }
1543
- declare function NativeSelectOption({ ...props }: React$1.ComponentProps<"option">): react_jsx_runtime.JSX.Element;
1809
+ declare const NativeSelect: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.SelectHTMLAttributes<HTMLSelectElement>, HTMLSelectElement>, "ref"> & React$1.RefAttributes<HTMLSelectElement>>;
1810
+ declare function NativeSelectOption({ ...props }: React$1.ComponentProps<'option'>): react_jsx_runtime.JSX.Element;
1544
1811
  declare namespace NativeSelectOption {
1545
1812
  var displayName: string;
1546
1813
  }
1547
- declare function NativeSelectOptGroup({ className, ...props }: React$1.ComponentProps<"optgroup">): react_jsx_runtime.JSX.Element;
1814
+ declare function NativeSelectOptGroup({ className, ...props }: React$1.ComponentProps<'optgroup'>): react_jsx_runtime.JSX.Element;
1548
1815
  declare namespace NativeSelectOptGroup {
1549
1816
  var displayName: string;
1550
1817
  }
@@ -1585,21 +1852,37 @@ declare namespace NavigationMenuIndicator {
1585
1852
  var displayName: string;
1586
1853
  }
1587
1854
 
1588
- declare function Pagination({ className, dir, children, ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
1855
+ interface PageHeaderProps extends React$1.HTMLAttributes<HTMLDivElement> {
1856
+ /** Page title */
1857
+ title: string;
1858
+ /** Optional description below title */
1859
+ description?: string;
1860
+ /** Back button callback. When provided, shows a back arrow. */
1861
+ onBack?: () => void;
1862
+ /** Actions slot (buttons, etc.) rendered at inline-end */
1863
+ actions?: React$1.ReactNode;
1864
+ /** Breadcrumb slot rendered above the title */
1865
+ breadcrumbs?: React$1.ReactNode;
1866
+ /** Locale @default "fa" */
1867
+ locale?: SupportedLocale;
1868
+ }
1869
+ declare const PageHeader: React$1.ForwardRefExoticComponent<PageHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
1870
+
1871
+ declare function Pagination({ className, dir, children, ...props }: React$1.ComponentProps<'nav'>): react_jsx_runtime.JSX.Element;
1589
1872
  declare namespace Pagination {
1590
1873
  var displayName: string;
1591
1874
  }
1592
- declare function PaginationContent({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
1875
+ declare function PaginationContent({ className, ...props }: React$1.ComponentProps<'ul'>): react_jsx_runtime.JSX.Element;
1593
1876
  declare namespace PaginationContent {
1594
1877
  var displayName: string;
1595
1878
  }
1596
- declare function PaginationItem({ ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
1879
+ declare function PaginationItem({ ...props }: React$1.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
1597
1880
  declare namespace PaginationItem {
1598
1881
  var displayName: string;
1599
1882
  }
1600
1883
  type PaginationLinkProps = {
1601
1884
  isActive?: boolean;
1602
- } & Pick<React$1.ComponentProps<typeof Button>, "size"> & React$1.ComponentProps<"a">;
1885
+ } & Pick<React$1.ComponentProps<typeof Button>, 'size'> & React$1.ComponentProps<'a'>;
1603
1886
  declare function PaginationLink({ className, isActive, size, dir, ...props }: PaginationLinkProps): react_jsx_runtime.JSX.Element;
1604
1887
  declare namespace PaginationLink {
1605
1888
  var displayName: string;
@@ -1612,7 +1895,7 @@ declare function PaginationNext({ className, ...props }: React$1.ComponentProps<
1612
1895
  declare namespace PaginationNext {
1613
1896
  var displayName: string;
1614
1897
  }
1615
- declare function PaginationEllipsis({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1898
+ declare function PaginationEllipsis({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1616
1899
  declare namespace PaginationEllipsis {
1617
1900
  var displayName: string;
1618
1901
  }
@@ -1655,9 +1938,10 @@ interface PaginationControlledProps {
1655
1938
  */
1656
1939
  className?: string;
1657
1940
  /**
1658
- * جهت متن (rtl/ltr)
1941
+ * زبان برای تبدیل اعداد و جهت متن
1942
+ * @default "fa"
1659
1943
  */
1660
- dir?: "rtl" | "ltr";
1944
+ locale?: SupportedLocale;
1661
1945
  }
1662
1946
  /**
1663
1947
  * کامپوننت صفحه‌بندی با props استاندارد
@@ -1671,16 +1955,17 @@ interface PaginationControlledProps {
1671
1955
  * />
1672
1956
  * ```
1673
1957
  */
1674
- declare function PaginationControlled({ currentPage, totalPages, onPageChange, siblingCount, showFirstLast, showPrevNext, showEllipsis, className, dir, }: PaginationControlledProps): react_jsx_runtime.JSX.Element;
1675
- declare namespace PaginationControlled {
1676
- var displayName: string;
1677
- }
1958
+ declare const PaginationControlled: React$1.ForwardRefExoticComponent<PaginationControlledProps & React$1.RefAttributes<HTMLElement>>;
1678
1959
 
1679
1960
  declare const Popover: React$1.FC<PopoverPrimitive.PopoverProps>;
1680
1961
  declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
1681
1962
  declare const PopoverAnchor: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React$1.RefAttributes<HTMLDivElement>>;
1682
1963
  declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1683
1964
 
1965
+ declare const profileCardVariants: (props?: ({
1966
+ variant?: "default" | "transparent" | "dark" | null | undefined;
1967
+ size?: "sm" | "md" | "lg" | null | undefined;
1968
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1684
1969
  interface ProfileCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
1685
1970
  /**
1686
1971
  * نام کامل کاربر
@@ -1717,15 +2002,15 @@ interface ProfileCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
1717
2002
  /**
1718
2003
  * استایل حاشیه آواتار
1719
2004
  */
1720
- avatarBorderVariant?: "gold" | "primary" | "none";
2005
+ avatarBorderVariant?: 'gold' | 'primary' | 'none';
1721
2006
  /**
1722
2007
  * اندازه کامپوننت
1723
2008
  */
1724
- size?: "sm" | "md" | "lg";
2009
+ size?: 'sm' | 'md' | 'lg';
1725
2010
  /**
1726
2011
  * رنگ پس‌زمینه
1727
2012
  */
1728
- variant?: "default" | "dark" | "transparent";
2013
+ variant?: 'default' | 'dark' | 'transparent';
1729
2014
  /**
1730
2015
  * نمایش حالت بارگذاری
1731
2016
  * Show loading skeleton state
@@ -1778,15 +2063,15 @@ interface ProfileInfoProps extends React$1.HTMLAttributes<HTMLDivElement> {
1778
2063
  /**
1779
2064
  * استایل حاشیه آواتار
1780
2065
  */
1781
- avatarBorderVariant?: "gold" | "primary" | "none";
2066
+ avatarBorderVariant?: 'gold' | 'primary' | 'none';
1782
2067
  /**
1783
2068
  * اندازه کامپوننت
1784
2069
  */
1785
- size?: "sm" | "md" | "lg";
2070
+ size?: 'sm' | 'md' | 'lg';
1786
2071
  /**
1787
2072
  * رنگ پس‌زمینه
1788
2073
  */
1789
- variant?: "default" | "dark" | "transparent";
2074
+ variant?: 'default' | 'dark' | 'transparent';
1790
2075
  /**
1791
2076
  * Locale for default strings
1792
2077
  * @default "fa"
@@ -1868,22 +2153,13 @@ interface ProgressProps extends React$1.ComponentProps<typeof ProgressPrimitive.
1868
2153
  label?: string;
1869
2154
  showValue?: boolean;
1870
2155
  }
1871
- declare function Progress({ className, value, size, variant, label, showValue, ...props }: ProgressProps): react_jsx_runtime.JSX.Element;
1872
- declare namespace Progress {
1873
- var displayName: string;
1874
- }
2156
+ declare const Progress: React$1.ForwardRefExoticComponent<Omit<ProgressProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1875
2157
 
1876
- declare function RadioGroup({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Root>): react_jsx_runtime.JSX.Element;
1877
- declare namespace RadioGroup {
1878
- var displayName: string;
1879
- }
1880
- declare function RadioGroupItem({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Item>): react_jsx_runtime.JSX.Element;
1881
- declare namespace RadioGroupItem {
1882
- var displayName: string;
1883
- }
2158
+ declare const RadioGroup: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2159
+ declare const RadioGroupItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
1884
2160
 
1885
2161
  declare const RadioCards: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
1886
- columns?: number | Record<string, number>;
2162
+ columns?: number;
1887
2163
  dir?: "rtl" | "ltr";
1888
2164
  } & React$1.RefAttributes<HTMLDivElement>>;
1889
2165
  declare const RadioCardItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
@@ -1917,10 +2193,14 @@ declare namespace ScrollBar {
1917
2193
  declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
1918
2194
  declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
1919
2195
  declare const SelectValue: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & VariantProps<(props?: ({
1920
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "tiny" | "small" | "medium" | "large" | "xlarge" | null | undefined;
2196
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
1921
2197
  } & class_variance_authority_types.ClassProp) | undefined) => string> & React$1.RefAttributes<HTMLSpanElement>>;
2198
+ /** @deprecated Use selectTriggerVariants instead */
2199
+ declare const SelectTriggerVariants: (props?: ({
2200
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
2201
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1922
2202
  declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
1923
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "tiny" | "small" | "medium" | "large" | "xlarge" | null | undefined;
2203
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
1924
2204
  } & class_variance_authority_types.ClassProp) | undefined) => string> & React$1.RefAttributes<HTMLButtonElement>>;
1925
2205
  declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1926
2206
  declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
@@ -1942,16 +2222,20 @@ declare namespace SheetClose {
1942
2222
  var displayName: string;
1943
2223
  }
1944
2224
  declare function SheetContent({ className, children, side, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content> & {
1945
- side?: "top" | "right" | "bottom" | "left";
2225
+ side?: 'top' | 'right' | 'bottom' | 'left';
1946
2226
  }): react_jsx_runtime.JSX.Element;
1947
2227
  declare namespace SheetContent {
1948
2228
  var displayName: string;
1949
2229
  }
1950
- declare function SheetHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2230
+ declare function SheetHeader({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
1951
2231
  declare namespace SheetHeader {
1952
2232
  var displayName: string;
1953
2233
  }
1954
- declare function SheetFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2234
+ declare function SheetBody({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
2235
+ declare namespace SheetBody {
2236
+ var displayName: string;
2237
+ }
2238
+ declare function SheetFooter({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
1955
2239
  declare namespace SheetFooter {
1956
2240
  var displayName: string;
1957
2241
  }
@@ -1969,16 +2253,16 @@ declare const Tooltip: React$1.FC<TooltipPrimitive.TooltipProps>;
1969
2253
  declare const TooltipTrigger: React$1.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
1970
2254
  interface TooltipContentProps extends React$1.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> {
1971
2255
  /** Visual variant */
1972
- variant?: "default" | "light" | "error";
2256
+ variant?: 'default' | 'light' | 'error';
1973
2257
  /** Size */
1974
- size?: "sm" | "md";
2258
+ size?: 'sm' | 'md';
1975
2259
  /** Show arrow/caret pointing to trigger */
1976
2260
  showArrow?: boolean;
1977
2261
  }
1978
2262
  declare const TooltipContent: React$1.ForwardRefExoticComponent<TooltipContentProps & React$1.RefAttributes<HTMLDivElement>>;
1979
2263
 
1980
2264
  type SidebarContextProps = {
1981
- state: "expanded" | "collapsed";
2265
+ state: 'expanded' | 'collapsed';
1982
2266
  open: boolean;
1983
2267
  setOpen: (open: boolean) => void;
1984
2268
  openMobile: boolean;
@@ -1987,59 +2271,108 @@ type SidebarContextProps = {
1987
2271
  toggleSidebar: () => void;
1988
2272
  };
1989
2273
  declare function useSidebar(): SidebarContextProps;
1990
- declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React$1.ComponentProps<"div"> & {
2274
+ declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React$1.ComponentProps<'div'> & {
1991
2275
  defaultOpen?: boolean;
1992
2276
  open?: boolean;
1993
2277
  onOpenChange?: (open: boolean) => void;
1994
2278
  }): react_jsx_runtime.JSX.Element;
1995
- declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React$1.ComponentProps<"div"> & {
1996
- side?: "left" | "right";
1997
- variant?: "sidebar" | "floating" | "inset";
1998
- collapsible?: "offcanvas" | "icon" | "none";
2279
+ declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React$1.ComponentProps<'div'> & {
2280
+ side?: 'left' | 'right';
2281
+ variant?: 'sidebar' | 'floating' | 'inset';
2282
+ collapsible?: 'offcanvas' | 'icon' | 'none';
1999
2283
  }): react_jsx_runtime.JSX.Element;
2000
2284
  declare function SidebarTrigger({ className, onClick, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
2001
- declare function SidebarRail({ className, ...props }: React$1.ComponentProps<"button">): react_jsx_runtime.JSX.Element;
2002
- declare function SidebarInset({ className, ...props }: React$1.ComponentProps<"main">): react_jsx_runtime.JSX.Element;
2285
+ declare function SidebarRail({ className, ...props }: React$1.ComponentProps<'button'>): react_jsx_runtime.JSX.Element;
2286
+ declare function SidebarInset({ className, ...props }: React$1.ComponentProps<'main'>): react_jsx_runtime.JSX.Element;
2003
2287
  declare function SidebarInput({ className, ...props }: React$1.ComponentProps<typeof Input>): react_jsx_runtime.JSX.Element;
2004
- declare function SidebarHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2005
- declare function SidebarFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2288
+ declare function SidebarHeader({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
2289
+ declare function SidebarFooter({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
2006
2290
  declare function SidebarSeparator({ className, ...props }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
2007
- declare function SidebarContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2008
- declare function SidebarGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2009
- declare function SidebarGroupLabel({ className, asChild, ...props }: React$1.ComponentProps<"div"> & {
2291
+ declare function SidebarContent({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
2292
+ declare function SidebarGroup({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
2293
+ declare function SidebarGroupLabel({ className, asChild, ...props }: React$1.ComponentProps<'div'> & {
2010
2294
  asChild?: boolean;
2011
2295
  }): react_jsx_runtime.JSX.Element;
2012
- declare function SidebarGroupAction({ className, asChild, ...props }: React$1.ComponentProps<"button"> & {
2296
+ declare function SidebarGroupAction({ className, asChild, ...props }: React$1.ComponentProps<'button'> & {
2013
2297
  asChild?: boolean;
2014
2298
  }): react_jsx_runtime.JSX.Element;
2015
- declare function SidebarGroupContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2016
- declare function SidebarMenu({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
2017
- declare function SidebarMenuItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
2299
+ declare function SidebarGroupContent({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
2300
+ declare function SidebarMenu({ className, ...props }: React$1.ComponentProps<'ul'>): react_jsx_runtime.JSX.Element;
2301
+ declare function SidebarMenuItem({ className, ...props }: React$1.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
2018
2302
  declare const sidebarMenuButtonVariants: (props?: ({
2019
2303
  variant?: "default" | "outline" | null | undefined;
2020
2304
  size?: "sm" | "lg" | "default" | null | undefined;
2021
2305
  } & class_variance_authority_types.ClassProp) | undefined) => string;
2022
- declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React$1.ComponentProps<"button"> & {
2306
+ declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React$1.ComponentProps<'button'> & {
2023
2307
  asChild?: boolean;
2024
2308
  isActive?: boolean;
2025
2309
  tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
2026
2310
  } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime.JSX.Element;
2027
- declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React$1.ComponentProps<"button"> & {
2311
+ declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React$1.ComponentProps<'button'> & {
2028
2312
  asChild?: boolean;
2029
2313
  showOnHover?: boolean;
2030
2314
  }): react_jsx_runtime.JSX.Element;
2031
- declare function SidebarMenuBadge({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2032
- declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React$1.ComponentProps<"div"> & {
2315
+ declare function SidebarMenuBadge({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
2316
+ declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React$1.ComponentProps<'div'> & {
2033
2317
  showIcon?: boolean;
2034
2318
  }): react_jsx_runtime.JSX.Element;
2035
- declare function SidebarMenuSub({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
2036
- declare function SidebarMenuSubItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
2037
- declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: React$1.ComponentProps<"a"> & {
2319
+ declare function SidebarMenuSub({ className, ...props }: React$1.ComponentProps<'ul'>): react_jsx_runtime.JSX.Element;
2320
+ declare function SidebarMenuSubItem({ className, ...props }: React$1.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
2321
+ declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: React$1.ComponentProps<'a'> & {
2038
2322
  asChild?: boolean;
2039
- size?: "sm" | "md";
2323
+ size?: 'sm' | 'md';
2040
2324
  isActive?: boolean;
2041
2325
  }): react_jsx_runtime.JSX.Element;
2042
2326
 
2327
+ type NavRailContextProps = {
2328
+ activeItem: string | null;
2329
+ setActiveItem: (id: string | null) => void;
2330
+ panelOpen: boolean;
2331
+ setPanelOpen: (open: boolean) => void;
2332
+ togglePanel: (itemId: string) => void;
2333
+ openMobile: boolean;
2334
+ setOpenMobile: (open: boolean) => void;
2335
+ isMobile: boolean;
2336
+ };
2337
+ declare function useNavRail(): NavRailContextProps;
2338
+ declare function NavRailProvider({ defaultActiveItem, activeItem: activeItemProp, onActiveItemChange, defaultPanelOpen, panelOpen: panelOpenProp, onPanelOpenChange, className, style, children, ...props }: React$1.ComponentProps<'div'> & {
2339
+ defaultActiveItem?: string | null;
2340
+ activeItem?: string | null;
2341
+ onActiveItemChange?: (id: string | null) => void;
2342
+ defaultPanelOpen?: boolean;
2343
+ panelOpen?: boolean;
2344
+ onPanelOpenChange?: (open: boolean) => void;
2345
+ }): react_jsx_runtime.JSX.Element;
2346
+ declare namespace NavRailProvider {
2347
+ var displayName: string;
2348
+ }
2349
+ declare const NavRail: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLElement> & React$1.HTMLAttributes<HTMLElement> & {
2350
+ side?: "start" | "end";
2351
+ }, "ref"> & React$1.RefAttributes<HTMLElement>>;
2352
+ declare const NavRailHeader: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2353
+ declare const NavRailFooter: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2354
+ declare const NavRailItem: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLButtonElement> & React$1.ButtonHTMLAttributes<HTMLButtonElement> & {
2355
+ itemId: string;
2356
+ icon: React$1.ReactNode;
2357
+ label: string;
2358
+ isActive?: boolean;
2359
+ asChild?: boolean;
2360
+ }, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
2361
+ declare const NavRailContent: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2362
+ declare const NavRailSeparator: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, "ref"> & React$1.RefAttributes<HTMLHRElement>>;
2363
+ declare const NavPanel: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLElement> & React$1.HTMLAttributes<HTMLElement> & {
2364
+ forItem: string;
2365
+ }, "ref"> & React$1.RefAttributes<HTMLElement>>;
2366
+ declare const NavPanelHeader: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLDivElement> & React$1.HTMLAttributes<HTMLDivElement> & {
2367
+ title?: string;
2368
+ showClose?: boolean;
2369
+ }, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2370
+ declare const NavPanelContent: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2371
+ declare const NavPanelFooter: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2372
+ declare const AppLayout: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2373
+ declare const AppLayoutContent: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React$1.RefAttributes<HTMLElement>>;
2374
+ declare const NavRailTrigger: React$1.ForwardRefExoticComponent<Omit<ButtonProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
2375
+
2043
2376
  declare const skeletonVariants: (props?: ({
2044
2377
  shape?: "circle" | "rect" | "line" | "text" | null | undefined;
2045
2378
  size?: "sm" | "md" | "lg" | null | undefined;
@@ -2062,10 +2395,10 @@ declare function MetricCardSkeleton({ className }: MetricCardSkeletonProps): rea
2062
2395
  declare namespace MetricCardSkeleton {
2063
2396
  var displayName: string;
2064
2397
  }
2065
- interface ChartSkeletonProps {
2398
+ interface ChartSkeletonProps$1 {
2066
2399
  className?: string;
2067
2400
  }
2068
- declare function ChartSkeleton({ className }: ChartSkeletonProps): react_jsx_runtime.JSX.Element;
2401
+ declare function ChartSkeleton({ className }: ChartSkeletonProps$1): react_jsx_runtime.JSX.Element;
2069
2402
  declare namespace ChartSkeleton {
2070
2403
  var displayName: string;
2071
2404
  }
@@ -2083,23 +2416,20 @@ declare namespace Slider {
2083
2416
  var displayName: string;
2084
2417
  }
2085
2418
 
2086
- declare const SONNER_DEFAULT_DURATION = 4000;
2087
- interface PartoToasterProps extends ToasterProps {
2088
- /**
2089
- * Override the theme directly instead of reading from next-themes.
2090
- * Useful for non-Next.js consumers.
2091
- */
2092
- theme?: ToasterProps["theme"];
2093
- }
2419
+ type PartoToasterProps = ToasterProps;
2094
2420
  declare const Toaster: {
2095
- ({ dir, position, closeButton, theme: themeProp, toastOptions, ...props }: PartoToasterProps): react_jsx_runtime.JSX.Element;
2421
+ ({ className, ...props }: PartoToasterProps): react_jsx_runtime.JSX.Element;
2096
2422
  displayName: string;
2097
2423
  };
2098
2424
 
2099
- declare function Spinner({ className, ...props }: React$1.ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
2100
- declare namespace Spinner {
2101
- var displayName: string;
2425
+ declare const SONNER_DEFAULT_DURATION = 4000;
2426
+
2427
+ declare const spinnerVariants: (props?: ({
2428
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
2429
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
2430
+ interface SpinnerProps extends React$1.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof spinnerVariants> {
2102
2431
  }
2432
+ declare const Spinner: React$1.ForwardRefExoticComponent<SpinnerProps & React$1.RefAttributes<HTMLSpanElement>>;
2103
2433
 
2104
2434
  declare const switchRootVariants: (props?: ({
2105
2435
  size?: "sm" | "md" | "lg" | "small" | "medium" | "large" | null | undefined;
@@ -2108,9 +2438,9 @@ interface SwitchProps extends React$1.ComponentPropsWithoutRef<typeof SwitchPrim
2108
2438
  }
2109
2439
  declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLButtonElement>>;
2110
2440
 
2111
- interface TableProps extends React$1.ComponentProps<"table"> {
2441
+ interface TableProps extends React$1.ComponentProps<'table'> {
2112
2442
  /** Size variant affecting cell padding and font size */
2113
- size?: "sm" | "md" | "lg";
2443
+ size?: 'sm' | 'md' | 'lg';
2114
2444
  /** Zebra-striped rows */
2115
2445
  striped?: boolean;
2116
2446
  /** Bordered cells */
@@ -2122,37 +2452,41 @@ declare function Table({ className, size, striped, bordered, stickyHeader, ...pr
2122
2452
  declare namespace Table {
2123
2453
  var displayName: string;
2124
2454
  }
2125
- declare function TableHeader({ className, ...props }: React$1.ComponentProps<"thead">): react_jsx_runtime.JSX.Element;
2455
+ declare function TableHeader({ className, ...props }: React$1.ComponentProps<'thead'>): react_jsx_runtime.JSX.Element;
2126
2456
  declare namespace TableHeader {
2127
2457
  var displayName: string;
2128
2458
  }
2129
- declare function TableBody({ className, ...props }: React$1.ComponentProps<"tbody">): react_jsx_runtime.JSX.Element;
2459
+ declare function TableBody({ className, ...props }: React$1.ComponentProps<'tbody'>): react_jsx_runtime.JSX.Element;
2130
2460
  declare namespace TableBody {
2131
2461
  var displayName: string;
2132
2462
  }
2133
- declare function TableFooter({ className, ...props }: React$1.ComponentProps<"tfoot">): react_jsx_runtime.JSX.Element;
2463
+ declare function TableFooter({ className, ...props }: React$1.ComponentProps<'tfoot'>): react_jsx_runtime.JSX.Element;
2134
2464
  declare namespace TableFooter {
2135
2465
  var displayName: string;
2136
2466
  }
2137
- declare function TableRow({ className, ...props }: React$1.ComponentProps<"tr">): react_jsx_runtime.JSX.Element;
2467
+ declare function TableRow({ className, ...props }: React$1.ComponentProps<'tr'>): react_jsx_runtime.JSX.Element;
2138
2468
  declare namespace TableRow {
2139
2469
  var displayName: string;
2140
2470
  }
2141
- declare function TableHead({ className, ...props }: React$1.ComponentProps<"th">): react_jsx_runtime.JSX.Element;
2471
+ interface TableHeadProps extends React$1.ComponentProps<'th'> {
2472
+ /** Sort direction — sets aria-sort on the <th> element */
2473
+ sortDirection?: 'asc' | 'desc' | 'none';
2474
+ }
2475
+ declare function TableHead({ className, sortDirection, ...props }: TableHeadProps): react_jsx_runtime.JSX.Element;
2142
2476
  declare namespace TableHead {
2143
2477
  var displayName: string;
2144
2478
  }
2145
- declare function TableCell({ className, ...props }: React$1.ComponentProps<"td">): react_jsx_runtime.JSX.Element;
2479
+ declare function TableCell({ className, ...props }: React$1.ComponentProps<'td'>): react_jsx_runtime.JSX.Element;
2146
2480
  declare namespace TableCell {
2147
2481
  var displayName: string;
2148
2482
  }
2149
- declare function TableCaption({ className, ...props }: React$1.ComponentProps<"caption">): react_jsx_runtime.JSX.Element;
2483
+ declare function TableCaption({ className, ...props }: React$1.ComponentProps<'caption'>): react_jsx_runtime.JSX.Element;
2150
2484
  declare namespace TableCaption {
2151
2485
  var displayName: string;
2152
2486
  }
2153
- interface TableSortHeaderProps extends React$1.ComponentProps<"button"> {
2487
+ interface TableSortHeaderProps extends React$1.ComponentProps<'button'> {
2154
2488
  /** Current sort direction */
2155
- sorted?: "asc" | "desc" | false;
2489
+ sorted?: 'asc' | 'desc' | false;
2156
2490
  }
2157
2491
  declare function TableSortHeader({ className, children, sorted, ...props }: TableSortHeaderProps): react_jsx_runtime.JSX.Element;
2158
2492
  declare namespace TableSortHeader {
@@ -2162,9 +2496,9 @@ declare namespace TableSortHeader {
2162
2496
  declare const Tabs: React$1.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React$1.RefAttributes<HTMLDivElement>>;
2163
2497
  interface TabsListProps extends React$1.ComponentPropsWithoutRef<typeof TabsPrimitive.List> {
2164
2498
  /** Visual variant */
2165
- variant?: "default" | "underline" | "outline";
2499
+ variant?: 'default' | 'underline' | 'outline';
2166
2500
  /** Size */
2167
- size?: "sm" | "md" | "lg";
2501
+ size?: 'sm' | 'md' | 'lg';
2168
2502
  }
2169
2503
  declare const TabsList: React$1.ForwardRefExoticComponent<TabsListProps & React$1.RefAttributes<HTMLDivElement>>;
2170
2504
  interface TabsTriggerProps extends React$1.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> {
@@ -2176,10 +2510,7 @@ interface TabsTriggerProps extends React$1.ComponentPropsWithoutRef<typeof TabsP
2176
2510
  declare const TabsTrigger: React$1.ForwardRefExoticComponent<TabsTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
2177
2511
  declare const TabsContent: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2178
2512
 
2179
- declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
2180
- declare namespace Textarea {
2181
- var displayName: string;
2182
- }
2513
+ declare const Textarea: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & React$1.RefAttributes<HTMLTextAreaElement>>;
2183
2514
 
2184
2515
  declare const toggleVariants: (props?: ({
2185
2516
  variant?: "default" | "outline" | null | undefined;
@@ -2199,13 +2530,26 @@ declare namespace ToggleGroupItem {
2199
2530
  var displayName: string;
2200
2531
  }
2201
2532
 
2533
+ type ViewMode = 'grid' | 'list';
2534
+ interface ViewToggleProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onChange'> {
2535
+ /** Current view mode */
2536
+ value: ViewMode;
2537
+ /** Callback when view changes */
2538
+ onValueChange: (value: ViewMode) => void;
2539
+ /** Size @default "sm" */
2540
+ size?: 'sm' | 'default';
2541
+ /** Locale @default "fa" */
2542
+ locale?: SupportedLocale;
2543
+ }
2544
+ declare const ViewToggle: React$1.ForwardRefExoticComponent<ViewToggleProps & React$1.RefAttributes<HTMLDivElement>>;
2545
+
2202
2546
  interface TrendIndicatorProps extends React$1.HTMLAttributes<HTMLSpanElement> {
2203
2547
  /** The percentage change value */
2204
2548
  value: number;
2205
2549
  /** Direction of the trend — auto-detected from value sign if not provided */
2206
- direction?: "up" | "down" | "neutral";
2550
+ direction?: 'up' | 'down' | 'neutral';
2207
2551
  /** Size of the indicator */
2208
- size?: "sm" | "md" | "lg";
2552
+ size?: 'sm' | 'md' | 'lg';
2209
2553
  /** Locale for number formatting */
2210
2554
  locale?: SupportedLocale;
2211
2555
  /** Show the percentage sign */
@@ -2219,9 +2563,9 @@ interface FilterChipProps extends React$1.HTMLAttributes<HTMLSpanElement> {
2219
2563
  /** Callback when the chip is removed */
2220
2564
  onRemove?: () => void;
2221
2565
  /** Visual variant */
2222
- variant?: "default" | "brand" | "warning" | "destructive";
2566
+ variant?: 'default' | 'brand' | 'warning' | 'destructive';
2223
2567
  /** Size */
2224
- size?: "sm" | "md";
2568
+ size?: 'sm' | 'md';
2225
2569
  /** Override the remove button's aria-label. Default: "حذف {label}" */
2226
2570
  removeAriaLabel?: string;
2227
2571
  /** Disables the chip and hides the remove button */
@@ -2233,9 +2577,14 @@ declare const FilterChip: React$1.ForwardRefExoticComponent<FilterChipProps & Re
2233
2577
  interface FilterChipGroupProps extends React$1.HTMLAttributes<HTMLDivElement> {
2234
2578
  /** Maximum visible chips before showing overflow count */
2235
2579
  maxVisible?: number;
2580
+ /** Locale for overflow counter digits */
2581
+ locale?: SupportedLocale;
2236
2582
  }
2237
2583
  declare const FilterChipGroup: React$1.ForwardRefExoticComponent<FilterChipGroupProps & React$1.RefAttributes<HTMLDivElement>>;
2238
2584
 
2585
+ declare const statDisplayVariants: (props?: ({
2586
+ size?: "sm" | "md" | "lg" | null | undefined;
2587
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
2239
2588
  interface StatDisplayProps extends React$1.HTMLAttributes<HTMLDivElement> {
2240
2589
  /** The main numeric value */
2241
2590
  value: number | string;
@@ -2246,7 +2595,7 @@ interface StatDisplayProps extends React$1.HTMLAttributes<HTMLDivElement> {
2246
2595
  /** Trend indicator element (use TrendIndicator component) */
2247
2596
  trend?: React$1.ReactNode;
2248
2597
  /** Size of the display */
2249
- size?: "sm" | "md" | "lg";
2598
+ size?: 'sm' | 'md' | 'lg';
2250
2599
  /** Locale for number formatting */
2251
2600
  locale?: SupportedLocale;
2252
2601
  /** Optional icon displayed before the value */
@@ -2256,13 +2605,34 @@ interface StatDisplayProps extends React$1.HTMLAttributes<HTMLDivElement> {
2256
2605
  }
2257
2606
  declare const StatDisplay: React$1.ForwardRefExoticComponent<StatDisplayProps & React$1.RefAttributes<HTMLDivElement>>;
2258
2607
 
2608
+ interface StepperProps extends React$1.HTMLAttributes<HTMLDivElement> {
2609
+ /** Index of the currently active step (0-based) */
2610
+ activeStep: number;
2611
+ /** Layout direction @default "horizontal" */
2612
+ orientation?: 'horizontal' | 'vertical';
2613
+ /** Size @default "md" */
2614
+ size?: 'sm' | 'md' | 'lg';
2615
+ /** Locale @default "fa" */
2616
+ locale?: SupportedLocale;
2617
+ }
2618
+ interface StepProps extends React$1.HTMLAttributes<HTMLDivElement> {
2619
+ /** Step label text */
2620
+ label: string;
2621
+ /** Optional description below label */
2622
+ description?: string;
2623
+ /** Optional icon to replace the step number */
2624
+ icon?: React$1.ReactNode;
2625
+ }
2626
+ declare const Stepper: React$1.ForwardRefExoticComponent<StepperProps & React$1.RefAttributes<HTMLDivElement>>;
2627
+ declare const Step: React$1.ForwardRefExoticComponent<StepProps & React$1.RefAttributes<HTMLDivElement>>;
2628
+
2259
2629
  interface SentimentBadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
2260
2630
  /** Sentiment type */
2261
- sentiment: "positive" | "negative" | "neutral" | "mixed";
2631
+ sentiment: 'positive' | 'negative' | 'neutral' | 'mixed';
2262
2632
  /** Optional count to display */
2263
2633
  count?: number;
2264
2634
  /** Size */
2265
- size?: "sm" | "md";
2635
+ size?: 'sm' | 'md';
2266
2636
  /** Show text label alongside the icon */
2267
2637
  showLabel?: boolean;
2268
2638
  /** Locale for number/label formatting */
@@ -2305,10 +2675,7 @@ declare const MultiSelect: React$1.ForwardRefExoticComponent<MultiSelectProps &
2305
2675
 
2306
2676
  interface PeriodOption {
2307
2677
  value: string;
2308
- label: {
2309
- fa: string;
2310
- en: string;
2311
- };
2678
+ label: Record<SupportedLocale, string>;
2312
2679
  }
2313
2680
  declare const DEFAULT_PERIODS: PeriodOption[];
2314
2681
  interface PeriodSelectorProps {
@@ -2319,9 +2686,9 @@ interface PeriodSelectorProps {
2319
2686
  /** Custom period options — defaults to the 6 standard periods */
2320
2687
  periods?: PeriodOption[];
2321
2688
  /** Display locale — affects label language */
2322
- locale?: "fa" | "en";
2689
+ locale?: SupportedLocale;
2323
2690
  /** Size variant */
2324
- size?: "sm" | "md";
2691
+ size?: 'sm' | 'md';
2325
2692
  /** Disables all periods */
2326
2693
  disabled?: boolean;
2327
2694
  /** Additional className */
@@ -2329,20 +2696,24 @@ interface PeriodSelectorProps {
2329
2696
  }
2330
2697
  declare const PeriodSelector: React$1.ForwardRefExoticComponent<PeriodSelectorProps & React$1.RefAttributes<HTMLDivElement>>;
2331
2698
 
2332
- type SocialPlatform = "instagram" | "twitter" | "tiktok" | "youtube" | "linkedin" | "telegram" | "threads";
2699
+ type SocialPlatform = 'instagram' | 'twitter' | 'tiktok' | 'youtube' | 'linkedin' | 'telegram' | 'threads';
2333
2700
  interface SocialPlatformBadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
2334
2701
  /** The social media platform to display */
2335
2702
  platform: SocialPlatform;
2336
2703
  /** Size of the badge */
2337
- size?: "xs" | "sm" | "md" | "lg";
2704
+ size?: 'xs' | 'sm' | 'md' | 'lg';
2338
2705
  /** Show the platform name label */
2339
2706
  showLabel?: boolean;
2340
2707
  /** Visual style of the badge */
2341
- variant?: "flat" | "badge";
2708
+ variant?: 'flat' | 'badge';
2342
2709
  }
2710
+ declare const socialPlatformBadgeVariants: (props?: ({
2711
+ size?: "xs" | "sm" | "md" | "lg" | null | undefined;
2712
+ variant?: "flat" | "badge" | null | undefined;
2713
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
2343
2714
  declare const SocialPlatformBadge: React$1.ForwardRefExoticComponent<SocialPlatformBadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
2344
2715
 
2345
- interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size">, VariantProps<typeof InputVariants> {
2716
+ interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof InputVariants> {
2346
2717
  /** Locale for placeholder and aria labels */
2347
2718
  locale?: SupportedLocale;
2348
2719
  /** Show a loading spinner instead of the clear button */
@@ -2364,12 +2735,13 @@ interface SentimentData {
2364
2735
  positive: number;
2365
2736
  negative: number;
2366
2737
  neutral: number;
2738
+ mixed?: number;
2367
2739
  }
2368
2740
  interface SentimentDistributionProps extends React$1.HTMLAttributes<HTMLDivElement> {
2369
2741
  /** Sentiment counts (will be auto-normalized to 100%) */
2370
2742
  data: SentimentData;
2371
2743
  /** Display mode */
2372
- variant?: "bars" | "stacked" | "compact";
2744
+ variant?: 'bars' | 'stacked' | 'compact';
2373
2745
  /** Show numeric count labels */
2374
2746
  showCounts?: boolean;
2375
2747
  /** Show percentage labels */
@@ -2413,35 +2785,349 @@ interface ComparisonCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
2413
2785
  }
2414
2786
  declare const ComparisonCard: React$1.ForwardRefExoticComponent<ComparisonCardProps & React$1.RefAttributes<HTMLDivElement>>;
2415
2787
 
2416
- interface PartoLineChartProps extends Omit<LineSvgProps<any>, 'theme' | 'width' | 'height'> {
2788
+ type SortDirection = 'asc' | 'desc';
2789
+ interface DataTableColumn<TData> {
2790
+ /** Unique key identifying the column — used for sort callbacks */
2791
+ id: string;
2792
+ /** Column header label */
2793
+ header: React$1.ReactNode;
2794
+ /** Render function for cell content */
2795
+ cell: (row: TData, rowIndex: number) => React$1.ReactNode;
2796
+ /** Whether this column is sortable */
2797
+ sortable?: boolean;
2798
+ /** Additional className for both <th> and <td> */
2417
2799
  className?: string;
2418
- /** Show loading skeleton instead of chart */
2800
+ /** Column alignment */
2801
+ align?: 'start' | 'center' | 'end';
2802
+ }
2803
+ interface DataTablePagination {
2804
+ currentPage: number;
2805
+ totalPages: number;
2806
+ onPageChange: (page: number) => void;
2807
+ }
2808
+ interface DataTableSort {
2809
+ column: string | null;
2810
+ direction: SortDirection | null;
2811
+ onSort: (column: string, direction: SortDirection) => void;
2812
+ }
2813
+ interface DataTableSelection<TData> {
2814
+ selectedRows: Set<number>;
2815
+ onSelectionChange: (selectedRows: Set<number>) => void;
2816
+ /** Function to get a unique key for each row (defaults to index) */
2817
+ getRowKey?: (row: TData, index: number) => number;
2818
+ }
2819
+ interface DataTableProps<TData> {
2820
+ /** Column definitions */
2821
+ columns: DataTableColumn<TData>[];
2822
+ /** Data rows */
2823
+ data: TData[];
2824
+ /** Table size variant */
2825
+ size?: 'sm' | 'md' | 'lg';
2826
+ /** Show loading skeleton */
2419
2827
  isLoading?: boolean;
2828
+ /** Number of skeleton rows to show when loading */
2829
+ loadingRows?: number;
2830
+ /** Content to show when data is empty (not loading) */
2831
+ emptyState?: React$1.ReactNode;
2832
+ /** Pagination configuration */
2833
+ pagination?: DataTablePagination;
2834
+ /** Sort configuration */
2835
+ sort?: DataTableSort;
2836
+ /** Row selection configuration */
2837
+ selection?: DataTableSelection<TData>;
2838
+ /** Zebra-striped rows */
2839
+ striped?: boolean;
2840
+ /** Bordered cells */
2841
+ bordered?: boolean;
2842
+ /** Sticky header */
2843
+ stickyHeader?: boolean;
2844
+ /** Additional className for the root wrapper */
2845
+ className?: string;
2846
+ /** Caption text below the table */
2847
+ caption?: string;
2848
+ /** Total result count shown above table (e.g. "۲۴ نتیجه") */
2849
+ resultCount?: React$1.ReactNode;
2850
+ /** Locale for UI strings @default 'fa' */
2851
+ locale?: SupportedLocale;
2852
+ }
2853
+ declare const DataTable: <TData>(props: DataTableProps<TData> & {
2854
+ ref?: React$1.ForwardedRef<HTMLDivElement>;
2855
+ }) => React$1.ReactElement;
2856
+
2857
+ interface DirectionalBoxProps extends React$1.HTMLAttributes<HTMLDivElement> {
2858
+ /**
2859
+ * Override the detected document direction.
2860
+ * When not provided, reads from `useDocumentDirection`.
2861
+ */
2862
+ dir?: 'rtl' | 'ltr';
2863
+ /**
2864
+ * Content rendered when direction is RTL.
2865
+ * If not provided, renders `children` in both directions.
2866
+ */
2867
+ rtl?: React$1.ReactNode;
2868
+ /**
2869
+ * Content rendered when direction is LTR.
2870
+ * If not provided, renders `children` in both directions.
2871
+ */
2872
+ ltr?: React$1.ReactNode;
2420
2873
  }
2421
- declare function PartoLineChart({ className, isLoading, ...props }: PartoLineChartProps): react_jsx_runtime.JSX.Element;
2874
+ declare const DirectionalBox: React$1.ForwardRefExoticComponent<DirectionalBoxProps & React$1.RefAttributes<HTMLDivElement>>;
2422
2875
 
2423
- interface PartoBarChartProps extends Omit<BarSvgProps<any>, 'theme' | 'width' | 'height'> {
2876
+ declare const pageLoaderVariants: (props?: ({
2877
+ fullScreen?: boolean | null | undefined;
2878
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
2879
+ interface PageLoaderProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof pageLoaderVariants> {
2880
+ /** Optional message displayed below the spinner */
2881
+ message?: string;
2882
+ /** Spinner size @default "lg" */
2883
+ spinnerSize?: 'sm' | 'md' | 'lg' | 'xl';
2884
+ }
2885
+ declare const PageLoader: React$1.ForwardRefExoticComponent<PageLoaderProps & React$1.RefAttributes<HTMLDivElement>>;
2886
+
2887
+ interface ErrorBoundaryProps {
2888
+ children: React$1.ReactNode;
2889
+ /** Custom fallback UI. Receives the error and a reset function. */
2890
+ fallback?: React$1.ReactNode | ((props: {
2891
+ error: Error;
2892
+ reset: () => void;
2893
+ }) => React$1.ReactNode);
2894
+ /** Callback when an error is caught */
2895
+ onError?: (error: Error, errorInfo: React$1.ErrorInfo) => void;
2896
+ /** Optional className for the wrapper when error is shown */
2424
2897
  className?: string;
2425
- /** Show loading skeleton instead of chart */
2426
- isLoading?: boolean;
2427
2898
  }
2428
- declare function PartoBarChart({ className, isLoading, ...props }: PartoBarChartProps): react_jsx_runtime.JSX.Element;
2899
+ interface ErrorBoundaryState {
2900
+ error: Error | null;
2901
+ }
2902
+ declare class ErrorBoundary extends React$1.Component<ErrorBoundaryProps, ErrorBoundaryState> {
2903
+ static displayName: string;
2904
+ constructor(props: ErrorBoundaryProps);
2905
+ static getDerivedStateFromError(error: Error): ErrorBoundaryState;
2906
+ componentDidCatch(error: Error, errorInfo: React$1.ErrorInfo): void;
2907
+ reset: () => void;
2908
+ render(): React$1.ReactNode;
2909
+ }
2429
2910
 
2430
- interface PartoPieChartProps extends Omit<PieSvgProps<any>, 'theme' | 'width' | 'height'> {
2911
+ interface SafeImageProps extends React$1.ImgHTMLAttributes<HTMLImageElement> {
2912
+ /** Fallback content rendered when the image fails to load.
2913
+ * Defaults to a placeholder icon. */
2914
+ fallback?: React$1.ReactNode;
2915
+ /** Additional className for the wrapper div (applied when fallback is shown) */
2916
+ wrapperClassName?: string;
2917
+ }
2918
+ declare const SafeImage: React$1.ForwardRefExoticComponent<SafeImageProps & React$1.RefAttributes<HTMLImageElement>>;
2919
+
2920
+ declare const calloutVariants: (props?: ({
2921
+ variant?: "info" | "success" | "warning" | "destructive" | "neutral" | null | undefined;
2922
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
2923
+ interface CalloutProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof calloutVariants> {
2924
+ /** Custom icon. Set to `null` to hide the icon. */
2925
+ icon?: React$1.ReactNode | null;
2926
+ }
2927
+ declare const Callout: React$1.ForwardRefExoticComponent<CalloutProps & React$1.RefAttributes<HTMLDivElement>>;
2928
+ declare const CalloutTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
2929
+ declare const CalloutDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
2930
+
2931
+ interface AnimatedNumberProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, 'children'> {
2932
+ /** The target value to animate to */
2933
+ value: number;
2934
+ /** Animation duration in milliseconds @default 600 */
2935
+ duration?: number;
2936
+ /** Number of decimal places @default 0 */
2937
+ decimals?: number;
2938
+ /** Format function applied to the final displayed number.
2939
+ * Receives the current animated value. */
2940
+ formatFn?: (value: number) => string;
2941
+ /** Whether to animate on value change or only on mount @default true */
2942
+ animateOnChange?: boolean;
2943
+ }
2944
+ declare const AnimatedNumber: React$1.ForwardRefExoticComponent<AnimatedNumberProps & React$1.RefAttributes<HTMLSpanElement>>;
2945
+
2946
+ interface SectionItem {
2947
+ /** Unique identifier matching the target element's `id` attribute */
2948
+ id: string;
2949
+ /** Display label for the navigation link */
2950
+ label: string;
2951
+ /** Optional icon rendered before the label */
2952
+ icon?: React$1.ReactNode;
2953
+ }
2954
+ interface SectionNavigatorProps extends React$1.HTMLAttributes<HTMLElement> {
2955
+ /** List of sections to navigate between */
2956
+ sections: SectionItem[];
2957
+ /** Offset from top when calculating active section (e.g. sticky header height) @default 80 */
2958
+ offset?: number;
2959
+ /** Callback when a section link is clicked */
2960
+ onSectionClick?: (sectionId: string) => void;
2961
+ }
2962
+ declare const SectionNavigator: React$1.ForwardRefExoticComponent<SectionNavigatorProps & React$1.RefAttributes<HTMLElement>>;
2963
+
2964
+ interface PartoLineChartProps {
2965
+ /** Row-oriented data: [{ name: "فروردین", series1: 50, series2: 30 }] */
2966
+ data: Array<Record<string, any>>;
2967
+ /** Keys for each line series (e.g. ['فروش', 'سود']) */
2968
+ dataKeys: string[];
2969
+ /** Field name for X axis (default: 'name') */
2970
+ xAxisKey?: string;
2971
+ /** Curve type */
2972
+ curve?: 'monotone' | 'linear' | 'natural' | 'step';
2973
+ /** Line width */
2974
+ strokeWidth?: number;
2975
+ /** Show dots on data points */
2976
+ showDots?: boolean;
2977
+ /** Show horizontal grid lines */
2978
+ enableGridY?: boolean;
2979
+ /** Show vertical grid lines */
2980
+ enableGridX?: boolean;
2981
+ /** Chart margins */
2982
+ margin?: {
2983
+ top?: number;
2984
+ right?: number;
2985
+ bottom?: number;
2986
+ left?: number;
2987
+ };
2988
+ /** Custom X axis config */
2989
+ axisBottom?: Record<string, any> | null;
2990
+ /** Custom Y axis config */
2991
+ axisLeft?: Record<string, any> | null;
2992
+ /** Custom tooltip formatter */
2993
+ tooltipFormatter?: (name: string, value: number) => React$1.ReactNode;
2431
2994
  className?: string;
2432
- /** Show loading skeleton instead of chart */
2433
2995
  isLoading?: boolean;
2996
+ ariaLabel?: string;
2997
+ /** Additional Recharts LineChart props */
2998
+ chartProps?: Record<string, any>;
2999
+ }
3000
+ declare const PartoLineChart: React$1.ForwardRefExoticComponent<PartoLineChartProps & React$1.RefAttributes<HTMLDivElement>>;
3001
+
3002
+ interface PartoBarChartProps {
3003
+ /** Chart data — row-oriented array of objects */
3004
+ data: Array<Record<string, any>>;
3005
+ /** Data keys to render as bars (e.g. ['فروش', 'هزینه']) */
3006
+ keys: string[];
3007
+ /** Field name used for X axis categories (e.g. 'ماه') */
3008
+ indexBy: string;
3009
+ /** Stacked or grouped layout */
3010
+ groupMode?: 'grouped' | 'stacked';
3011
+ /** Bar layout direction */
3012
+ layout?: 'vertical' | 'horizontal';
3013
+ /** Chart margins */
3014
+ margin?: {
3015
+ top?: number;
3016
+ right?: number;
3017
+ bottom?: number;
3018
+ left?: number;
3019
+ };
3020
+ /** Gap between category groups as percentage */
3021
+ barCategoryGap?: string | number;
3022
+ /** Gap between bars within a group */
3023
+ barGap?: number;
3024
+ /** Border radius for bar tops [topLeft, topRight, bottomRight, bottomLeft] */
3025
+ radius?: [number, number, number, number];
3026
+ /** Show horizontal grid lines */
3027
+ enableGridY?: boolean;
3028
+ /** Show vertical grid lines */
3029
+ enableGridX?: boolean;
3030
+ /** Show labels inside bars */
3031
+ enableLabel?: boolean;
3032
+ /** Custom X axis config */
3033
+ axisBottom?: Record<string, any> | null;
3034
+ /** Custom Y axis config */
3035
+ axisLeft?: Record<string, any> | null;
3036
+ /** Custom tooltip formatter */
3037
+ tooltipFormatter?: (name: string, value: number) => React$1.ReactNode;
3038
+ className?: string;
3039
+ isLoading?: boolean;
3040
+ ariaLabel?: string;
3041
+ /** Additional Recharts BarChart props */
3042
+ chartProps?: Record<string, any>;
2434
3043
  }
2435
- declare function PartoPieChart({ className, isLoading, ...props }: PartoPieChartProps): react_jsx_runtime.JSX.Element;
3044
+ declare const PartoBarChart: React$1.ForwardRefExoticComponent<PartoBarChartProps & React$1.RefAttributes<HTMLDivElement>>;
2436
3045
 
2437
- interface PartoHeatMapProps extends Omit<HeatMapSvgProps<any, any>, 'theme' | 'width' | 'height'> {
3046
+ interface PartoPieChartProps {
3047
+ /** Data: [{ name: "محصول A", value: 40 }] */
3048
+ data: Array<{
3049
+ name: string;
3050
+ value: number;
3051
+ [key: string]: any;
3052
+ }>;
3053
+ /** Inner radius — 0 for full pie, "60%" for donut */
3054
+ innerRadius?: number | string;
3055
+ /** Outer radius */
3056
+ outerRadius?: number | string;
3057
+ /** Angle between slices in degrees */
3058
+ paddingAngle?: number;
3059
+ /** Corner radius of arc segments */
3060
+ cornerRadius?: number;
3061
+ /** Show arc link labels (lines from slices to text) */
3062
+ showLabels?: boolean;
3063
+ /** Skip labels for slices smaller than this angle */
3064
+ labelSkipAngle?: number;
3065
+ /** Chart margins */
3066
+ margin?: {
3067
+ top?: number;
3068
+ right?: number;
3069
+ bottom?: number;
3070
+ left?: number;
3071
+ };
3072
+ /** Custom tooltip formatter */
3073
+ tooltipFormatter?: (name: string, value: number) => React$1.ReactNode;
2438
3074
  className?: string;
3075
+ isLoading?: boolean;
3076
+ ariaLabel?: string;
3077
+ }
3078
+ declare const PartoPieChart: React$1.ForwardRefExoticComponent<PartoPieChartProps & React$1.RefAttributes<HTMLDivElement>>;
3079
+
3080
+ /**
3081
+ * PartoHeatMap — brand-tinted heatmap with rounded cells, clean axis,
3082
+ * glassmorphic tooltip, and locale-aware formatting.
3083
+ * Built with Visx scales + raw SVG for full control.
3084
+ */
3085
+ interface HeatMapDatum {
3086
+ x: string | number;
3087
+ y: number;
3088
+ }
3089
+ interface HeatMapRow {
3090
+ id: string;
3091
+ data: HeatMapDatum[];
3092
+ }
3093
+ interface PartoHeatMapProps {
3094
+ data: HeatMapRow[];
2439
3095
  locale?: 'fa' | 'en';
2440
- /** Show loading skeleton instead of chart */
3096
+ className?: string;
2441
3097
  isLoading?: boolean;
3098
+ ariaLabel?: string;
3099
+ margin?: {
3100
+ top: number;
3101
+ right: number;
3102
+ bottom: number;
3103
+ left: number;
3104
+ };
3105
+ /** Custom color function: receives value and max → returns CSS color */
3106
+ colorScale?: (value: number, max: number) => string;
3107
+ /** Cell border radius */
3108
+ cellRadius?: number;
3109
+ /** Gap between cells */
3110
+ cellGap?: number;
3111
+ /** Custom tooltip content */
3112
+ renderTooltip?: (cell: {
3113
+ rowId: string;
3114
+ x: string | number;
3115
+ value: number;
3116
+ color: string;
3117
+ }) => React$1.ReactNode;
3118
+ /** X axis label */
3119
+ xAxisLabel?: string;
3120
+ /** Y axis label */
3121
+ yAxisLabel?: string;
3122
+ /** Filter which x-axis ticks to show */
3123
+ xTickFilter?: (value: string | number, index: number) => boolean;
2442
3124
  }
2443
- declare function PartoHeatMap({ className, locale, isLoading, data, axisTop, axisBottom, axisLeft, axisRight, valueFormat, tooltip, margin, ...props }: PartoHeatMapProps): react_jsx_runtime.JSX.Element;
3125
+ declare const PartoHeatMap: React$1.ForwardRefExoticComponent<PartoHeatMapProps & React$1.RefAttributes<HTMLDivElement>>;
2444
3126
 
3127
+ /**
3128
+ * PartoWordCloud — modern word cloud with smooth hover transitions,
3129
+ * glassmorphic tooltip, and brand-harmonious coloring.
3130
+ */
2445
3131
  interface WordData {
2446
3132
  text: string;
2447
3133
  value: number;
@@ -2464,9 +3150,231 @@ interface PartoWordCloudProps {
2464
3150
  onWordClick?: (word: WordData) => void;
2465
3151
  /** Show loading skeleton instead of word cloud */
2466
3152
  isLoading?: boolean;
3153
+ /** Accessible label describing the chart content */
3154
+ ariaLabel?: string;
3155
+ }
3156
+ declare function PartoWordCloud({ words, width: widthProp, height: heightProp, className, minFontSize, maxFontSize, padding, spiral, rotate, random, fontWeight, onWordClick, isLoading, ariaLabel, }: PartoWordCloudProps): react_jsx_runtime.JSX.Element;
3157
+ declare namespace PartoWordCloud {
3158
+ var displayName: string;
3159
+ }
3160
+
3161
+ interface PartoAreaChartProps {
3162
+ /** Row-oriented data: [{ name: "فروردین", series1: 50, series2: 30 }] */
3163
+ data: Array<Record<string, any>>;
3164
+ /** Keys for each area series (e.g. ['فروش', 'سود']) */
3165
+ dataKeys: string[];
3166
+ /** Field name for X axis (default: 'name') */
3167
+ xAxisKey?: string;
3168
+ /** Curve type */
3169
+ curve?: 'monotone' | 'linear' | 'natural' | 'step';
3170
+ /** Line width */
3171
+ strokeWidth?: number;
3172
+ /** Area fill opacity */
3173
+ fillOpacity?: number;
3174
+ /** Show dots on data points */
3175
+ showDots?: boolean;
3176
+ /** Show horizontal grid lines */
3177
+ enableGridY?: boolean;
3178
+ /** Show vertical grid lines */
3179
+ enableGridX?: boolean;
3180
+ /** Chart margins */
3181
+ margin?: {
3182
+ top?: number;
3183
+ right?: number;
3184
+ bottom?: number;
3185
+ left?: number;
3186
+ };
3187
+ /** Custom X axis config */
3188
+ axisBottom?: Record<string, any> | null;
3189
+ /** Custom Y axis config */
3190
+ axisLeft?: Record<string, any> | null;
3191
+ /** Custom tooltip formatter */
3192
+ tooltipFormatter?: (name: string, value: number) => React$1.ReactNode;
3193
+ className?: string;
3194
+ isLoading?: boolean;
3195
+ ariaLabel?: string;
3196
+ /** Additional Recharts AreaChart props */
3197
+ chartProps?: Record<string, any>;
3198
+ }
3199
+ declare const PartoAreaChart: React$1.ForwardRefExoticComponent<PartoAreaChartProps & React$1.RefAttributes<HTMLDivElement>>;
3200
+
3201
+ interface PartoRadarChartProps {
3202
+ /** Data: [{ subject: "سرعت", series1: 80, series2: 60 }] */
3203
+ data: Array<Record<string, any>>;
3204
+ /** Keys for each radar series */
3205
+ dataKeys: string[];
3206
+ /** Field name used for angle axis labels (default: 'subject') */
3207
+ indexBy?: string;
3208
+ /** Radar fill opacity */
3209
+ fillOpacity?: number;
3210
+ /** Radar stroke width */
3211
+ strokeWidth?: number;
3212
+ /** Show dots on vertices */
3213
+ showDots?: boolean;
3214
+ /** Dot radius */
3215
+ dotRadius?: number;
3216
+ /** Grid shape */
3217
+ gridType?: 'polygon' | 'circle';
3218
+ /** Chart margins */
3219
+ margin?: {
3220
+ top?: number;
3221
+ right?: number;
3222
+ bottom?: number;
3223
+ left?: number;
3224
+ };
3225
+ /** Custom tooltip formatter */
3226
+ tooltipFormatter?: (name: string, value: number) => React$1.ReactNode;
3227
+ className?: string;
3228
+ isLoading?: boolean;
3229
+ ariaLabel?: string;
2467
3230
  }
2468
- declare function PartoWordCloud({ words, width: widthProp, height: heightProp, className, minFontSize, maxFontSize, padding, spiral, rotate, random, fontWeight, onWordClick, isLoading, }: PartoWordCloudProps): react_jsx_runtime.JSX.Element;
3231
+ declare const PartoRadarChart: React$1.ForwardRefExoticComponent<PartoRadarChartProps & React$1.RefAttributes<HTMLDivElement>>;
3232
+
3233
+ type Direction = 'ltr' | 'rtl';
3234
+ declare function useDocumentDirection(): Direction;
2469
3235
 
2470
3236
  declare function useIsMobile(): boolean;
2471
3237
 
2472
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, type AspectRatioType, Autocomplete, type AutocompleteItem, type AutocompleteProps, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, type ButtonVariantProps, Calendar, type CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartSkeleton, type ChartSkeletonProps, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommentCard, type CommentCardProps, type CommentTag, ComparisonCard, type ComparisonCardProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_PERIODS, DatePicker, type DatePickerProps, DateRangePicker, DateRangePickerInline, type DateRangePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENGAGEMENT_RANGES, Empty, EmptyDescription, EmptyIcon, EmptyTitle, type EngagementRange, type EngagementRangeWithDisplay, EngagementRate, EngagementRateBar, type EngagementRateBarProps, type EngagementRateProps, type EngagementTier, ErrorState, type ErrorStateProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterChip, FilterChipGroup, type FilterChipProps, type FollowerGroup, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GROUP_LABELS, HashtagInput, type HashtagInputProps, HoverCard, HoverCardContent, HoverCardTrigger, type Icon, Icons, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, InputVariants, InstagramPost, type InstagramPostProps, type InstagramProfileInfo, Item, ItemContent, ItemDescription, ItemGroup, type ItemGroupProps, ItemMedia, type ItemProps, ItemTitle, Kbd, KbdGroup, Label, type LegacySize, type LoadingVariantProps, type MediaItem, type MediaType, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricCard, MetricCardContent, MetricCardDifferential, MetricCardHeader, MetricCardLabel, MetricCardSkeleton, type MetricCardSkeletonProps, MetricCardSparkline, MetricCardValue, MultiSelect, type MultiSelectOption, type MultiSelectProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, type NumberFormat, PERSIAN_MONTHS, PERSIAN_MONTHS_SHORT, PERSIAN_WEEKDAYS, PERSIAN_WEEKDAYS_SHORT, Pagination, PaginationContent, PaginationControlled, type PaginationControlledProps, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PartoBarChart, type PartoBarChartProps, PartoHeatMap, type PartoHeatMapProps, PartoLineChart, type PartoLineChartProps, PartoPieChart, type PartoPieChartProps, type PartoToasterProps, PartoWordCloud, type PartoWordCloudProps, type PeriodOption, PeriodSelector, type PeriodSelectorProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PostStats, ProfileCard, type ProfileCardProps, ProfileInfo, type ProfileInfoProps, Progress, type ProgressProps, RadioCardDescription, RadioCardItem, RadioCardTitle, RadioCards, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, SONNER_DEFAULT_DURATION, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SentimentBadge, type SentimentBadgeProps, type SentimentData, SentimentDistribution, type SentimentDistributionProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, type SizeWithLegacy, Skeleton, type SkeletonProps, Slider, type SocialPlatform, SocialPlatformBadge, type SocialPlatformBadgeProps, Spinner, type StandardSize, StatDisplay, type StatDisplayProps, type SupportedLocale, Switch, type SwitchProps, TIER_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, TableSkeleton, type TableSkeletonProps, TableSortHeader, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, Textarea, type TimeFormat, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TrendIndicator, type TrendIndicatorProps, type UIStringKeys, type UIStrings, UI_STRINGS, UserAutocomplete, type UserAutocompleteProps, type UserItem, type WordData, badgeVariants, buttonGroupVariants, buttonVariants, cn, convertToLocalNumbers, formatAbsoluteTime, formatJalaliDate, formatLargeNumber, formatNumber, formatPersianDateRange, formatRelativeTime, getCurrentRangeIndex, getEngagementRanges, getFollowerGroup, getPersianDay, getPersianMonth, getPersianMonthName, getPersianMonthNameShort, getPersianMonthsForDropdown, getPersianWeekdayName, getPersianYear, getPersianYearsForDropdown, getUIStrings, hashtagInputVariants, instagramPostVariants, jalaliToGregorian, navigationMenuTriggerStyle, normalizeSize, tagInputVariants, toEnglishDigits, toPersianDigits, toggleVariants, useFormField, useIsMobile, useSidebar };
3238
+ interface UseInfiniteScrollOptions {
3239
+ /** Called when the sentinel enters the viewport */
3240
+ onLoadMore: () => void;
3241
+ /** Whether there are more items to load */
3242
+ hasMore: boolean;
3243
+ /** Whether a load is currently in progress (prevents double-firing) */
3244
+ isLoading?: boolean;
3245
+ /** IntersectionObserver rootMargin @default "200px" */
3246
+ rootMargin?: string;
3247
+ /** IntersectionObserver threshold @default 0 */
3248
+ threshold?: number;
3249
+ }
3250
+ interface UseInfiniteScrollReturn {
3251
+ /** Ref to attach to the sentinel element at the bottom of the list */
3252
+ sentinelRef: React$1.RefCallback<HTMLElement>;
3253
+ }
3254
+ /**
3255
+ * Hook for infinite scroll using IntersectionObserver.
3256
+ *
3257
+ * Attach `sentinelRef` to an empty element at the bottom of your list.
3258
+ * When it enters the viewport, `onLoadMore` is called (unless `isLoading` or `!hasMore`).
3259
+ *
3260
+ * @example
3261
+ * ```tsx
3262
+ * const { sentinelRef } = useInfiniteScroll({
3263
+ * onLoadMore: () => fetchNextPage(),
3264
+ * hasMore: data.hasNextPage,
3265
+ * isLoading: isFetchingNextPage,
3266
+ * })
3267
+ *
3268
+ * return (
3269
+ * <div>
3270
+ * {items.map(item => <Card key={item.id} {...item} />)}
3271
+ * <div ref={sentinelRef} />
3272
+ * </div>
3273
+ * )
3274
+ * ```
3275
+ */
3276
+ declare function useInfiniteScroll({ onLoadMore, hasMore, isLoading, rootMargin, threshold, }: UseInfiniteScrollOptions): UseInfiniteScrollReturn;
3277
+
3278
+ /**
3279
+ * Returns a debounced version of `value` that only updates after
3280
+ * `delay` ms of inactivity.
3281
+ *
3282
+ * @example
3283
+ * const debouncedSearch = useDebounce(searchQuery, 300)
3284
+ */
3285
+ declare function useDebounce<T>(value: T, delay: number): T;
3286
+
3287
+ /**
3288
+ * Sync state to localStorage with JSON serialization.
3289
+ * SSR-safe: returns initialValue on server (window is undefined).
3290
+ *
3291
+ * @example
3292
+ * const [theme, setTheme] = useLocalStorage('theme', 'light')
3293
+ */
3294
+ declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((prev: T) => T)) => void];
3295
+
3296
+ /**
3297
+ * Returns a snapshot of the current document root computed styles and
3298
+ * re-renders when the theme class or OS color scheme changes.
3299
+ */
3300
+ declare function useRootStyles(): CSSStyleDeclaration | null;
3301
+
3302
+ declare const CHART_FONT_FAMILY = "Yekan Bakh, system-ui, -apple-system, sans-serif";
3303
+ declare function useChartTheme(): {
3304
+ chartColors: string[];
3305
+ getColor: (variable: string, fallback: string) => string;
3306
+ fontFamily: string;
3307
+ axisTickStyle: {
3308
+ fontFamily: string;
3309
+ fill: string;
3310
+ fontSize: number;
3311
+ fontWeight: 400;
3312
+ };
3313
+ gridStyle: {
3314
+ stroke: string;
3315
+ strokeDasharray: string;
3316
+ strokeOpacity: number;
3317
+ };
3318
+ tooltipStyle: React$1.CSSProperties;
3319
+ crosshairStyle: {
3320
+ stroke: string;
3321
+ strokeWidth: number;
3322
+ strokeDasharray: string;
3323
+ strokeOpacity: number;
3324
+ };
3325
+ };
3326
+
3327
+ interface ChartContainerProps {
3328
+ className?: string;
3329
+ dataSlot: string;
3330
+ ariaLabel?: string;
3331
+ children: React$1.ReactNode;
3332
+ }
3333
+ declare const ChartContainer: React$1.ForwardRefExoticComponent<ChartContainerProps & React$1.RefAttributes<HTMLDivElement>>;
3334
+ interface ChartSkeletonProps {
3335
+ className?: string;
3336
+ shape?: 'rect' | 'circle';
3337
+ }
3338
+ declare function ChartLoadingSkeleton({ className, shape }: ChartSkeletonProps): react_jsx_runtime.JSX.Element;
3339
+ interface ChartTooltipProps {
3340
+ active?: boolean;
3341
+ payload?: Array<{
3342
+ name: string;
3343
+ value: number;
3344
+ color: string;
3345
+ dataKey?: string;
3346
+ }>;
3347
+ label?: string;
3348
+ tooltipStyle: React$1.CSSProperties;
3349
+ formatter?: (name: string, value: number) => React$1.ReactNode;
3350
+ }
3351
+ declare function ChartTooltip({ active, payload, label, tooltipStyle, formatter }: ChartTooltipProps): react_jsx_runtime.JSX.Element | null;
3352
+ /**
3353
+ * Transforms Nivo line/area data format to Recharts row-oriented format.
3354
+ * Useful for consumers migrating from Nivo data shape.
3355
+ *
3356
+ * @example
3357
+ * // Nivo: [{ id: "فروش", data: [{ x: "فروردین", y: 50 }] }]
3358
+ * // Recharts: [{ name: "فروردین", فروش: 50 }]
3359
+ */
3360
+ declare function transformNivoLineData(nivoData: Array<{
3361
+ id: string;
3362
+ data: Array<{
3363
+ x: string | number;
3364
+ y: number;
3365
+ }>;
3366
+ }>): {
3367
+ data: Array<Record<string, string | number>>;
3368
+ dataKeys: string[];
3369
+ };
3370
+
3371
+ /**
3372
+ * Locks document body scroll when `locked` is true.
3373
+ * Restores original overflow on cleanup.
3374
+ *
3375
+ * @example
3376
+ * useScrollLock(isModalOpen)
3377
+ */
3378
+ declare function useScrollLock(locked: boolean): void;
3379
+
3380
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AnimatedNumber, type AnimatedNumberProps, AppBar, type AppBarProps, AppLayout, AppLayoutContent, AspectRatio, type AspectRatioType, Autocomplete, type AutocompleteItem, type AutocompleteProps, Avatar, AvatarFallback, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, AvatarImage, Badge, type BadgeProps, Banner, type BannerProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, type ButtonVariantProps, CHART_FONT_FAMILY, Calendar, type CalendarProps, Callout, CalloutDescription, type CalloutProps, CalloutTitle, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLoadingSkeleton, ChartSkeleton, type ChartSkeletonProps$1 as ChartSkeletonProps, ChartTooltip, Checkbox, CircularProgress, type CircularProgressProps, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommentCard, type CommentCardProps, type CommentTag, ComparisonCard, type ComparisonCardProps, ConfirmDialog, type ConfirmDialogProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, type CopyButtonProps, DEFAULT_PERIODS, DataTable, type DataTableColumn, type DataTablePagination, type DataTableProps, type DataTableSelection, type DataTableSort, DatePicker, type DatePickerProps, DateRangePicker, DateRangePickerInline, type DateRangePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type Direction, DirectionalBox, type DirectionalBoxProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENGAGEMENT_RANGES, Empty, EmptyAction, EmptyDescription, EmptyIcon, EmptyTitle, type EngagementRange, type EngagementRangeWithDisplay, EngagementRate, EngagementRateBar, type EngagementRateBarProps, type EngagementRateProps, type EngagementTier, ErrorBoundary, type ErrorBoundaryProps, ErrorState, type ErrorStateProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterBar, FilterBarActions, type FilterBarActionsProps, FilterBarActiveFilters, type FilterBarActiveFiltersProps, FilterBarClear, type FilterBarClearProps, type FilterBarProps, FilterBarRow, type FilterBarRowProps, FilterChip, FilterChipGroup, type FilterChipProps, type FollowerGroup, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GROUP_LABELS, HashtagInput, type TagInputProps as HashtagInputProps, type HeatMapDatum, type HeatMapRow, HoverCard, HoverCardContent, HoverCardTrigger, type Icon, Icons, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, InputVariants, InputWithIcon, type InputWithIconProps, InstagramPost, type InstagramPostProps, type InstagramProfileInfo, Kbd, KbdGroup, Label, type LegacySize, type LoadingVariantProps, type Locale, type MediaItem, type MediaType, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricCard, MetricCardContent, MetricCardDifferential, MetricCardHeader, MetricCardLabel, MetricCardSkeleton, type MetricCardSkeletonProps, MetricCardSparkline, MetricCardValue, MultiSelect, type MultiSelectOption, type MultiSelectProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavPanel, NavPanelContent, NavPanelFooter, NavPanelHeader, NavRail, NavRailContent, NavRailFooter, NavRailHeader, NavRailItem, NavRailProvider, NavRailSeparator, NavRailTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, type NumberFormat, PERSIAN_MONTHS, PERSIAN_MONTHS_SHORT, PERSIAN_WEEKDAYS, PERSIAN_WEEKDAYS_SHORT, PageHeader, type PageHeaderProps, PageLoader, type PageLoaderProps, Pagination, PaginationContent, PaginationControlled, type PaginationControlledProps, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PartoAreaChart, type PartoAreaChartProps, PartoBarChart, type PartoBarChartProps, PartoHeatMap, type PartoHeatMapProps, PartoLineChart, type PartoLineChartProps, PartoPieChart, type PartoPieChartProps, PartoRadarChart, type PartoRadarChartProps, type PartoToasterProps, PartoWordCloud, type PartoWordCloudProps, type PeriodOption, PeriodSelector, type PeriodSelectorProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PostStats, ProfileCard, type ProfileCardProps, ProfileInfo, type ProfileInfoProps, Progress, type ProgressProps, RadioCardDescription, RadioCardItem, RadioCardTitle, RadioCards, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, SONNER_DEFAULT_DURATION, SafeImage, type SafeImageProps, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, type SectionItem, SectionNavigator, type SectionNavigatorProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectTriggerVariants, SelectValue, SentimentBadge, type SentimentBadgeProps, type SentimentData, SentimentDistribution, type SentimentDistributionProps, Separator, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, type SizeWithLegacy, Skeleton, type SkeletonProps, Slider, type SocialPlatform, SocialPlatformBadge, type SocialPlatformBadgeProps, type SortDirection, Spinner, type SpinnerProps, type StandardSize, StatDisplay, type StatDisplayProps, Step, type StepProps, Stepper, type StepperProps, type SupportedLocale, Switch, type SwitchProps, TIER_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, TableSkeleton, type TableSkeletonProps, TableSortHeader, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, Textarea, type TimeFormat, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TrendIndicator, type TrendIndicatorProps, type UIStringKeys, type UIStrings, UI_STRINGS, type UseInfiniteScrollOptions, type UseInfiniteScrollReturn, UserAutocomplete, type UserAutocompleteProps, type UserItem, type ViewMode, ViewToggle, type ViewToggleProps, type WordData, appBarVariants, avatarGroupVariants, badgeVariants, bannerVariants, buttonGroupVariants, buttonVariants, calloutVariants, cardVariants, cn, convertToLocalNumbers, engagementUiTranslations, formatAbsoluteTime, formatJalaliDate, formatLargeNumber, formatNumber, formatPersianDateRange, formatRelativeTime, getCurrentRangeIndex, getEngagementRanges, getFollowerGroup, getPersianDay, getPersianMonth, getPersianMonthName, getPersianMonthNameShort, getPersianMonthsForDropdown, getPersianWeekdayName, getPersianYear, getPersianYearsForDropdown, getUIStrings, tagInputVariants as hashtagInputVariants, inputVariants, instagramPostVariants, isRTL, jalaliToGregorian, navigationMenuTriggerStyle, normalizeSize, pageLoaderVariants, profileCardVariants, sentimentLabels, socialPlatformBadgeVariants, spinnerVariants, statDisplayVariants, tagInputVariants, toEnglishDigits, toPersianDigits, toggleVariants, transformNivoLineData, useChartTheme, useDebounce, useDocumentDirection, useFormField, useInfiniteScroll, useIsMobile, useLocalStorage, useNavRail, useRootStyles, useScrollLock, useSidebar };