@parto-system-design/ui 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -41,14 +41,23 @@ 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;
46
+ type SupportedLocale = 'fa' | 'ar' | 'en';
50
47
  /**
51
- * Format number to Instagram-style short format
48
+ * Convert digits in a string to Persian/Arabic numerals based on locale.
49
+ * @example convertToLocalNumbers('123', 'fa') => '۱۲۳'
50
+ * @example convertToLocalNumbers('123', 'en') => '123'
51
+ */
52
+ declare function convertToLocalNumbers(text: string | number, locale: SupportedLocale): string;
53
+ /**
54
+ * Format large numbers with locale-aware suffixes (K/M/B).
55
+ * @example formatLargeNumber(1500, 'fa') => '۱.۵ هزار'
56
+ * @example formatLargeNumber(1500, 'en') => '1.5K'
57
+ */
58
+ declare function formatLargeNumber(num: number, locale: SupportedLocale): string;
59
+ /**
60
+ * Format number to Instagram-style short format (English only).
52
61
  * @example formatNumber(123456, 'short') => '123K'
53
62
  * @example formatNumber(123456, 'exact') => '123,456'
54
63
  */
@@ -59,11 +68,28 @@ declare function formatNumber(num: number | undefined, format?: 'exact' | 'short
59
68
  */
60
69
  declare function formatRelativeTime(date: Date | string | number): string;
61
70
  /**
62
- * Format date to absolute format (Persian)
71
+ * Format date to absolute format (Persian / Jalali)
72
+ * Uses date-fns-jalali for accurate Jalali conversion.
63
73
  * @example formatAbsoluteTime(new Date()) => '۱۵ دی ۱۴۰۳، ۱۵:۳۰'
64
74
  */
65
75
  declare function formatAbsoluteTime(date: Date | string | number): string;
66
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
+ */
67
93
  /**
68
94
  * Persian/Farsi month names
69
95
  */
@@ -89,9 +115,14 @@ declare function toPersianDigits(num: number | string): string;
89
115
  */
90
116
  declare function toEnglishDigits(str: string): string;
91
117
  /**
92
- * 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
93
124
  */
94
- declare function formatJalaliDate(date: Date, format?: string): string;
125
+ declare function formatJalaliDate(date: Date, formatStr?: string): string;
95
126
  /**
96
127
  * Get Persian month name from a Date object
97
128
  */
@@ -139,6 +170,266 @@ declare function getPersianYearsForDropdown(fromYear: number, toYear: number): A
139
170
  label: string;
140
171
  }>;
141
172
 
173
+ type EngagementTier = 'excellent' | 'veryGood' | 'good' | 'average' | 'couldBeImproved' | 'low';
174
+ type FollowerGroup = 'nano' | 'micro' | 'mid' | 'macro' | 'mega';
175
+ interface EngagementRange {
176
+ label: string;
177
+ min: number;
178
+ max: number;
179
+ color: string;
180
+ colorFaded: string;
181
+ hoverColor: string;
182
+ /** Accessible text color for use on hoverColor background */
183
+ contrastText: string;
184
+ }
185
+ interface EngagementRangeWithDisplay extends EngagementRange {
186
+ display: string;
187
+ }
188
+ interface GroupThresholds {
189
+ followers: [number, number];
190
+ excellent: number;
191
+ veryGood: [number, number];
192
+ good: [number, number];
193
+ average: [number, number];
194
+ couldBeImproved: [number, number];
195
+ low: number;
196
+ }
197
+ declare const ENGAGEMENT_RANGES: Record<FollowerGroup, GroupThresholds>;
198
+ declare const TIER_LABELS: Record<SupportedLocale, Record<EngagementTier, string>>;
199
+ declare const GROUP_LABELS: Record<SupportedLocale, Record<FollowerGroup, string>>;
200
+ declare function getFollowerGroup(followers: number): FollowerGroup;
201
+ declare function getEngagementRanges(followers: number, locale: SupportedLocale): EngagementRangeWithDisplay[];
202
+ declare function getCurrentRangeIndex(currentRate: number, ranges: EngagementRange[]): number;
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
+ }>;
233
+ /**
234
+ * Default UI strings for components that need localized text.
235
+ * Persian (fa) is the default locale for backward compatibility.
236
+ */
237
+ declare const UI_STRINGS: {
238
+ readonly fa: {
239
+ readonly noResults: "نتیجه‌ای یافت نشد";
240
+ readonly suggestions: "پیشنهادها";
241
+ readonly select: "انتخاب کنید";
242
+ readonly noOptionsFound: "موردی یافت نشد";
243
+ readonly search: "جستجو...";
244
+ readonly clearAll: "پاک کردن همه";
245
+ readonly selectDate: "انتخاب تاریخ";
246
+ readonly selectDateRange: "انتخاب بازه تاریخ";
247
+ readonly errorLoadingData: "خطا در بارگذاری داده‌ها";
248
+ readonly retry: "تلاش مجدد";
249
+ readonly remove: "حذف";
250
+ readonly noUsersFound: "کاربری یافت نشد";
251
+ readonly goToPreviousPage: "رفتن به صفحه قبلی";
252
+ readonly goToNextPage: "رفتن به صفحه بعدی";
253
+ readonly previous: "قبلی";
254
+ readonly next: "بعدی";
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: "باز کردن در اینستاگرام (غیرفعال)";
294
+ };
295
+ readonly ar: {
296
+ readonly noResults: "لم يتم العثور على نتائج";
297
+ readonly suggestions: "اقتراحات";
298
+ readonly select: "اختر";
299
+ readonly noOptionsFound: "لم يتم العثور على خيارات";
300
+ readonly search: "بحث...";
301
+ readonly clearAll: "مسح الكل";
302
+ readonly selectDate: "اختر تاريخ";
303
+ readonly selectDateRange: "اختر نطاق التاريخ";
304
+ readonly errorLoadingData: "خطأ في تحميل البيانات";
305
+ readonly retry: "إعادة المحاولة";
306
+ readonly remove: "حذف";
307
+ readonly noUsersFound: "لم يتم العثور على مستخدمين";
308
+ readonly goToPreviousPage: "الانتقال إلى الصفحة السابقة";
309
+ readonly goToNextPage: "الانتقال إلى الصفحة التالية";
310
+ readonly previous: "السابق";
311
+ readonly next: "التالي";
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: "فتح في إنستاجرام (معطل)";
351
+ };
352
+ readonly en: {
353
+ readonly noResults: "No results found";
354
+ readonly suggestions: "Suggestions";
355
+ readonly select: "Select";
356
+ readonly noOptionsFound: "No options found";
357
+ readonly search: "Search...";
358
+ readonly clearAll: "Clear all";
359
+ readonly selectDate: "Select date";
360
+ readonly selectDateRange: "Select date range";
361
+ readonly errorLoadingData: "Error loading data";
362
+ readonly retry: "Retry";
363
+ readonly remove: "Remove";
364
+ readonly noUsersFound: "No users found";
365
+ readonly goToPreviousPage: "Go to previous page";
366
+ readonly goToNextPage: "Go to next page";
367
+ readonly previous: "Previous";
368
+ readonly next: "Next";
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)";
408
+ };
409
+ };
410
+ type UIStringKeys = keyof (typeof UI_STRINGS)['fa'];
411
+ type UIStrings = Record<UIStringKeys, string>;
412
+ /**
413
+ * Get UI strings for a given locale.
414
+ * Falls back to 'fa' for unknown locales.
415
+ */
416
+ declare function getUIStrings(locale?: SupportedLocale): UIStrings;
417
+
418
+ /**
419
+ * Standard size scale used across the design system.
420
+ * Components should accept these values for their `size` prop.
421
+ */
422
+ type StandardSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
423
+ /** @deprecated Use `StandardSize` instead — legacy names have been removed */
424
+ type LegacySize = StandardSize;
425
+ /** @deprecated Use `StandardSize` instead */
426
+ type SizeWithLegacy = StandardSize;
427
+ /**
428
+ * Normalizes a size value to standard names.
429
+ * @deprecated All sizes are standard now — this function is a no-op passthrough.
430
+ */
431
+ declare function normalizeSize(size: StandardSize): StandardSize;
432
+
142
433
  type Icon = LucideIcon;
143
434
  /**
144
435
  * Icon Collection for Parto Design System
@@ -158,9 +449,21 @@ type Icon = LucideIcon;
158
449
  declare const Icons: Record<string, React$1.FC<React$1.SVGProps<SVGSVGElement>> | LucideIcon>;
159
450
 
160
451
  declare function Accordion({ ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Root>): react_jsx_runtime.JSX.Element;
452
+ declare namespace Accordion {
453
+ var displayName: string;
454
+ }
161
455
  declare function AccordionItem({ className, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Item>): react_jsx_runtime.JSX.Element;
456
+ declare namespace AccordionItem {
457
+ var displayName: string;
458
+ }
162
459
  declare function AccordionTrigger({ className, children, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
460
+ declare namespace AccordionTrigger {
461
+ var displayName: string;
462
+ }
163
463
  declare function AccordionContent({ className, children, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Content>): react_jsx_runtime.JSX.Element;
464
+ declare namespace AccordionContent {
465
+ var displayName: string;
466
+ }
164
467
 
165
468
  declare const Alert: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
166
469
  variant?: "info" | "default" | "success" | "warning" | "destructive" | null | undefined;
@@ -183,9 +486,9 @@ declare const AlertDialogCancel: React$1.ForwardRefExoticComponent<Omit<AlertDia
183
486
  interface AutocompleteItem {
184
487
  value: string;
185
488
  label: string;
186
- [key: string]: any;
489
+ [key: string]: unknown;
187
490
  }
188
- 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'> {
189
492
  /**
190
493
  * مقدار ورودی
191
494
  * Input value
@@ -268,7 +571,12 @@ interface AutocompleteProps<T extends AutocompleteItem = AutocompleteItem> exten
268
571
  * جهت نمایش (RTL/LTR)
269
572
  * Direction
270
573
  */
271
- dir?: "rtl" | "ltr";
574
+ dir?: 'rtl' | 'ltr';
575
+ /**
576
+ * Locale for default strings
577
+ * @default "fa"
578
+ */
579
+ locale?: SupportedLocale;
272
580
  }
273
581
  declare const Autocomplete: React$1.ForwardRefExoticComponent<AutocompleteProps<AutocompleteItem> & React$1.RefAttributes<HTMLInputElement>>;
274
582
 
@@ -278,9 +586,9 @@ interface UserItem {
278
586
  username: string;
279
587
  avatar?: string;
280
588
  followers: number;
281
- [key: string]: any;
589
+ [key: string]: unknown;
282
590
  }
283
- 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'> {
284
592
  /**
285
593
  * مقدار ورودی
286
594
  * Input value
@@ -353,7 +661,12 @@ interface UserAutocompleteProps extends Omit<React$1.InputHTMLAttributes<HTMLInp
353
661
  * جهت نمایش (RTL/LTR)
354
662
  * Direction
355
663
  */
356
- dir?: "rtl" | "ltr";
664
+ dir?: 'rtl' | 'ltr';
665
+ /**
666
+ * Locale for default strings
667
+ * @default "fa"
668
+ */
669
+ locale?: SupportedLocale;
357
670
  /**
358
671
  * فعال‌سازی infinite scroll
359
672
  * Enable infinite scroll
@@ -383,41 +696,121 @@ interface UserAutocompleteProps extends Omit<React$1.InputHTMLAttributes<HTMLInp
383
696
  }
384
697
  declare const UserAutocomplete: React$1.ForwardRefExoticComponent<UserAutocompleteProps & React$1.RefAttributes<HTMLInputElement>>;
385
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
+
386
716
  declare function AspectRatio({ className, ...props }: React$1.ComponentProps<typeof AspectRatioPrimitive.Root>): react_jsx_runtime.JSX.Element;
717
+ declare namespace AspectRatio {
718
+ var displayName: string;
719
+ }
387
720
 
388
721
  declare function Avatar({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Root>): react_jsx_runtime.JSX.Element;
722
+ declare namespace Avatar {
723
+ var displayName: string;
724
+ }
389
725
  declare function AvatarImage({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Image>): react_jsx_runtime.JSX.Element;
726
+ declare namespace AvatarImage {
727
+ var displayName: string;
728
+ }
390
729
  declare function AvatarFallback({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Fallback>): react_jsx_runtime.JSX.Element;
730
+ declare namespace AvatarFallback {
731
+ var displayName: string;
732
+ }
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>>;
391
749
 
392
750
  declare const badgeVariants: (props?: ({
393
751
  variant?: "default" | "success" | "warning" | "destructive" | "secondary" | "outline" | "brand" | null | undefined;
394
- size?: "small" | "tiny" | "large" | null | undefined;
752
+ size?: "xs" | "sm" | "md" | "lg" | "small" | "tiny" | "large" | null | undefined;
395
753
  dot?: boolean | null | undefined;
396
754
  } & class_variance_authority_types.ClassProp) | undefined) => string;
397
- interface BadgeProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
755
+ interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
398
756
  dot?: boolean;
399
- dotPosition?: "start" | "end";
757
+ dotPosition?: 'start' | 'end';
400
758
  }
401
- declare function Badge({ className, variant, size, dot, dotPosition, children, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
759
+ declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
402
760
 
403
- declare function Breadcrumb({ ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
404
- declare function BreadcrumbList({ className, dir, ...props }: React$1.ComponentProps<"ol">): react_jsx_runtime.JSX.Element;
405
- declare function BreadcrumbItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
406
- declare function BreadcrumbLink({ asChild, className, ...props }: React$1.ComponentProps<"a"> & {
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;
773
+ }
774
+ declare const Banner: React$1.ForwardRefExoticComponent<BannerProps & React$1.RefAttributes<HTMLDivElement>>;
775
+
776
+ declare function Breadcrumb({ ...props }: React$1.ComponentProps<'nav'>): react_jsx_runtime.JSX.Element;
777
+ declare namespace Breadcrumb {
778
+ var displayName: string;
779
+ }
780
+ declare function BreadcrumbList({ className, dir, ...props }: React$1.ComponentProps<'ol'>): react_jsx_runtime.JSX.Element;
781
+ declare namespace BreadcrumbList {
782
+ var displayName: string;
783
+ }
784
+ declare function BreadcrumbItem({ className, ...props }: React$1.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
785
+ declare namespace BreadcrumbItem {
786
+ var displayName: string;
787
+ }
788
+ declare function BreadcrumbLink({ asChild, className, ...props }: React$1.ComponentProps<'a'> & {
407
789
  asChild?: boolean;
408
790
  }): react_jsx_runtime.JSX.Element;
409
- declare function BreadcrumbPage({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
410
- declare function BreadcrumbSeparator({ children, className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
411
- declare function BreadcrumbEllipsis({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
791
+ declare namespace BreadcrumbLink {
792
+ var displayName: string;
793
+ }
794
+ declare function BreadcrumbPage({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
795
+ declare namespace BreadcrumbPage {
796
+ var displayName: string;
797
+ }
798
+ declare function BreadcrumbSeparator({ children, className, ...props }: React$1.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
799
+ declare namespace BreadcrumbSeparator {
800
+ var displayName: string;
801
+ }
802
+ declare function BreadcrumbEllipsis({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
803
+ declare namespace BreadcrumbEllipsis {
804
+ var displayName: string;
805
+ }
412
806
 
413
807
  type ButtonVariantProps = VariantProps<typeof buttonVariants>;
414
808
  declare const buttonVariants: (props?: ({
415
809
  variant?: "link" | "text" | "default" | "warning" | "destructive" | "primary" | "secondary" | "outline" | "dashed" | "danger" | "ghost" | null | undefined;
416
810
  block?: boolean | null | undefined;
417
- size?: "small" | "default" | "tiny" | "medium" | "large" | "xlarge" | "sm" | "lg" | "icon" | null | undefined;
811
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | null | undefined;
418
812
  disabled?: boolean | null | undefined;
419
813
  rounded?: boolean | null | undefined;
420
- defaultVariants?: "size" | "variant" | null | undefined;
421
814
  } & class_variance_authority_types.ClassProp) | undefined) => string;
422
815
  type LoadingVariantProps = VariantProps<typeof loadingVariants>;
423
816
  declare const loadingVariants: (props?: ({
@@ -429,8 +822,14 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
429
822
  type?: ButtonVariantProps['variant'] | React.ButtonHTMLAttributes<HTMLButtonElement>['type'];
430
823
  htmlType?: React.ButtonHTMLAttributes<HTMLButtonElement>['type'];
431
824
  icon?: React.ReactNode;
825
+ iconStart?: React.ReactNode;
826
+ iconEnd?: React.ReactNode;
827
+ /** @deprecated Use iconStart instead */
432
828
  iconLeft?: React.ReactNode;
829
+ /** @deprecated Use iconEnd instead */
433
830
  iconRight?: React.ReactNode;
831
+ isLoading?: boolean;
832
+ /** @deprecated Use `isLoading` instead */
434
833
  loading?: boolean;
435
834
  block?: boolean;
436
835
  rounded?: boolean;
@@ -445,16 +844,25 @@ declare const Separator: React$1.ForwardRefExoticComponent<SeparatorProps & Reac
445
844
  declare const buttonGroupVariants: (props?: ({
446
845
  orientation?: "horizontal" | "vertical" | null | undefined;
447
846
  } & class_variance_authority_types.ClassProp) | undefined) => string;
448
- declare function ButtonGroup({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>): react_jsx_runtime.JSX.Element;
449
- declare function ButtonGroupText({ className, asChild, ...props }: React.ComponentProps<"div"> & {
847
+ declare function ButtonGroup({ className, orientation, ...props }: React$1.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants>): react_jsx_runtime.JSX.Element;
848
+ declare namespace ButtonGroup {
849
+ var displayName: string;
850
+ }
851
+ declare function ButtonGroupText({ className, asChild, ...props }: React$1.ComponentProps<'div'> & {
450
852
  asChild?: boolean;
451
853
  }): react_jsx_runtime.JSX.Element;
452
- declare function ButtonGroupSeparator({ className, orientation, ...props }: React.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
854
+ declare namespace ButtonGroupText {
855
+ var displayName: string;
856
+ }
857
+ declare function ButtonGroupSeparator({ className, orientation, ...props }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
858
+ declare namespace ButtonGroupSeparator {
859
+ var displayName: string;
860
+ }
453
861
 
454
862
  type CalendarProps = {
455
863
  usePersianCalendar?: boolean;
456
864
  className?: string;
457
- classNames?: any;
865
+ classNames?: Partial<Record<string, string>>;
458
866
  showOutsideDays?: boolean;
459
867
  } & (React$1.ComponentProps<typeof DayPicker> | React$1.ComponentProps<typeof DayPicker$1>);
460
868
  declare function Calendar({ className, classNames, showOutsideDays, usePersianCalendar, ...props }: CalendarProps): react_jsx_runtime.JSX.Element;
@@ -462,7 +870,13 @@ declare namespace Calendar {
462
870
  var displayName: string;
463
871
  }
464
872
 
465
- declare const Card: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
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> {
878
+ }
879
+ declare const Card: React$1.ForwardRefExoticComponent<CardProps & React$1.RefAttributes<HTMLDivElement>>;
466
880
  declare const CardHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
467
881
  declare const CardTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLHeadingElement> & React$1.RefAttributes<HTMLParagraphElement>>;
468
882
  declare const CardDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
@@ -476,25 +890,69 @@ type CarouselPlugin = UseCarouselParameters[1];
476
890
  type CarouselProps = {
477
891
  opts?: CarouselOptions;
478
892
  plugins?: CarouselPlugin;
479
- orientation?: "horizontal" | "vertical";
893
+ orientation?: 'horizontal' | 'vertical';
480
894
  setApi?: (api: CarouselApi) => void;
481
895
  };
482
- declare function Carousel({ orientation, opts, setApi, plugins, className, children, dir, ...props }: React$1.ComponentProps<"div"> & CarouselProps): react_jsx_runtime.JSX.Element;
483
- declare function CarouselContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
484
- declare function CarouselItem({ className, ...props }: React$1.ComponentProps<"div">): 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;
897
+ declare namespace Carousel {
898
+ var displayName: string;
899
+ }
900
+ declare function CarouselContent({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
901
+ declare namespace CarouselContent {
902
+ var displayName: string;
903
+ }
904
+ declare function CarouselItem({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
905
+ declare namespace CarouselItem {
906
+ var displayName: string;
907
+ }
485
908
  declare function CarouselPrevious({ className, variant, size, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
909
+ declare namespace CarouselPrevious {
910
+ var displayName: string;
911
+ }
486
912
  declare function CarouselNext({ className, variant, size, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
913
+ declare namespace CarouselNext {
914
+ var displayName: string;
915
+ }
916
+
917
+ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
487
918
 
488
- declare function Checkbox({ className, ...props }: React$1.ComponentProps<typeof CheckboxPrimitive.Root>): react_jsx_runtime.JSX.Element;
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;
936
+ }
937
+ declare const CircularProgress: React$1.ForwardRefExoticComponent<CircularProgressProps & React$1.RefAttributes<HTMLDivElement>>;
489
938
 
490
939
  declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): react_jsx_runtime.JSX.Element;
940
+ declare namespace Collapsible {
941
+ var displayName: string;
942
+ }
491
943
  declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): react_jsx_runtime.JSX.Element;
944
+ declare namespace CollapsibleTrigger {
945
+ var displayName: string;
946
+ }
492
947
  declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): react_jsx_runtime.JSX.Element;
948
+ declare namespace CollapsibleContent {
949
+ var displayName: string;
950
+ }
493
951
 
494
952
  declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
495
953
  declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
496
954
  declare const DialogPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
497
- 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>>;
498
956
  declare const DialogOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
499
957
  declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
500
958
  declare const DialogHeader: {
@@ -509,70 +967,177 @@ declare const DialogTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitiv
509
967
  declare const DialogDescription: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
510
968
 
511
969
  declare function Command({ className, ...props }: React$1.ComponentProps<typeof Command$1>): react_jsx_runtime.JSX.Element;
970
+ declare namespace Command {
971
+ var displayName: string;
972
+ }
512
973
  declare function CommandDialog({ title, description, children, className, ...props }: React$1.ComponentProps<typeof Dialog> & {
513
974
  title?: string;
514
975
  description?: string;
515
976
  className?: string;
516
977
  }): react_jsx_runtime.JSX.Element;
978
+ declare namespace CommandDialog {
979
+ var displayName: string;
980
+ }
517
981
  declare function CommandInput({ className, ...props }: React$1.ComponentProps<typeof Command$1.Input>): react_jsx_runtime.JSX.Element;
982
+ declare namespace CommandInput {
983
+ var displayName: string;
984
+ }
518
985
  declare function CommandList({ className, ...props }: React$1.ComponentProps<typeof Command$1.List>): react_jsx_runtime.JSX.Element;
986
+ declare namespace CommandList {
987
+ var displayName: string;
988
+ }
519
989
  declare function CommandEmpty({ ...props }: React$1.ComponentProps<typeof Command$1.Empty>): react_jsx_runtime.JSX.Element;
990
+ declare namespace CommandEmpty {
991
+ var displayName: string;
992
+ }
520
993
  declare function CommandGroup({ className, ...props }: React$1.ComponentProps<typeof Command$1.Group>): react_jsx_runtime.JSX.Element;
994
+ declare namespace CommandGroup {
995
+ var displayName: string;
996
+ }
521
997
  declare function CommandSeparator({ className, ...props }: React$1.ComponentProps<typeof Command$1.Separator>): react_jsx_runtime.JSX.Element;
998
+ declare namespace CommandSeparator {
999
+ var displayName: string;
1000
+ }
522
1001
  declare function CommandItem({ className, ...props }: React$1.ComponentProps<typeof Command$1.Item>): react_jsx_runtime.JSX.Element;
523
- declare function CommandShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1002
+ declare namespace CommandItem {
1003
+ var displayName: string;
1004
+ }
1005
+ declare function CommandShortcut({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1006
+ declare namespace CommandShortcut {
1007
+ var displayName: string;
1008
+ }
524
1009
 
525
1010
  interface CommentTag {
526
1011
  title: string;
527
1012
  probability: number;
528
- color: string;
1013
+ /** CSS var name (e.g. '--chart-1') or hex color. Auto-computed from title if omitted. */
1014
+ color?: string;
529
1015
  }
530
- interface CommentCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'id'> {
531
- /**
532
- * The comment text content
533
- */
1016
+ interface CommentCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
1017
+ /** The comment text */
534
1018
  text: string;
535
- /**
536
- * Array of analysis tags with probability and color
537
- */
1019
+ /** Analysis tags with probability and color */
538
1020
  tags: CommentTag[];
539
- /**
540
- * Sentiment of the comment
541
- */
542
- sentiment: "positive" | "negative" | "neutral";
543
- /**
544
- * Optional id for the comment
545
- */
546
- id?: number | string;
547
- /**
548
- * Show probability in Persian digits
549
- */
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 */
550
1028
  usePersianDigits?: boolean;
551
1029
  }
552
1030
  declare const CommentCard: React$1.ForwardRefExoticComponent<CommentCardProps & React$1.RefAttributes<HTMLDivElement>>;
553
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
+
554
1062
  declare function ContextMenu({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Root>): react_jsx_runtime.JSX.Element;
1063
+ declare namespace ContextMenu {
1064
+ var displayName: string;
1065
+ }
555
1066
  declare function ContextMenuTrigger({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
1067
+ declare namespace ContextMenuTrigger {
1068
+ var displayName: string;
1069
+ }
556
1070
  declare function ContextMenuGroup({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
1071
+ declare namespace ContextMenuGroup {
1072
+ var displayName: string;
1073
+ }
557
1074
  declare function ContextMenuPortal({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Portal>): react_jsx_runtime.JSX.Element;
1075
+ declare namespace ContextMenuPortal {
1076
+ var displayName: string;
1077
+ }
558
1078
  declare function ContextMenuSub({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
1079
+ declare namespace ContextMenuSub {
1080
+ var displayName: string;
1081
+ }
559
1082
  declare function ContextMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
1083
+ declare namespace ContextMenuRadioGroup {
1084
+ var displayName: string;
1085
+ }
560
1086
  declare function ContextMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {
561
1087
  inset?: boolean;
562
1088
  }): react_jsx_runtime.JSX.Element;
1089
+ declare namespace ContextMenuSubTrigger {
1090
+ var displayName: string;
1091
+ }
563
1092
  declare function ContextMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
1093
+ declare namespace ContextMenuSubContent {
1094
+ var displayName: string;
1095
+ }
564
1096
  declare function ContextMenuContent({ className, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
1097
+ declare namespace ContextMenuContent {
1098
+ var displayName: string;
1099
+ }
565
1100
  declare function ContextMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Item> & {
566
1101
  inset?: boolean;
567
1102
  variant?: "default" | "destructive";
568
1103
  }): react_jsx_runtime.JSX.Element;
1104
+ declare namespace ContextMenuItem {
1105
+ var displayName: string;
1106
+ }
569
1107
  declare function ContextMenuCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
1108
+ declare namespace ContextMenuCheckboxItem {
1109
+ var displayName: string;
1110
+ }
570
1111
  declare function ContextMenuRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
1112
+ declare namespace ContextMenuRadioItem {
1113
+ var displayName: string;
1114
+ }
571
1115
  declare function ContextMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Label> & {
572
1116
  inset?: boolean;
573
1117
  }): react_jsx_runtime.JSX.Element;
1118
+ declare namespace ContextMenuLabel {
1119
+ var displayName: string;
1120
+ }
574
1121
  declare function ContextMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
1122
+ declare namespace ContextMenuSeparator {
1123
+ var displayName: string;
1124
+ }
575
1125
  declare function ContextMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1126
+ declare namespace ContextMenuShortcut {
1127
+ var displayName: string;
1128
+ }
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>>;
576
1141
 
577
1142
  interface DatePickerProps {
578
1143
  /**
@@ -611,8 +1176,13 @@ interface DatePickerProps {
611
1176
  * Selection mode: 'single' for single date, 'range' for date range
612
1177
  */
613
1178
  mode?: 'single' | 'range';
1179
+ /**
1180
+ * Locale for default strings
1181
+ * @default derived from usePersianCalendar
1182
+ */
1183
+ locale?: SupportedLocale;
614
1184
  }
615
- declare function DatePicker({ value, onChange, usePersianCalendar, placeholder, className, disabled, numberOfMonths, showPresets, mode, }: DatePickerProps): react_jsx_runtime.JSX.Element;
1185
+ declare const DatePicker: React$1.ForwardRefExoticComponent<DatePickerProps & React$1.RefAttributes<HTMLDivElement>>;
616
1186
 
617
1187
  interface DateRangePickerProps {
618
1188
  /**
@@ -658,7 +1228,7 @@ interface DateRangePickerProps {
658
1228
  /**
659
1229
  * Show dropdown for year/month selection
660
1230
  */
661
- captionLayout?: "label" | "dropdown" | "dropdown-months" | "dropdown-years";
1231
+ captionLayout?: 'label' | 'dropdown' | 'dropdown-months' | 'dropdown-years';
662
1232
  /**
663
1233
  * From year for dropdown (when captionLayout includes dropdown)
664
1234
  */
@@ -668,77 +1238,221 @@ interface DateRangePickerProps {
668
1238
  */
669
1239
  toYear?: number;
670
1240
  }
671
- declare function DateRangePicker({ value, onChange, label, placeholder, usePersianCalendar, numberOfMonths, minDate, maxDate, className, disabled, captionLayout, fromYear, toYear, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
1241
+ declare const DateRangePicker: React$1.ForwardRefExoticComponent<DateRangePickerProps & React$1.RefAttributes<HTMLDivElement>>;
1242
+
672
1243
  /**
673
1244
  * Simplified version without label (inline usage)
674
1245
  */
675
- 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;
1247
+ declare namespace DateRangePickerInline {
1248
+ var displayName: string;
1249
+ }
676
1250
 
677
1251
  declare function Drawer({ ...props }: React$1.ComponentProps<typeof Drawer$1.Root>): react_jsx_runtime.JSX.Element;
1252
+ declare namespace Drawer {
1253
+ var displayName: string;
1254
+ }
678
1255
  declare function DrawerTrigger({ ...props }: React$1.ComponentProps<typeof Drawer$1.Trigger>): react_jsx_runtime.JSX.Element;
1256
+ declare namespace DrawerTrigger {
1257
+ var displayName: string;
1258
+ }
679
1259
  declare function DrawerPortal({ ...props }: React$1.ComponentProps<typeof Drawer$1.Portal>): react_jsx_runtime.JSX.Element;
1260
+ declare namespace DrawerPortal {
1261
+ var displayName: string;
1262
+ }
680
1263
  declare function DrawerClose({ ...props }: React$1.ComponentProps<typeof Drawer$1.Close>): react_jsx_runtime.JSX.Element;
1264
+ declare namespace DrawerClose {
1265
+ var displayName: string;
1266
+ }
681
1267
  declare function DrawerOverlay({ className, ...props }: React$1.ComponentProps<typeof Drawer$1.Overlay>): react_jsx_runtime.JSX.Element;
1268
+ declare namespace DrawerOverlay {
1269
+ var displayName: string;
1270
+ }
682
1271
  declare function DrawerContent({ className, children, ...props }: React$1.ComponentProps<typeof Drawer$1.Content>): react_jsx_runtime.JSX.Element;
1272
+ declare namespace DrawerContent {
1273
+ var displayName: string;
1274
+ }
683
1275
  declare function DrawerHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1276
+ declare namespace DrawerHeader {
1277
+ var displayName: string;
1278
+ }
684
1279
  declare function DrawerFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1280
+ declare namespace DrawerFooter {
1281
+ var displayName: string;
1282
+ }
685
1283
  declare function DrawerTitle({ className, ...props }: React$1.ComponentProps<typeof Drawer$1.Title>): react_jsx_runtime.JSX.Element;
1284
+ declare namespace DrawerTitle {
1285
+ var displayName: string;
1286
+ }
686
1287
  declare function DrawerDescription({ className, ...props }: React$1.ComponentProps<typeof Drawer$1.Description>): react_jsx_runtime.JSX.Element;
1288
+ declare namespace DrawerDescription {
1289
+ var displayName: string;
1290
+ }
687
1291
 
688
1292
  declare function DropdownMenu({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): react_jsx_runtime.JSX.Element;
1293
+ declare namespace DropdownMenu {
1294
+ var displayName: string;
1295
+ }
689
1296
  declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime.JSX.Element;
1297
+ declare namespace DropdownMenuPortal {
1298
+ var displayName: string;
1299
+ }
690
1300
  declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
1301
+ declare namespace DropdownMenuTrigger {
1302
+ var displayName: string;
1303
+ }
691
1304
  declare function DropdownMenuContent({ className, sideOffset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
1305
+ declare namespace DropdownMenuContent {
1306
+ var displayName: string;
1307
+ }
692
1308
  declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
1309
+ declare namespace DropdownMenuGroup {
1310
+ var displayName: string;
1311
+ }
693
1312
  declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
694
1313
  inset?: boolean;
695
1314
  variant?: "default" | "destructive";
696
1315
  }): react_jsx_runtime.JSX.Element;
1316
+ declare namespace DropdownMenuItem {
1317
+ var displayName: string;
1318
+ }
697
1319
  declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
1320
+ declare namespace DropdownMenuCheckboxItem {
1321
+ var displayName: string;
1322
+ }
698
1323
  declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
1324
+ declare namespace DropdownMenuRadioGroup {
1325
+ var displayName: string;
1326
+ }
699
1327
  declare function DropdownMenuRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
1328
+ declare namespace DropdownMenuRadioItem {
1329
+ var displayName: string;
1330
+ }
700
1331
  declare function DropdownMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
701
1332
  inset?: boolean;
702
1333
  }): react_jsx_runtime.JSX.Element;
1334
+ declare namespace DropdownMenuLabel {
1335
+ var displayName: string;
1336
+ }
703
1337
  declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
1338
+ declare namespace DropdownMenuSeparator {
1339
+ var displayName: string;
1340
+ }
704
1341
  declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1342
+ declare namespace DropdownMenuShortcut {
1343
+ var displayName: string;
1344
+ }
705
1345
  declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
1346
+ declare namespace DropdownMenuSub {
1347
+ var displayName: string;
1348
+ }
706
1349
  declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
707
1350
  inset?: boolean;
708
1351
  }): react_jsx_runtime.JSX.Element;
1352
+ declare namespace DropdownMenuSubTrigger {
1353
+ var displayName: string;
1354
+ }
709
1355
  declare function DropdownMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
1356
+ declare namespace DropdownMenuSubContent {
1357
+ var displayName: string;
1358
+ }
710
1359
 
711
- declare function Empty({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
712
- declare function EmptyIcon({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
713
- declare function EmptyTitle({ className, ...props }: React$1.ComponentProps<"h3">): react_jsx_runtime.JSX.Element;
714
- declare function EmptyDescription({ className, ...props }: React$1.ComponentProps<"p">): react_jsx_runtime.JSX.Element;
1360
+ interface EmptyProps extends React$1.ComponentProps<'div'> {
1361
+ /** Minimum height of the empty state container. @default "400px" */
1362
+ minHeight?: string;
1363
+ }
1364
+ declare const Empty: React$1.ForwardRefExoticComponent<Omit<EmptyProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1365
+ declare const EmptyIcon: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1366
+ declare const EmptyTitle: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
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>>;
1369
+
1370
+ interface ErrorStateProps extends React$1.HTMLAttributes<HTMLDivElement> {
1371
+ /** Error message displayed below the icon */
1372
+ message?: string;
1373
+ /** Callback to trigger a retry — when provided, shows a retry button */
1374
+ onRetry?: () => void;
1375
+ /** Retry button label */
1376
+ retryLabel?: string;
1377
+ /** Size variant controlling padding and icon/text scale */
1378
+ size?: 'sm' | 'md' | 'lg';
1379
+ /** Locale for default strings @default "fa" */
1380
+ locale?: SupportedLocale;
1381
+ }
1382
+ declare const ErrorState: React$1.ForwardRefExoticComponent<ErrorStateProps & React$1.RefAttributes<HTMLDivElement>>;
715
1383
 
716
1384
  declare function Label({ className, ...props }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime.JSX.Element;
1385
+ declare namespace Label {
1386
+ var displayName: string;
1387
+ }
717
1388
 
718
- declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): react_jsx_runtime.JSX.Element;
719
- declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & {
1389
+ declare const FieldSet: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref"> & React$1.RefAttributes<HTMLFieldSetElement>>;
1390
+ declare const FieldLegend: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLLegendElement> & React$1.HTMLAttributes<HTMLLegendElement> & {
720
1391
  variant?: "legend" | "label";
721
- }): react_jsx_runtime.JSX.Element;
722
- declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1392
+ }, "ref"> & React$1.RefAttributes<HTMLLegendElement>>;
1393
+ declare const FieldGroup: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
723
1394
  declare const fieldVariants: (props?: ({
724
1395
  orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
725
1396
  } & class_variance_authority_types.ClassProp) | undefined) => string;
726
- declare function Field({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): react_jsx_runtime.JSX.Element;
727
- declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
728
- declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): react_jsx_runtime.JSX.Element;
729
- declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
730
- declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): react_jsx_runtime.JSX.Element;
731
- declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & {
732
- children?: React.ReactNode;
1397
+ declare function Field({ className, orientation, ...props }: React$1.ComponentProps<'div'> & VariantProps<typeof fieldVariants>): react_jsx_runtime.JSX.Element;
1398
+ declare namespace Field {
1399
+ var displayName: string;
1400
+ }
1401
+ declare function FieldContent({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
1402
+ declare namespace FieldContent {
1403
+ var displayName: string;
1404
+ }
1405
+ declare function FieldLabel({ className, ...props }: React$1.ComponentProps<typeof Label>): react_jsx_runtime.JSX.Element;
1406
+ declare namespace FieldLabel {
1407
+ var displayName: string;
1408
+ }
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;
1411
+ declare namespace FieldDescription {
1412
+ var displayName: string;
1413
+ }
1414
+ declare function FieldSeparator({ children, className, ...props }: React$1.ComponentProps<'div'> & {
1415
+ children?: React$1.ReactNode;
733
1416
  }): react_jsx_runtime.JSX.Element;
734
- declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<"div"> & {
1417
+ declare namespace FieldSeparator {
1418
+ var displayName: string;
1419
+ }
1420
+ declare function FieldError({ className, children, errors, ...props }: React$1.ComponentProps<'div'> & {
735
1421
  errors?: Array<{
736
1422
  message?: string;
737
1423
  } | undefined>;
738
1424
  }): react_jsx_runtime.JSX.Element | null;
739
-
1425
+ declare namespace FieldError {
1426
+ var displayName: string;
1427
+ }
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
+
740
1451
  declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React$1.JSX.Element;
741
- declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
1452
+ declare const FormField: {
1453
+ <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>): react_jsx_runtime.JSX.Element;
1454
+ displayName: string;
1455
+ };
742
1456
  declare const useFormField: () => {
743
1457
  invalid: boolean;
744
1458
  isDirty: boolean;
@@ -752,82 +1466,143 @@ declare const useFormField: () => {
752
1466
  formMessageId: string;
753
1467
  };
754
1468
  declare function FormItem({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1469
+ declare namespace FormItem {
1470
+ var displayName: string;
1471
+ }
755
1472
  declare function FormLabel({ className, ...props }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime.JSX.Element;
1473
+ declare namespace FormLabel {
1474
+ var displayName: string;
1475
+ }
756
1476
  declare function FormControl({ ...props }: React$1.ComponentProps<typeof Slot>): react_jsx_runtime.JSX.Element;
1477
+ declare namespace FormControl {
1478
+ var displayName: string;
1479
+ }
757
1480
  declare function FormDescription({ className, ...props }: React$1.ComponentProps<"p">): react_jsx_runtime.JSX.Element;
1481
+ declare namespace FormDescription {
1482
+ var displayName: string;
1483
+ }
758
1484
  declare function FormMessage({ className, ...props }: React$1.ComponentProps<"p">): react_jsx_runtime.JSX.Element | null;
1485
+ declare namespace FormMessage {
1486
+ var displayName: string;
1487
+ }
759
1488
 
760
1489
  declare function HoverCard({ ...props }: React$1.ComponentProps<typeof HoverCardPrimitive.Root>): react_jsx_runtime.JSX.Element;
1490
+ declare namespace HoverCard {
1491
+ var displayName: string;
1492
+ }
761
1493
  declare function HoverCardTrigger({ ...props }: React$1.ComponentProps<typeof HoverCardPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
1494
+ declare namespace HoverCardTrigger {
1495
+ var displayName: string;
1496
+ }
762
1497
  declare function HoverCardContent({ className, align, sideOffset, ...props }: React$1.ComponentProps<typeof HoverCardPrimitive.Content>): react_jsx_runtime.JSX.Element;
763
-
764
- interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof InputVariants> {
1498
+ declare namespace HoverCardContent {
1499
+ var displayName: string;
765
1500
  }
1501
+
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 */
766
1506
  declare const InputVariants: (props?: ({
767
- size?: "small" | "tiny" | "medium" | "large" | "xlarge" | null | undefined;
1507
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
768
1508
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1509
+ interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
1510
+ }
769
1511
  declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
770
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
+
771
1523
  declare const tagInputVariants: (props?: ({
772
1524
  variant?: "default" | "secondary" | null | undefined;
773
1525
  } & class_variance_authority_types.ClassProp) | undefined) => string;
774
- 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> {
775
1527
  value?: string[];
776
1528
  defaultValue?: string[];
777
1529
  onChange?: (value: string[]) => void;
778
1530
  placeholder?: string;
779
1531
  disabled?: boolean;
780
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;
781
1537
  }
782
1538
  declare const TagInput: React$1.ForwardRefExoticComponent<TagInputProps & React$1.RefAttributes<HTMLDivElement>>;
783
1539
 
784
- declare const hashtagInputVariants: (props?: ({
785
- variant?: "default" | "secondary" | null | undefined;
786
- } & class_variance_authority_types.ClassProp) | undefined) => string;
787
- interface HashtagInputProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue">, VariantProps<typeof hashtagInputVariants> {
788
- value?: string[];
789
- defaultValue?: string[];
790
- onChange?: (value: string[]) => void;
791
- placeholder?: string;
792
- disabled?: boolean;
793
- maxTags?: number;
794
- }
795
- declare const HashtagInput: React$1.ForwardRefExoticComponent<HashtagInputProps & React$1.RefAttributes<HTMLDivElement>>;
1540
+ declare const HashtagInput: React$1.ForwardRefExoticComponent<TagInputProps & React$1.RefAttributes<HTMLDivElement>>;
796
1541
 
797
- interface InputGroupProps extends React$1.ComponentProps<"div"> {
1542
+ interface InputGroupProps extends React$1.ComponentProps<'div'> {
798
1543
  /**
799
1544
  * Direction of the input group.
800
1545
  * Use "ltr" for URL, email, tel, or other LTR-only content.
801
1546
  * @default undefined (inherits from parent)
802
1547
  */
803
- dir?: "ltr" | "rtl";
1548
+ dir?: 'ltr' | 'rtl';
804
1549
  }
805
1550
  declare function InputGroup({ className, dir, ...props }: InputGroupProps): react_jsx_runtime.JSX.Element;
1551
+ declare namespace InputGroup {
1552
+ var displayName: string;
1553
+ }
806
1554
  declare const inputGroupAddonVariants: (props?: ({
807
1555
  align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
808
1556
  } & class_variance_authority_types.ClassProp) | undefined) => string;
809
- 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;
1558
+ declare namespace InputGroupAddon {
1559
+ var displayName: string;
1560
+ }
810
1561
  declare const inputGroupButtonVariants: (props?: ({
811
- size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
1562
+ size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
812
1563
  } & class_variance_authority_types.ClassProp) | undefined) => string;
813
- declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React$1.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): react_jsx_runtime.JSX.Element;
814
- declare function InputGroupText({ className, ...props }: React$1.ComponentProps<"span">): 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;
1565
+ declare namespace InputGroupButton {
1566
+ var displayName: string;
1567
+ }
1568
+ declare function InputGroupText({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1569
+ declare namespace InputGroupText {
1570
+ var displayName: string;
1571
+ }
815
1572
  declare function InputGroupInput({ className, type, size, dir: dirProp, ...props }: InputProps): react_jsx_runtime.JSX.Element;
816
- declare function InputGroupTextarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
1573
+ declare namespace InputGroupInput {
1574
+ var displayName: string;
1575
+ }
1576
+ declare function InputGroupTextarea({ className, ...props }: React$1.ComponentProps<'textarea'>): react_jsx_runtime.JSX.Element;
1577
+ declare namespace InputGroupTextarea {
1578
+ var displayName: string;
1579
+ }
817
1580
 
818
1581
  declare function InputOTP({ className, containerClassName, dir, ...props }: React$1.ComponentProps<typeof OTPInput> & {
819
1582
  containerClassName?: string;
820
1583
  }): react_jsx_runtime.JSX.Element;
821
- declare function InputOTPGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
822
- declare function InputOTPSlot({ index, className, ...props }: React$1.ComponentProps<"div"> & {
1584
+ declare namespace InputOTP {
1585
+ var displayName: string;
1586
+ }
1587
+ declare function InputOTPGroup({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
1588
+ declare namespace InputOTPGroup {
1589
+ var displayName: string;
1590
+ }
1591
+ declare function InputOTPSlot({ index, className, ...props }: React$1.ComponentProps<'div'> & {
823
1592
  index: number;
824
1593
  }): react_jsx_runtime.JSX.Element;
825
- declare function InputOTPSeparator({ ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1594
+ declare namespace InputOTPSlot {
1595
+ var displayName: string;
1596
+ }
1597
+ declare function InputOTPSeparator({ ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
1598
+ declare namespace InputOTPSeparator {
1599
+ var displayName: string;
1600
+ }
826
1601
 
827
- type MediaType = "image" | "video" | "carousel";
828
- 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';
829
1604
  interface MediaItem {
830
- type: "image" | "video";
1605
+ type: 'image' | 'video';
831
1606
  url: string;
832
1607
  aspectRatio?: AspectRatioType;
833
1608
  }
@@ -837,8 +1612,8 @@ interface PostStats {
837
1612
  views?: number;
838
1613
  shares?: number;
839
1614
  }
840
- type NumberFormat = "exact" | "short";
841
- type TimeFormat = "absolute" | "relative";
1615
+ type NumberFormat = 'exact' | 'short';
1616
+ type TimeFormat = 'absolute' | 'relative';
842
1617
  interface InstagramProfileInfo {
843
1618
  username: string;
844
1619
  fullName?: string;
@@ -846,10 +1621,10 @@ interface InstagramProfileInfo {
846
1621
  avatarUrl?: string;
847
1622
  }
848
1623
  interface InstagramPostProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof instagramPostVariants> {
849
- dir?: "rtl" | "ltr";
1624
+ dir?: 'rtl' | 'ltr';
850
1625
  media?: MediaItem[];
851
1626
  mediaType?: MediaType;
852
- postType?: 0 | 1 | 2;
1627
+ postType?: 'image' | 'video' | 'carousel';
853
1628
  caption?: string;
854
1629
  showCaption?: boolean;
855
1630
  stats?: PostStats;
@@ -864,6 +1639,8 @@ interface InstagramPostProps extends React$1.HTMLAttributes<HTMLDivElement>, Var
864
1639
  showProfile?: boolean;
865
1640
  avatarUrl?: string;
866
1641
  showActions?: boolean;
1642
+ /** Show loading skeleton state */
1643
+ isLoading?: boolean;
867
1644
  onCommentAnalyzer?: () => void;
868
1645
  onBooster?: () => void;
869
1646
  onAIAnalysis?: () => void;
@@ -874,38 +1651,98 @@ interface InstagramPostProps extends React$1.HTMLAttributes<HTMLDivElement>, Var
874
1651
  disableAIAnalysis?: boolean;
875
1652
  disableOpenInstagram?: boolean;
876
1653
  placeholderText?: string;
1654
+ /** Locale for UI strings @default 'fa' */
1655
+ locale?: SupportedLocale;
1656
+ /** Text for "show more" button @default "بیشتر" */
1657
+ showMoreText?: string;
1658
+ /** Text for "show less" button @default "کمتر" */
1659
+ showLessText?: string;
877
1660
  }
878
1661
  declare const instagramPostVariants: (props?: ({
879
1662
  variant?: "horizontal" | "vertical" | null | undefined;
880
1663
  } & class_variance_authority_types.ClassProp) | undefined) => string;
881
1664
  declare const InstagramPost: React$1.ForwardRefExoticComponent<InstagramPostProps & React$1.RefAttributes<HTMLDivElement>>;
882
1665
 
883
- declare function Kbd({ className, ...props }: React$1.ComponentProps<"kbd">): react_jsx_runtime.JSX.Element;
884
- declare function KbdGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1666
+ declare function Kbd({ className, ...props }: React$1.ComponentProps<'kbd'>): react_jsx_runtime.JSX.Element;
1667
+ declare namespace Kbd {
1668
+ var displayName: string;
1669
+ }
1670
+ declare function KbdGroup({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1671
+ declare namespace KbdGroup {
1672
+ var displayName: string;
1673
+ }
885
1674
 
886
1675
  declare function Menubar({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Root>): react_jsx_runtime.JSX.Element;
1676
+ declare namespace Menubar {
1677
+ var displayName: string;
1678
+ }
887
1679
  declare function MenubarMenu({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Menu>): react_jsx_runtime.JSX.Element;
1680
+ declare namespace MenubarMenu {
1681
+ var displayName: string;
1682
+ }
888
1683
  declare function MenubarGroup({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Group>): react_jsx_runtime.JSX.Element;
1684
+ declare namespace MenubarGroup {
1685
+ var displayName: string;
1686
+ }
889
1687
  declare function MenubarPortal({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Portal>): react_jsx_runtime.JSX.Element;
1688
+ declare namespace MenubarPortal {
1689
+ var displayName: string;
1690
+ }
890
1691
  declare function MenubarRadioGroup({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
1692
+ declare namespace MenubarRadioGroup {
1693
+ var displayName: string;
1694
+ }
891
1695
  declare function MenubarTrigger({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
1696
+ declare namespace MenubarTrigger {
1697
+ var displayName: string;
1698
+ }
892
1699
  declare function MenubarContent({ className, align, alignOffset, sideOffset, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Content>): react_jsx_runtime.JSX.Element;
1700
+ declare namespace MenubarContent {
1701
+ var displayName: string;
1702
+ }
893
1703
  declare function MenubarItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Item> & {
894
1704
  inset?: boolean;
895
- variant?: "default" | "destructive";
1705
+ variant?: 'default' | 'destructive';
896
1706
  }): react_jsx_runtime.JSX.Element;
1707
+ declare namespace MenubarItem {
1708
+ var displayName: string;
1709
+ }
897
1710
  declare function MenubarCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
1711
+ declare namespace MenubarCheckboxItem {
1712
+ var displayName: string;
1713
+ }
898
1714
  declare function MenubarRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
1715
+ declare namespace MenubarRadioItem {
1716
+ var displayName: string;
1717
+ }
899
1718
  declare function MenubarLabel({ className, inset, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Label> & {
900
1719
  inset?: boolean;
901
1720
  }): react_jsx_runtime.JSX.Element;
1721
+ declare namespace MenubarLabel {
1722
+ var displayName: string;
1723
+ }
902
1724
  declare function MenubarSeparator({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Separator>): react_jsx_runtime.JSX.Element;
903
- declare function MenubarShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1725
+ declare namespace MenubarSeparator {
1726
+ var displayName: string;
1727
+ }
1728
+ declare function MenubarShortcut({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1729
+ declare namespace MenubarShortcut {
1730
+ var displayName: string;
1731
+ }
904
1732
  declare function MenubarSub({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Sub>): react_jsx_runtime.JSX.Element;
1733
+ declare namespace MenubarSub {
1734
+ var displayName: string;
1735
+ }
905
1736
  declare function MenubarSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
906
1737
  inset?: boolean;
907
1738
  }): react_jsx_runtime.JSX.Element;
1739
+ declare namespace MenubarSubTrigger {
1740
+ var displayName: string;
1741
+ }
908
1742
  declare function MenubarSubContent({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
1743
+ declare namespace MenubarSubContent {
1744
+ var displayName: string;
1745
+ }
909
1746
 
910
1747
  interface MetricCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
911
1748
  /**
@@ -930,10 +1767,9 @@ interface MetricCardLabelProps extends React$1.HTMLAttributes<HTMLHeadingElement
930
1767
  icon?: React$1.ReactNode;
931
1768
  }
932
1769
  interface MetricCardDifferentialProps extends React$1.HTMLAttributes<HTMLDivElement> {
933
- /**
934
- * Variant determines color: positive (green) or negative (red)
935
- */
936
- variant?: "positive" | "negative";
1770
+ variant?: 'positive' | 'negative';
1771
+ /** Optional sign to display ("+", "-"). Rendered after the value, dir=ltr. */
1772
+ sign?: '+' | '-';
937
1773
  }
938
1774
  interface MetricCardSparklineProps {
939
1775
  /**
@@ -948,7 +1784,13 @@ interface MetricCardSparklineProps {
948
1784
  */
949
1785
  dataKey: string;
950
1786
  /**
951
- * Use Persian calendar for date formatting
1787
+ * Locale for number and date formatting
1788
+ * نمایش به صورت فارسی/عربی یا انگلیسی
1789
+ * @default "fa"
1790
+ */
1791
+ locale?: SupportedLocale;
1792
+ /**
1793
+ * @deprecated Use `locale="fa"` instead
952
1794
  */
953
1795
  usePersianCalendar?: boolean;
954
1796
  /**
@@ -964,32 +1806,99 @@ declare const MetricCardValue: React$1.ForwardRefExoticComponent<React$1.HTMLAtt
964
1806
  declare const MetricCardDifferential: React$1.ForwardRefExoticComponent<MetricCardDifferentialProps & React$1.RefAttributes<HTMLDivElement>>;
965
1807
  declare const MetricCardSparkline: React$1.ForwardRefExoticComponent<MetricCardSparklineProps & React$1.RefAttributes<HTMLDivElement>>;
966
1808
 
967
- declare function NativeSelect({ className, ...props }: React$1.ComponentProps<"select">): react_jsx_runtime.JSX.Element;
968
- declare function NativeSelectOption({ ...props }: React$1.ComponentProps<"option">): react_jsx_runtime.JSX.Element;
969
- declare function NativeSelectOptGroup({ className, ...props }: React$1.ComponentProps<"optgroup">): 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;
1811
+ declare namespace NativeSelectOption {
1812
+ var displayName: string;
1813
+ }
1814
+ declare function NativeSelectOptGroup({ className, ...props }: React$1.ComponentProps<'optgroup'>): react_jsx_runtime.JSX.Element;
1815
+ declare namespace NativeSelectOptGroup {
1816
+ var displayName: string;
1817
+ }
970
1818
 
971
1819
  declare function NavigationMenu({ className, children, viewport, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
972
1820
  viewport?: boolean;
973
1821
  }): react_jsx_runtime.JSX.Element;
1822
+ declare namespace NavigationMenu {
1823
+ var displayName: string;
1824
+ }
974
1825
  declare function NavigationMenuList({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.List>): react_jsx_runtime.JSX.Element;
1826
+ declare namespace NavigationMenuList {
1827
+ var displayName: string;
1828
+ }
975
1829
  declare function NavigationMenuItem({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Item>): react_jsx_runtime.JSX.Element;
1830
+ declare namespace NavigationMenuItem {
1831
+ var displayName: string;
1832
+ }
976
1833
  declare const navigationMenuTriggerStyle: (props?: class_variance_authority_types.ClassProp | undefined) => string;
977
1834
  declare function NavigationMenuTrigger({ className, children, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
1835
+ declare namespace NavigationMenuTrigger {
1836
+ var displayName: string;
1837
+ }
978
1838
  declare function NavigationMenuContent({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
1839
+ declare namespace NavigationMenuContent {
1840
+ var displayName: string;
1841
+ }
979
1842
  declare function NavigationMenuViewport({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Viewport>): react_jsx_runtime.JSX.Element;
1843
+ declare namespace NavigationMenuViewport {
1844
+ var displayName: string;
1845
+ }
980
1846
  declare function NavigationMenuLink({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Link>): react_jsx_runtime.JSX.Element;
1847
+ declare namespace NavigationMenuLink {
1848
+ var displayName: string;
1849
+ }
981
1850
  declare function NavigationMenuIndicator({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Indicator>): react_jsx_runtime.JSX.Element;
1851
+ declare namespace NavigationMenuIndicator {
1852
+ var displayName: string;
1853
+ }
982
1854
 
983
- declare function Pagination({ className, dir, children, ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
984
- declare function PaginationContent({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
985
- declare function PaginationItem({ ...props }: React$1.ComponentProps<"li">): 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;
1872
+ declare namespace Pagination {
1873
+ var displayName: string;
1874
+ }
1875
+ declare function PaginationContent({ className, ...props }: React$1.ComponentProps<'ul'>): react_jsx_runtime.JSX.Element;
1876
+ declare namespace PaginationContent {
1877
+ var displayName: string;
1878
+ }
1879
+ declare function PaginationItem({ ...props }: React$1.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
1880
+ declare namespace PaginationItem {
1881
+ var displayName: string;
1882
+ }
986
1883
  type PaginationLinkProps = {
987
1884
  isActive?: boolean;
988
- } & Pick<React$1.ComponentProps<typeof Button>, "size"> & React$1.ComponentProps<"a">;
1885
+ } & Pick<React$1.ComponentProps<typeof Button>, 'size'> & React$1.ComponentProps<'a'>;
989
1886
  declare function PaginationLink({ className, isActive, size, dir, ...props }: PaginationLinkProps): react_jsx_runtime.JSX.Element;
1887
+ declare namespace PaginationLink {
1888
+ var displayName: string;
1889
+ }
990
1890
  declare function PaginationPrevious({ className, ...props }: React$1.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
1891
+ declare namespace PaginationPrevious {
1892
+ var displayName: string;
1893
+ }
991
1894
  declare function PaginationNext({ className, ...props }: React$1.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
992
- declare function PaginationEllipsis({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1895
+ declare namespace PaginationNext {
1896
+ var displayName: string;
1897
+ }
1898
+ declare function PaginationEllipsis({ className, ...props }: React$1.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1899
+ declare namespace PaginationEllipsis {
1900
+ var displayName: string;
1901
+ }
993
1902
 
994
1903
  interface PaginationControlledProps {
995
1904
  /**
@@ -1029,9 +1938,10 @@ interface PaginationControlledProps {
1029
1938
  */
1030
1939
  className?: string;
1031
1940
  /**
1032
- * جهت متن (rtl/ltr)
1941
+ * زبان برای تبدیل اعداد و جهت متن
1942
+ * @default "fa"
1033
1943
  */
1034
- dir?: "rtl" | "ltr";
1944
+ locale?: SupportedLocale;
1035
1945
  }
1036
1946
  /**
1037
1947
  * کامپوننت صفحه‌بندی با props استاندارد
@@ -1045,13 +1955,17 @@ interface PaginationControlledProps {
1045
1955
  * />
1046
1956
  * ```
1047
1957
  */
1048
- declare function PaginationControlled({ currentPage, totalPages, onPageChange, siblingCount, showFirstLast, showPrevNext, showEllipsis, className, dir, }: PaginationControlledProps): react_jsx_runtime.JSX.Element;
1958
+ declare const PaginationControlled: React$1.ForwardRefExoticComponent<PaginationControlledProps & React$1.RefAttributes<HTMLElement>>;
1049
1959
 
1050
1960
  declare const Popover: React$1.FC<PopoverPrimitive.PopoverProps>;
1051
1961
  declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
1052
1962
  declare const PopoverAnchor: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React$1.RefAttributes<HTMLDivElement>>;
1053
1963
  declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1054
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;
1055
1969
  interface ProfileCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
1056
1970
  /**
1057
1971
  * نام کامل کاربر
@@ -1088,15 +2002,20 @@ interface ProfileCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
1088
2002
  /**
1089
2003
  * استایل حاشیه آواتار
1090
2004
  */
1091
- avatarBorderVariant?: "gold" | "primary" | "none";
2005
+ avatarBorderVariant?: 'gold' | 'primary' | 'none';
1092
2006
  /**
1093
2007
  * اندازه کامپوننت
1094
2008
  */
1095
- size?: "sm" | "md" | "lg";
2009
+ size?: 'sm' | 'md' | 'lg';
1096
2010
  /**
1097
2011
  * رنگ پس‌زمینه
1098
2012
  */
1099
- variant?: "default" | "dark" | "transparent";
2013
+ variant?: 'default' | 'dark' | 'transparent';
2014
+ /**
2015
+ * نمایش حالت بارگذاری
2016
+ * Show loading skeleton state
2017
+ */
2018
+ isLoading?: boolean;
1100
2019
  }
1101
2020
  declare const ProfileCard: React$1.ForwardRefExoticComponent<ProfileCardProps & React$1.RefAttributes<HTMLDivElement>>;
1102
2021
 
@@ -1144,15 +2063,20 @@ interface ProfileInfoProps extends React$1.HTMLAttributes<HTMLDivElement> {
1144
2063
  /**
1145
2064
  * استایل حاشیه آواتار
1146
2065
  */
1147
- avatarBorderVariant?: "gold" | "primary" | "none";
2066
+ avatarBorderVariant?: 'gold' | 'primary' | 'none';
1148
2067
  /**
1149
2068
  * اندازه کامپوننت
1150
2069
  */
1151
- size?: "sm" | "md" | "lg";
2070
+ size?: 'sm' | 'md' | 'lg';
1152
2071
  /**
1153
2072
  * رنگ پس‌زمینه
1154
2073
  */
1155
- variant?: "default" | "dark" | "transparent";
2074
+ variant?: 'default' | 'dark' | 'transparent';
2075
+ /**
2076
+ * Locale for default strings
2077
+ * @default "fa"
2078
+ */
2079
+ locale?: SupportedLocale;
1156
2080
  }
1157
2081
  declare const ProfileInfo: React$1.ForwardRefExoticComponent<ProfileInfoProps & React$1.RefAttributes<HTMLDivElement>>;
1158
2082
 
@@ -1172,13 +2096,18 @@ interface EngagementRateProps extends React$1.HTMLAttributes<HTMLDivElement> {
1172
2096
  * Display in Persian/Arabic or English
1173
2097
  * @default "fa"
1174
2098
  */
1175
- locale?: "fa" | "ar" | "en";
2099
+ locale?: SupportedLocale;
1176
2100
  /**
1177
2101
  * نمایش کارت اطلاعات دسته‌بندی
1178
2102
  * Show category information card
1179
2103
  * @default true
1180
2104
  */
1181
2105
  showCategoryCard?: boolean;
2106
+ /**
2107
+ * نمایش حالت بارگذاری
2108
+ * Show loading skeleton state
2109
+ */
2110
+ isLoading?: boolean;
1182
2111
  }
1183
2112
  declare const EngagementRate: React$1.ForwardRefExoticComponent<EngagementRateProps & React$1.RefAttributes<HTMLDivElement>>;
1184
2113
 
@@ -1198,18 +2127,24 @@ interface EngagementRateBarProps extends React$1.HTMLAttributes<HTMLDivElement>
1198
2127
  * Display in Persian/Arabic or English
1199
2128
  * @default "fa"
1200
2129
  */
1201
- locale?: "fa" | "ar" | "en";
2130
+ locale?: SupportedLocale;
1202
2131
  /**
1203
2132
  * نمایش متن راهنمای "عالی" و "پایین"
1204
2133
  * Show helper text "Excellent" and "Low"
1205
2134
  * @default true
1206
2135
  */
1207
2136
  showHelperText?: boolean;
2137
+ /**
2138
+ * نمایش حالت بارگذاری
2139
+ * Show loading skeleton state
2140
+ * @default false
2141
+ */
2142
+ isLoading?: boolean;
1208
2143
  }
1209
2144
  declare const EngagementRateBar: React$1.ForwardRefExoticComponent<EngagementRateBarProps & React$1.RefAttributes<HTMLDivElement>>;
1210
2145
 
1211
2146
  declare const progressVariants: (props?: ({
1212
- size?: "sm" | "lg" | "md" | null | undefined;
2147
+ size?: "sm" | "md" | "lg" | null | undefined;
1213
2148
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1214
2149
  declare const progressIndicatorVariants: (props?: ({
1215
2150
  variant?: "success" | "warning" | "destructive" | "primary" | "secondary" | null | undefined;
@@ -1218,13 +2153,13 @@ interface ProgressProps extends React$1.ComponentProps<typeof ProgressPrimitive.
1218
2153
  label?: string;
1219
2154
  showValue?: boolean;
1220
2155
  }
1221
- declare function Progress({ className, value, size, variant, label, showValue, ...props }: ProgressProps): react_jsx_runtime.JSX.Element;
2156
+ declare const Progress: React$1.ForwardRefExoticComponent<Omit<ProgressProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1222
2157
 
1223
- declare function RadioGroup({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Root>): react_jsx_runtime.JSX.Element;
1224
- declare function RadioGroupItem({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Item>): react_jsx_runtime.JSX.Element;
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>>;
1225
2160
 
1226
2161
  declare const RadioCards: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
1227
- columns?: number | Record<string, number>;
2162
+ columns?: number;
1228
2163
  dir?: "rtl" | "ltr";
1229
2164
  } & React$1.RefAttributes<HTMLDivElement>>;
1230
2165
  declare const RadioCardItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
@@ -1232,21 +2167,40 @@ declare const RadioCardTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttr
1232
2167
  declare const RadioCardDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
1233
2168
 
1234
2169
  declare function ResizablePanelGroup({ className, ...props }: React$1.ComponentProps<typeof ResizablePrimitive.PanelGroup>): react_jsx_runtime.JSX.Element;
2170
+ declare namespace ResizablePanelGroup {
2171
+ var displayName: string;
2172
+ }
1235
2173
  declare function ResizablePanel({ ...props }: React$1.ComponentProps<typeof ResizablePrimitive.Panel>): react_jsx_runtime.JSX.Element;
2174
+ declare namespace ResizablePanel {
2175
+ var displayName: string;
2176
+ }
1236
2177
  declare function ResizableHandle({ withHandle, className, ...props }: React$1.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {
1237
2178
  withHandle?: boolean;
1238
2179
  }): react_jsx_runtime.JSX.Element;
2180
+ declare namespace ResizableHandle {
2181
+ var displayName: string;
2182
+ }
1239
2183
 
1240
2184
  declare function ScrollArea({ className, children, ...props }: React$1.ComponentProps<typeof ScrollAreaPrimitive.Root>): react_jsx_runtime.JSX.Element;
2185
+ declare namespace ScrollArea {
2186
+ var displayName: string;
2187
+ }
1241
2188
  declare function ScrollBar({ className, orientation, ...props }: React$1.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): react_jsx_runtime.JSX.Element;
2189
+ declare namespace ScrollBar {
2190
+ var displayName: string;
2191
+ }
1242
2192
 
1243
2193
  declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
1244
2194
  declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
1245
2195
  declare const SelectValue: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & VariantProps<(props?: ({
1246
- size?: "small" | "tiny" | "medium" | "large" | "xlarge" | null | undefined;
2196
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
1247
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;
1248
2202
  declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
1249
- size?: "small" | "tiny" | "medium" | "large" | "xlarge" | null | undefined;
2203
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
1250
2204
  } & class_variance_authority_types.ClassProp) | undefined) => string> & React$1.RefAttributes<HTMLButtonElement>>;
1251
2205
  declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1252
2206
  declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
@@ -1256,23 +2210,59 @@ declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive
1256
2210
  declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1257
2211
 
1258
2212
  declare function Sheet({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
2213
+ declare namespace Sheet {
2214
+ var displayName: string;
2215
+ }
1259
2216
  declare function SheetTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
2217
+ declare namespace SheetTrigger {
2218
+ var displayName: string;
2219
+ }
1260
2220
  declare function SheetClose({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime.JSX.Element;
2221
+ declare namespace SheetClose {
2222
+ var displayName: string;
2223
+ }
1261
2224
  declare function SheetContent({ className, children, side, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content> & {
1262
- side?: "top" | "right" | "bottom" | "left";
2225
+ side?: 'top' | 'right' | 'bottom' | 'left';
1263
2226
  }): react_jsx_runtime.JSX.Element;
1264
- declare function SheetHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1265
- declare function SheetFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2227
+ declare namespace SheetContent {
2228
+ var displayName: string;
2229
+ }
2230
+ declare function SheetHeader({ className, ...props }: React$1.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
2231
+ declare namespace SheetHeader {
2232
+ var displayName: string;
2233
+ }
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;
2239
+ declare namespace SheetFooter {
2240
+ var displayName: string;
2241
+ }
1266
2242
  declare function SheetTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
2243
+ declare namespace SheetTitle {
2244
+ var displayName: string;
2245
+ }
1267
2246
  declare function SheetDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
2247
+ declare namespace SheetDescription {
2248
+ var displayName: string;
2249
+ }
1268
2250
 
1269
2251
  declare const TooltipProvider: React$1.FC<TooltipPrimitive.TooltipProviderProps>;
1270
2252
  declare const Tooltip: React$1.FC<TooltipPrimitive.TooltipProps>;
1271
2253
  declare const TooltipTrigger: React$1.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
1272
- declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2254
+ interface TooltipContentProps extends React$1.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> {
2255
+ /** Visual variant */
2256
+ variant?: 'default' | 'light' | 'error';
2257
+ /** Size */
2258
+ size?: 'sm' | 'md';
2259
+ /** Show arrow/caret pointing to trigger */
2260
+ showArrow?: boolean;
2261
+ }
2262
+ declare const TooltipContent: React$1.ForwardRefExoticComponent<TooltipContentProps & React$1.RefAttributes<HTMLDivElement>>;
1273
2263
 
1274
2264
  type SidebarContextProps = {
1275
- state: "expanded" | "collapsed";
2265
+ state: 'expanded' | 'collapsed';
1276
2266
  open: boolean;
1277
2267
  setOpen: (open: boolean) => void;
1278
2268
  openMobile: boolean;
@@ -1281,128 +2271,872 @@ type SidebarContextProps = {
1281
2271
  toggleSidebar: () => void;
1282
2272
  };
1283
2273
  declare function useSidebar(): SidebarContextProps;
1284
- 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'> & {
1285
2275
  defaultOpen?: boolean;
1286
2276
  open?: boolean;
1287
2277
  onOpenChange?: (open: boolean) => void;
1288
2278
  }): react_jsx_runtime.JSX.Element;
1289
- declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React$1.ComponentProps<"div"> & {
1290
- side?: "left" | "right";
1291
- variant?: "sidebar" | "floating" | "inset";
1292
- 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';
1293
2283
  }): react_jsx_runtime.JSX.Element;
1294
2284
  declare function SidebarTrigger({ className, onClick, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
1295
- declare function SidebarRail({ className, ...props }: React$1.ComponentProps<"button">): react_jsx_runtime.JSX.Element;
1296
- 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;
1297
2287
  declare function SidebarInput({ className, ...props }: React$1.ComponentProps<typeof Input>): react_jsx_runtime.JSX.Element;
1298
- declare function SidebarHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1299
- 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;
1300
2290
  declare function SidebarSeparator({ className, ...props }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
1301
- declare function SidebarContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1302
- declare function SidebarGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1303
- 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'> & {
1304
2294
  asChild?: boolean;
1305
2295
  }): react_jsx_runtime.JSX.Element;
1306
- declare function SidebarGroupAction({ className, asChild, ...props }: React$1.ComponentProps<"button"> & {
2296
+ declare function SidebarGroupAction({ className, asChild, ...props }: React$1.ComponentProps<'button'> & {
1307
2297
  asChild?: boolean;
1308
2298
  }): react_jsx_runtime.JSX.Element;
1309
- declare function SidebarGroupContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1310
- declare function SidebarMenu({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
1311
- 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;
1312
2302
  declare const sidebarMenuButtonVariants: (props?: ({
1313
2303
  variant?: "default" | "outline" | null | undefined;
1314
- size?: "default" | "sm" | "lg" | null | undefined;
2304
+ size?: "sm" | "lg" | "default" | null | undefined;
1315
2305
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1316
- 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'> & {
1317
2307
  asChild?: boolean;
1318
2308
  isActive?: boolean;
1319
2309
  tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
1320
2310
  } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime.JSX.Element;
1321
- declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React$1.ComponentProps<"button"> & {
2311
+ declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React$1.ComponentProps<'button'> & {
1322
2312
  asChild?: boolean;
1323
2313
  showOnHover?: boolean;
1324
2314
  }): react_jsx_runtime.JSX.Element;
1325
- declare function SidebarMenuBadge({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
1326
- 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'> & {
1327
2317
  showIcon?: boolean;
1328
2318
  }): react_jsx_runtime.JSX.Element;
1329
- declare function SidebarMenuSub({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
1330
- declare function SidebarMenuSubItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
1331
- 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'> & {
1332
2322
  asChild?: boolean;
1333
- size?: "sm" | "md";
2323
+ size?: 'sm' | 'md';
1334
2324
  isActive?: boolean;
1335
2325
  }): react_jsx_runtime.JSX.Element;
1336
2326
 
1337
- declare function Skeleton({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
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
+
2376
+ declare const skeletonVariants: (props?: ({
2377
+ shape?: "circle" | "rect" | "line" | "text" | null | undefined;
2378
+ size?: "sm" | "md" | "lg" | null | undefined;
2379
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
2380
+ interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof skeletonVariants> {
2381
+ /**
2382
+ * تعداد عناصر skeleton برای نمایش (برای shape های line و text)
2383
+ * Number of skeleton elements to repeat (for line/text shapes)
2384
+ */
2385
+ count?: number;
2386
+ }
2387
+ declare function Skeleton({ className, shape, size, count, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
2388
+ declare namespace Skeleton {
2389
+ var displayName: string;
2390
+ }
2391
+ interface MetricCardSkeletonProps {
2392
+ className?: string;
2393
+ }
2394
+ declare function MetricCardSkeleton({ className }: MetricCardSkeletonProps): react_jsx_runtime.JSX.Element;
2395
+ declare namespace MetricCardSkeleton {
2396
+ var displayName: string;
2397
+ }
2398
+ interface ChartSkeletonProps$1 {
2399
+ className?: string;
2400
+ }
2401
+ declare function ChartSkeleton({ className }: ChartSkeletonProps$1): react_jsx_runtime.JSX.Element;
2402
+ declare namespace ChartSkeleton {
2403
+ var displayName: string;
2404
+ }
2405
+ interface TableSkeletonProps {
2406
+ rows?: number;
2407
+ className?: string;
2408
+ }
2409
+ declare function TableSkeleton({ rows, className }: TableSkeletonProps): react_jsx_runtime.JSX.Element;
2410
+ declare namespace TableSkeleton {
2411
+ var displayName: string;
2412
+ }
1338
2413
 
1339
2414
  declare function Slider({ className, defaultValue, value, min, max, dir, ...props }: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime.JSX.Element;
2415
+ declare namespace Slider {
2416
+ var displayName: string;
2417
+ }
2418
+
2419
+ type PartoToasterProps = ToasterProps;
2420
+ declare const Toaster: {
2421
+ ({ className, ...props }: PartoToasterProps): react_jsx_runtime.JSX.Element;
2422
+ displayName: string;
2423
+ };
1340
2424
 
1341
2425
  declare const SONNER_DEFAULT_DURATION = 4000;
1342
- declare const Toaster: ({ dir, position, closeButton, toastOptions, ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
1343
2426
 
1344
- declare function Spinner({ className, ...props }: React$1.ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
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> {
2431
+ }
2432
+ declare const Spinner: React$1.ForwardRefExoticComponent<SpinnerProps & React$1.RefAttributes<HTMLSpanElement>>;
1345
2433
 
1346
2434
  declare const switchRootVariants: (props?: ({
1347
- size?: "small" | "medium" | "large" | null | undefined;
2435
+ size?: "sm" | "md" | "lg" | "small" | "medium" | "large" | null | undefined;
1348
2436
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1349
2437
  interface SwitchProps extends React$1.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>, VariantProps<typeof switchRootVariants> {
1350
2438
  }
1351
2439
  declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLButtonElement>>;
1352
2440
 
1353
- declare function Table({ className, ...props }: React$1.ComponentProps<"table">): react_jsx_runtime.JSX.Element;
1354
- declare function TableHeader({ className, ...props }: React$1.ComponentProps<"thead">): react_jsx_runtime.JSX.Element;
1355
- declare function TableBody({ className, ...props }: React$1.ComponentProps<"tbody">): react_jsx_runtime.JSX.Element;
1356
- declare function TableFooter({ className, ...props }: React$1.ComponentProps<"tfoot">): react_jsx_runtime.JSX.Element;
1357
- declare function TableRow({ className, ...props }: React$1.ComponentProps<"tr">): react_jsx_runtime.JSX.Element;
1358
- declare function TableHead({ className, ...props }: React$1.ComponentProps<"th">): react_jsx_runtime.JSX.Element;
1359
- declare function TableCell({ className, ...props }: React$1.ComponentProps<"td">): react_jsx_runtime.JSX.Element;
1360
- declare function TableCaption({ className, ...props }: React$1.ComponentProps<"caption">): react_jsx_runtime.JSX.Element;
2441
+ interface TableProps extends React$1.ComponentProps<'table'> {
2442
+ /** Size variant affecting cell padding and font size */
2443
+ size?: 'sm' | 'md' | 'lg';
2444
+ /** Zebra-striped rows */
2445
+ striped?: boolean;
2446
+ /** Bordered cells */
2447
+ bordered?: boolean;
2448
+ /** Sticky header that stays visible when scrolling */
2449
+ stickyHeader?: boolean;
2450
+ }
2451
+ declare function Table({ className, size, striped, bordered, stickyHeader, ...props }: TableProps): react_jsx_runtime.JSX.Element;
2452
+ declare namespace Table {
2453
+ var displayName: string;
2454
+ }
2455
+ declare function TableHeader({ className, ...props }: React$1.ComponentProps<'thead'>): react_jsx_runtime.JSX.Element;
2456
+ declare namespace TableHeader {
2457
+ var displayName: string;
2458
+ }
2459
+ declare function TableBody({ className, ...props }: React$1.ComponentProps<'tbody'>): react_jsx_runtime.JSX.Element;
2460
+ declare namespace TableBody {
2461
+ var displayName: string;
2462
+ }
2463
+ declare function TableFooter({ className, ...props }: React$1.ComponentProps<'tfoot'>): react_jsx_runtime.JSX.Element;
2464
+ declare namespace TableFooter {
2465
+ var displayName: string;
2466
+ }
2467
+ declare function TableRow({ className, ...props }: React$1.ComponentProps<'tr'>): react_jsx_runtime.JSX.Element;
2468
+ declare namespace TableRow {
2469
+ var displayName: string;
2470
+ }
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;
2476
+ declare namespace TableHead {
2477
+ var displayName: string;
2478
+ }
2479
+ declare function TableCell({ className, ...props }: React$1.ComponentProps<'td'>): react_jsx_runtime.JSX.Element;
2480
+ declare namespace TableCell {
2481
+ var displayName: string;
2482
+ }
2483
+ declare function TableCaption({ className, ...props }: React$1.ComponentProps<'caption'>): react_jsx_runtime.JSX.Element;
2484
+ declare namespace TableCaption {
2485
+ var displayName: string;
2486
+ }
2487
+ interface TableSortHeaderProps extends React$1.ComponentProps<'button'> {
2488
+ /** Current sort direction */
2489
+ sorted?: 'asc' | 'desc' | false;
2490
+ }
2491
+ declare function TableSortHeader({ className, children, sorted, ...props }: TableSortHeaderProps): react_jsx_runtime.JSX.Element;
2492
+ declare namespace TableSortHeader {
2493
+ var displayName: string;
2494
+ }
1361
2495
 
1362
2496
  declare const Tabs: React$1.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React$1.RefAttributes<HTMLDivElement>>;
1363
- declare const TabsList: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1364
- declare const TabsTrigger: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
2497
+ interface TabsListProps extends React$1.ComponentPropsWithoutRef<typeof TabsPrimitive.List> {
2498
+ /** Visual variant */
2499
+ variant?: 'default' | 'underline' | 'outline';
2500
+ /** Size */
2501
+ size?: 'sm' | 'md' | 'lg';
2502
+ }
2503
+ declare const TabsList: React$1.ForwardRefExoticComponent<TabsListProps & React$1.RefAttributes<HTMLDivElement>>;
2504
+ interface TabsTriggerProps extends React$1.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> {
2505
+ /** Icon rendered before the label */
2506
+ icon?: React$1.ReactNode;
2507
+ /** Badge/count rendered after the label */
2508
+ badge?: React$1.ReactNode;
2509
+ }
2510
+ declare const TabsTrigger: React$1.ForwardRefExoticComponent<TabsTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
1365
2511
  declare const TabsContent: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1366
2512
 
1367
- declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
2513
+ declare const Textarea: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & React$1.RefAttributes<HTMLTextAreaElement>>;
1368
2514
 
1369
2515
  declare const toggleVariants: (props?: ({
1370
2516
  variant?: "default" | "outline" | null | undefined;
1371
- size?: "default" | "sm" | "lg" | null | undefined;
2517
+ size?: "sm" | "lg" | "default" | null | undefined;
1372
2518
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1373
2519
  declare function Toggle({ className, variant, size, ...props }: React$1.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
2520
+ declare namespace Toggle {
2521
+ var displayName: string;
2522
+ }
1374
2523
 
1375
2524
  declare function ToggleGroup({ className, variant, size, children, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
2525
+ declare namespace ToggleGroup {
2526
+ var displayName: string;
2527
+ }
1376
2528
  declare function ToggleGroupItem({ className, children, variant, size, ...props }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
2529
+ declare namespace ToggleGroupItem {
2530
+ var displayName: string;
2531
+ }
1377
2532
 
1378
- interface PartoLineChartProps extends Omit<LineSvgProps<any>, 'theme' | 'width' | 'height'> {
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
+
2546
+ interface TrendIndicatorProps extends React$1.HTMLAttributes<HTMLSpanElement> {
2547
+ /** The percentage change value */
2548
+ value: number;
2549
+ /** Direction of the trend — auto-detected from value sign if not provided */
2550
+ direction?: 'up' | 'down' | 'neutral';
2551
+ /** Size of the indicator */
2552
+ size?: 'sm' | 'md' | 'lg';
2553
+ /** Locale for number formatting */
2554
+ locale?: SupportedLocale;
2555
+ /** Show the percentage sign */
2556
+ showPercent?: boolean;
2557
+ }
2558
+ declare const TrendIndicator: React$1.ForwardRefExoticComponent<TrendIndicatorProps & React$1.RefAttributes<HTMLSpanElement>>;
2559
+
2560
+ interface FilterChipProps extends React$1.HTMLAttributes<HTMLSpanElement> {
2561
+ /** Label text */
2562
+ label: string;
2563
+ /** Callback when the chip is removed */
2564
+ onRemove?: () => void;
2565
+ /** Visual variant */
2566
+ variant?: 'default' | 'brand' | 'warning' | 'destructive';
2567
+ /** Size */
2568
+ size?: 'sm' | 'md';
2569
+ /** Override the remove button's aria-label. Default: "حذف {label}" */
2570
+ removeAriaLabel?: string;
2571
+ /** Disables the chip and hides the remove button */
2572
+ disabled?: boolean;
2573
+ /** Locale for default strings @default "fa" */
2574
+ locale?: SupportedLocale;
2575
+ }
2576
+ declare const FilterChip: React$1.ForwardRefExoticComponent<FilterChipProps & React$1.RefAttributes<HTMLSpanElement>>;
2577
+ interface FilterChipGroupProps extends React$1.HTMLAttributes<HTMLDivElement> {
2578
+ /** Maximum visible chips before showing overflow count */
2579
+ maxVisible?: number;
2580
+ /** Locale for overflow counter digits */
2581
+ locale?: SupportedLocale;
2582
+ }
2583
+ declare const FilterChipGroup: React$1.ForwardRefExoticComponent<FilterChipGroupProps & React$1.RefAttributes<HTMLDivElement>>;
2584
+
2585
+ declare const statDisplayVariants: (props?: ({
2586
+ size?: "sm" | "md" | "lg" | null | undefined;
2587
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
2588
+ interface StatDisplayProps extends React$1.HTMLAttributes<HTMLDivElement> {
2589
+ /** The main numeric value */
2590
+ value: number | string;
2591
+ /** Label describing the stat */
2592
+ label: string;
2593
+ /** Unit suffix (e.g., "K", "%", "نفر") */
2594
+ unit?: string;
2595
+ /** Trend indicator element (use TrendIndicator component) */
2596
+ trend?: React$1.ReactNode;
2597
+ /** Size of the display */
2598
+ size?: 'sm' | 'md' | 'lg';
2599
+ /** Locale for number formatting */
2600
+ locale?: SupportedLocale;
2601
+ /** Optional icon displayed before the value */
2602
+ icon?: React$1.ReactNode;
2603
+ /** Show loading skeleton state */
2604
+ isLoading?: boolean;
2605
+ }
2606
+ declare const StatDisplay: React$1.ForwardRefExoticComponent<StatDisplayProps & React$1.RefAttributes<HTMLDivElement>>;
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
+
2629
+ interface SentimentBadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
2630
+ /** Sentiment type */
2631
+ sentiment: 'positive' | 'negative' | 'neutral' | 'mixed';
2632
+ /** Optional count to display */
2633
+ count?: number;
2634
+ /** Size */
2635
+ size?: 'sm' | 'md';
2636
+ /** Show text label alongside the icon */
2637
+ showLabel?: boolean;
2638
+ /** Locale for number/label formatting */
2639
+ locale?: SupportedLocale;
2640
+ }
2641
+ declare const SentimentBadge: React$1.ForwardRefExoticComponent<SentimentBadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
2642
+
2643
+ interface MultiSelectOption {
2644
+ value: string;
2645
+ label: string;
2646
+ disabled?: boolean;
2647
+ }
2648
+ interface MultiSelectProps {
2649
+ /** All available options */
2650
+ options: MultiSelectOption[];
2651
+ /** Currently selected values */
2652
+ value?: string[];
2653
+ /** Callback fired when selection changes */
2654
+ onValueChange?: (value: string[]) => void;
2655
+ /** Placeholder text when nothing is selected */
2656
+ placeholder?: string;
2657
+ /** Disables the entire control */
2658
+ disabled?: boolean;
2659
+ /** Shows loading skeleton in dropdown */
2660
+ isLoading?: boolean;
2661
+ /** Maximum number of items that can be selected */
2662
+ maxSelected?: number;
2663
+ /** How many selected chips to display before collapsing into a count badge */
2664
+ maxDisplayed?: number;
2665
+ /** Locale for display and default strings */
2666
+ locale?: SupportedLocale;
2667
+ /** Additional className on the trigger */
1379
2668
  className?: string;
2669
+ /** Empty state message */
2670
+ emptyMessage?: string;
2671
+ /** Search placeholder */
2672
+ searchPlaceholder?: string;
1380
2673
  }
1381
- declare function PartoLineChart({ className, ...props }: PartoLineChartProps): react_jsx_runtime.JSX.Element;
2674
+ declare const MultiSelect: React$1.ForwardRefExoticComponent<MultiSelectProps & React$1.RefAttributes<HTMLDivElement>>;
1382
2675
 
1383
- interface PartoBarChartProps extends Omit<BarSvgProps<any>, 'theme' | 'width' | 'height'> {
2676
+ interface PeriodOption {
2677
+ value: string;
2678
+ label: Record<SupportedLocale, string>;
2679
+ }
2680
+ declare const DEFAULT_PERIODS: PeriodOption[];
2681
+ interface PeriodSelectorProps {
2682
+ /** Currently active period value */
2683
+ value: string;
2684
+ /** Callback when a period is selected */
2685
+ onValueChange: (value: string) => void;
2686
+ /** Custom period options — defaults to the 6 standard periods */
2687
+ periods?: PeriodOption[];
2688
+ /** Display locale — affects label language */
2689
+ locale?: SupportedLocale;
2690
+ /** Size variant */
2691
+ size?: 'sm' | 'md';
2692
+ /** Disables all periods */
2693
+ disabled?: boolean;
2694
+ /** Additional className */
1384
2695
  className?: string;
1385
2696
  }
1386
- declare function PartoBarChart({ className, ...props }: PartoBarChartProps): react_jsx_runtime.JSX.Element;
2697
+ declare const PeriodSelector: React$1.ForwardRefExoticComponent<PeriodSelectorProps & React$1.RefAttributes<HTMLDivElement>>;
2698
+
2699
+ type SocialPlatform = 'instagram' | 'twitter' | 'tiktok' | 'youtube' | 'linkedin' | 'telegram' | 'threads';
2700
+ interface SocialPlatformBadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
2701
+ /** The social media platform to display */
2702
+ platform: SocialPlatform;
2703
+ /** Size of the badge */
2704
+ size?: 'xs' | 'sm' | 'md' | 'lg';
2705
+ /** Show the platform name label */
2706
+ showLabel?: boolean;
2707
+ /** Visual style of the badge */
2708
+ variant?: 'flat' | 'badge';
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;
2714
+ declare const SocialPlatformBadge: React$1.ForwardRefExoticComponent<SocialPlatformBadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
2715
+
2716
+ interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof InputVariants> {
2717
+ /** Locale for placeholder and aria labels */
2718
+ locale?: SupportedLocale;
2719
+ /** Show a loading spinner instead of the clear button */
2720
+ isLoading?: boolean;
2721
+ /** Called when the clear (×) button is clicked */
2722
+ onClear?: () => void;
2723
+ /** Show a filter button at the end */
2724
+ showFilterButton?: boolean;
2725
+ /** Called when the filter button is clicked */
2726
+ onFilterClick?: () => void;
2727
+ /** Whether the filter button shows an active state */
2728
+ filterActive?: boolean;
2729
+ /** Container className */
2730
+ wrapperClassName?: string;
2731
+ }
2732
+ declare const SearchInput: React$1.ForwardRefExoticComponent<SearchInputProps & React$1.RefAttributes<HTMLInputElement>>;
2733
+
2734
+ interface SentimentData {
2735
+ positive: number;
2736
+ negative: number;
2737
+ neutral: number;
2738
+ mixed?: number;
2739
+ }
2740
+ interface SentimentDistributionProps extends React$1.HTMLAttributes<HTMLDivElement> {
2741
+ /** Sentiment counts (will be auto-normalized to 100%) */
2742
+ data: SentimentData;
2743
+ /** Display mode */
2744
+ variant?: 'bars' | 'stacked' | 'compact';
2745
+ /** Show numeric count labels */
2746
+ showCounts?: boolean;
2747
+ /** Show percentage labels */
2748
+ showPercent?: boolean;
2749
+ /** Locale for number/label formatting */
2750
+ locale?: SupportedLocale;
2751
+ /** Show loading skeleton */
2752
+ isLoading?: boolean;
2753
+ }
2754
+ declare const SentimentDistribution: React$1.ForwardRefExoticComponent<SentimentDistributionProps & React$1.RefAttributes<HTMLDivElement>>;
2755
+
2756
+ interface ComparisonCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
2757
+ /** Card title */
2758
+ title: string;
2759
+ /** Optional tooltip explaining the metric */
2760
+ tooltip?: string;
2761
+ /** Optional icon shown before the title */
2762
+ icon?: React$1.ReactNode;
2763
+ /** Label for the current period (e.g. "این ماه") */
2764
+ currentLabel?: string;
2765
+ /** Label for the previous period (e.g. "ماه قبل") */
2766
+ previousLabel?: string;
2767
+ /** Current period value — formatted string or number */
2768
+ currentValue: React$1.ReactNode;
2769
+ /** Previous period value — formatted string or number */
2770
+ previousValue: React$1.ReactNode;
2771
+ /**
2772
+ * Percentage change from previous to current.
2773
+ * If omitted, the change indicator row is hidden.
2774
+ */
2775
+ changePercent?: number;
2776
+ /**
2777
+ * Whether a higher value is considered better (green).
2778
+ * @default true
2779
+ */
2780
+ higherIsBetter?: boolean;
2781
+ /** Show loading skeleton */
2782
+ isLoading?: boolean;
2783
+ /** Locale for number formatting and default labels */
2784
+ locale?: SupportedLocale;
2785
+ }
2786
+ declare const ComparisonCard: React$1.ForwardRefExoticComponent<ComparisonCardProps & React$1.RefAttributes<HTMLDivElement>>;
1387
2787
 
1388
- interface PartoPieChartProps extends Omit<PieSvgProps<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> */
1389
2799
  className?: string;
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;
1390
2818
  }
1391
- declare function PartoPieChart({ className, ...props }: PartoPieChartProps): react_jsx_runtime.JSX.Element;
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 */
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;
1392
2856
 
1393
- interface PartoHeatMapProps extends Omit<HeatMapSvgProps<any, any>, 'theme' | 'width' | 'height'> {
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;
2873
+ }
2874
+ declare const DirectionalBox: React$1.ForwardRefExoticComponent<DirectionalBoxProps & React$1.RefAttributes<HTMLDivElement>>;
2875
+
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 */
2897
+ className?: string;
2898
+ }
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
+ }
2910
+
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;
2994
+ className?: string;
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>;
3043
+ }
3044
+ declare const PartoBarChart: React$1.ForwardRefExoticComponent<PartoBarChartProps & React$1.RefAttributes<HTMLDivElement>>;
3045
+
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;
1394
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[];
1395
3095
  locale?: 'fa' | 'en';
3096
+ className?: string;
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;
1396
3124
  }
1397
- declare function PartoHeatMap({ className, locale, 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>>;
1398
3126
 
3127
+ /**
3128
+ * PartoWordCloud — modern word cloud with smooth hover transitions,
3129
+ * glassmorphic tooltip, and brand-harmonious coloring.
3130
+ */
1399
3131
  interface WordData {
1400
3132
  text: string;
1401
3133
  value: number;
1402
3134
  }
1403
3135
  interface PartoWordCloudProps {
1404
3136
  words: WordData[];
3137
+ /** Default aspect-ratio reference width; actual rendering is responsive */
1405
3138
  width?: number;
3139
+ /** Default aspect-ratio reference height; actual rendering is responsive */
1406
3140
  height?: number;
1407
3141
  className?: string;
1408
3142
  minFontSize?: number;
@@ -1412,9 +3146,235 @@ interface PartoWordCloudProps {
1412
3146
  rotate?: number;
1413
3147
  random?: () => number;
1414
3148
  fontWeight?: number;
3149
+ /** Called when a word is clicked — useful for click-to-filter behavior */
3150
+ onWordClick?: (word: WordData) => void;
3151
+ /** Show loading skeleton instead of word cloud */
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>;
1415
3198
  }
1416
- declare function PartoWordCloud({ words, width, height, className, minFontSize, maxFontSize, padding, spiral, rotate, random, fontWeight, }: PartoWordCloudProps): react_jsx_runtime.JSX.Element;
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;
3230
+ }
3231
+ declare const PartoRadarChart: React$1.ForwardRefExoticComponent<PartoRadarChartProps & React$1.RefAttributes<HTMLDivElement>>;
3232
+
3233
+ type Direction = 'ltr' | 'rtl';
3234
+ declare function useDocumentDirection(): Direction;
1417
3235
 
1418
3236
  declare function useIsMobile(): boolean;
1419
3237
 
1420
- 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, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommentCard, type CommentCardProps, type CommentTag, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, 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, Empty, EmptyDescription, EmptyIcon, EmptyTitle, EngagementRate, EngagementRateBar, type EngagementRateBarProps, type EngagementRateProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, 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, Kbd, KbdGroup, Label, 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, MetricCardSparkline, MetricCardValue, 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, PartoWordCloud, type PartoWordCloudProps, 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, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, 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, Skeleton, Slider, Spinner, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, Textarea, type TimeFormat, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserAutocomplete, type UserAutocompleteProps, type UserItem, type WordData, badgeVariants, buttonGroupVariants, buttonVariants, cn, formatAbsoluteTime, formatJalaliDate, formatNumber, formatPersianDateRange, formatRelativeTime, getPersianDay, getPersianMonth, getPersianMonthName, getPersianMonthNameShort, getPersianMonthsForDropdown, getPersianWeekdayName, getPersianYear, getPersianYearsForDropdown, hashtagInputVariants, instagramPostVariants, jalaliToGregorian, navigationMenuTriggerStyle, 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 };