@parto-system-design/ui 1.1.7 → 1.1.8
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/{chunk-HEYMLQOV.cjs → chunk-2ACKKPWA.cjs} +22 -4
- package/dist/chunk-2ACKKPWA.cjs.map +1 -0
- package/dist/{chunk-RA5KZNG5.js → chunk-3QYYPPFJ.js} +8 -8
- package/dist/chunk-3QYYPPFJ.js.map +1 -0
- package/dist/{chunk-OEVMKFFL.cjs → chunk-4WONHORR.cjs} +47 -35
- package/dist/chunk-4WONHORR.cjs.map +1 -0
- package/dist/{chunk-NEML6RCV.js → chunk-5HCXH6GS.js} +6 -2
- package/dist/chunk-5HCXH6GS.js.map +1 -0
- package/dist/{chunk-53QY4PD3.js → chunk-GCZ6YATL.js} +38 -6
- package/dist/chunk-GCZ6YATL.js.map +1 -0
- package/dist/{chunk-GDHRYKVM.js → chunk-GPYJ66CG.js} +4 -4
- package/dist/chunk-GPYJ66CG.js.map +1 -0
- package/dist/{chunk-SCGW2BH4.cjs → chunk-HS3XI3CC.cjs} +5 -5
- package/dist/chunk-HS3XI3CC.cjs.map +1 -0
- package/dist/chunk-JCJLN437.js +108 -0
- package/dist/chunk-JCJLN437.js.map +1 -0
- package/dist/{chunk-MQGQVI3W.cjs → chunk-JMKNNH63.cjs} +39 -7
- package/dist/chunk-JMKNNH63.cjs.map +1 -0
- package/dist/{chunk-34JUCX2G.cjs → chunk-K6G63EED.cjs} +2 -4
- package/dist/chunk-K6G63EED.cjs.map +1 -0
- package/dist/{chunk-3AIJKXBV.cjs → chunk-KYM7NIJO.cjs} +200 -9
- package/dist/chunk-KYM7NIJO.cjs.map +1 -0
- package/dist/{chunk-ZZFNJR2E.js → chunk-MEKWH3GS.js} +22 -4
- package/dist/chunk-MEKWH3GS.js.map +1 -0
- package/dist/{chunk-YE477L2H.cjs → chunk-MMC6M35Q.cjs} +10 -10
- package/dist/chunk-MMC6M35Q.cjs.map +1 -0
- package/dist/{chunk-LZMCMZZF.js → chunk-NMH43BDC.js} +44 -32
- package/dist/chunk-NMH43BDC.js.map +1 -0
- package/dist/chunk-NORDUD2T.cjs +135 -0
- package/dist/chunk-NORDUD2T.cjs.map +1 -0
- package/dist/{chunk-SCX6AR53.cjs → chunk-OQB6HIUL.cjs} +5 -5
- package/dist/{chunk-SCX6AR53.cjs.map → chunk-OQB6HIUL.cjs.map} +1 -1
- package/dist/{chunk-IQHKJ4SS.js → chunk-PYURPUTV.js} +195 -6
- package/dist/chunk-PYURPUTV.js.map +1 -0
- package/dist/{chunk-AXAY64KL.js → chunk-S3T2L6NA.js} +3 -4
- package/dist/chunk-S3T2L6NA.js.map +1 -0
- package/dist/{chunk-MBCTRNTG.js → chunk-SXWSOU3Y.js} +3 -3
- package/dist/{chunk-MBCTRNTG.js.map → chunk-SXWSOU3Y.js.map} +1 -1
- package/dist/chunk-TWJXOV4C.js +145 -0
- package/dist/chunk-TWJXOV4C.js.map +1 -0
- package/dist/{chunk-P5XHPNJG.cjs → chunk-U3ADRIVO.cjs} +6 -2
- package/dist/chunk-U3ADRIVO.cjs.map +1 -0
- package/dist/chunk-UOZN45G4.cjs +130 -0
- package/dist/chunk-UOZN45G4.cjs.map +1 -0
- package/dist/chunk-VHLDOG74.cjs +167 -0
- package/dist/chunk-VHLDOG74.cjs.map +1 -0
- package/dist/{chunk-VO3B75F6.cjs → chunk-YENXXYUV.cjs} +4 -4
- package/dist/{chunk-VO3B75F6.cjs.map → chunk-YENXXYUV.cjs.map} +1 -1
- package/dist/chunk-YFQWC2PW.js +113 -0
- package/dist/chunk-YFQWC2PW.js.map +1 -0
- package/dist/{chunk-YAJWTNOX.js → chunk-ZBZDR4ZC.js} +3 -3
- package/dist/{chunk-YAJWTNOX.js.map → chunk-ZBZDR4ZC.js.map} +1 -1
- package/dist/components/charts/PartoAreaChart.cjs +3 -3
- package/dist/components/charts/PartoAreaChart.d.cts +2 -0
- package/dist/components/charts/PartoAreaChart.d.ts +2 -0
- package/dist/components/charts/PartoAreaChart.js +2 -2
- package/dist/components/charts/PartoBarChart.cjs +3 -3
- package/dist/components/charts/PartoBarChart.d.cts +6 -0
- package/dist/components/charts/PartoBarChart.d.ts +6 -0
- package/dist/components/charts/PartoBarChart.js +2 -2
- package/dist/components/charts/PartoLineChart.cjs +3 -3
- package/dist/components/charts/PartoLineChart.d.cts +8 -0
- package/dist/components/charts/PartoLineChart.d.ts +8 -0
- package/dist/components/charts/PartoLineChart.js +2 -2
- package/dist/components/charts/PartoPieChart.cjs +3 -3
- package/dist/components/charts/PartoPieChart.d.cts +8 -0
- package/dist/components/charts/PartoPieChart.d.ts +8 -0
- package/dist/components/charts/PartoPieChart.js +2 -2
- package/dist/components/ui/badge.cjs +3 -3
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/button.cjs +4 -4
- package/dist/components/ui/button.js +2 -2
- package/dist/components/ui/calendar.cjs +4 -4
- package/dist/components/ui/calendar.js +3 -3
- package/dist/components/ui/data-table.cjs +4 -4
- package/dist/components/ui/data-table.js +3 -3
- package/dist/components/ui/input.cjs +5 -5
- package/dist/components/ui/input.js +2 -2
- package/dist/components/ui/page-card.cjs +2 -2
- package/dist/components/ui/page-card.d.cts +1 -1
- package/dist/components/ui/page-card.d.ts +1 -1
- package/dist/components/ui/page-card.js +1 -1
- package/dist/components/ui/saved-query-card.cjs +4 -4
- package/dist/components/ui/saved-query-card.js +3 -3
- package/dist/index.cjs +4470 -1927
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +333 -34
- package/dist/index.d.cts +910 -120
- package/dist/index.d.ts +910 -120
- package/dist/index.js +4298 -1792
- package/dist/index.js.map +1 -1
- package/dist/{page-card-DOl50DqJ.d.cts → page-card-CmShVqG-.d.cts} +1 -1
- package/dist/{page-card-CO92oXkc.d.ts → page-card-HBn-cy4J.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-34JUCX2G.cjs.map +0 -1
- package/dist/chunk-3AIJKXBV.cjs.map +0 -1
- package/dist/chunk-53QY4PD3.js.map +0 -1
- package/dist/chunk-7Y4V3R3Y.cjs +0 -120
- package/dist/chunk-7Y4V3R3Y.cjs.map +0 -1
- package/dist/chunk-AXAY64KL.js.map +0 -1
- package/dist/chunk-D5XCQDFS.js +0 -92
- package/dist/chunk-D5XCQDFS.js.map +0 -1
- package/dist/chunk-GDHRYKVM.js.map +0 -1
- package/dist/chunk-HEYMLQOV.cjs.map +0 -1
- package/dist/chunk-IQHKJ4SS.js.map +0 -1
- package/dist/chunk-LLJR7FV3.js +0 -135
- package/dist/chunk-LLJR7FV3.js.map +0 -1
- package/dist/chunk-LZMCMZZF.js.map +0 -1
- package/dist/chunk-MKYVQQBV.cjs +0 -114
- package/dist/chunk-MKYVQQBV.cjs.map +0 -1
- package/dist/chunk-MQGQVI3W.cjs.map +0 -1
- package/dist/chunk-NEFZJHE4.cjs +0 -157
- package/dist/chunk-NEFZJHE4.cjs.map +0 -1
- package/dist/chunk-NEML6RCV.js.map +0 -1
- package/dist/chunk-OEVMKFFL.cjs.map +0 -1
- package/dist/chunk-P5XHPNJG.cjs.map +0 -1
- package/dist/chunk-QJ7UB2ZQ.js +0 -98
- package/dist/chunk-QJ7UB2ZQ.js.map +0 -1
- package/dist/chunk-RA5KZNG5.js.map +0 -1
- package/dist/chunk-SCGW2BH4.cjs.map +0 -1
- package/dist/chunk-YE477L2H.cjs.map +0 -1
- package/dist/chunk-ZZFNJR2E.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { S as SupportedLocale } from './utils-DlXWmDZ-.cjs';
|
|
2
2
|
export { c as cn, a as convertToLocalNumbers, e as formatAbsoluteTime, f as formatLargeNumber, b as formatNumber, d as formatRelativeTime } from './utils-DlXWmDZ-.cjs';
|
|
3
|
-
import { A as ActionStatusKey, a as ActionTypeKey, E as EntityHealthKey, J as JobStatusKey,
|
|
3
|
+
import { A as ActionStatusKey, a as ActionTypeKey, E as EntityHealthKey, J as JobStatusKey, b as EmotionKey, F as FlowKey, S as StageStatusKey, c as StatusKey, d as SeverityKey } from './i18n-CAd9wGOr.cjs';
|
|
4
4
|
export { p as ACTION_STATUS_KEYS, w as ACTION_TYPE_KEYS, f as EMOTION_KEYS, z as ENTITY_HEALTH_KEYS, h as FLOW_KEYS, m as JOB_STATUS_KEYS, L as Locale, u as STAGE_STATUS_KEYS, G as UIStringKeys, H as UIStrings, U as UI_STRINGS, q as actionStatusLabels, x as actionTypeLabels, y as actionTypeVerbs, g as emotionLabels, e as engagementUiTranslations, B as entityHealthLabels, C as entityHealthPriority, j as flowLabels, r as formatRelativeLocaleTime, t as formatTimeRemaining, I as getUIStrings, o as isActiveJobStatus, D as isCriticalEntityHealth, i as isRTL, n as jobStatusLabels, s as sentimentLabels, l as severityLabels, v as stageStatusLabels, k as statusLabels } from './i18n-CAd9wGOr.cjs';
|
|
5
5
|
import * as React$1 from 'react';
|
|
6
6
|
import { LucideIcon } from 'lucide-react';
|
|
@@ -45,8 +45,8 @@ export { IranProvinceCell, IranProvinceHeat, IranProvinceHeatProps, IranProvince
|
|
|
45
45
|
import { OTPInput } from 'input-otp';
|
|
46
46
|
import * as MenubarPrimitive from '@radix-ui/react-menubar';
|
|
47
47
|
import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
|
|
48
|
-
import { S as SocialPlatform } from './page-card-
|
|
49
|
-
export { f as BotDetectionData, e as BotDetectionKey, B as BotDetectionMeter, g as BotDetectionMeterProps, P as PageCard, a as PageCardContentMix, b as PageCardProps, c as SocialPlatformBadge, d as SocialPlatformBadgeProps, s as socialPlatformBadgeVariants } from './page-card-
|
|
48
|
+
import { S as SocialPlatform } from './page-card-CmShVqG-.cjs';
|
|
49
|
+
export { f as BotDetectionData, e as BotDetectionKey, B as BotDetectionMeter, g as BotDetectionMeterProps, P as PageCard, a as PageCardContentMix, b as PageCardProps, c as SocialPlatformBadge, d as SocialPlatformBadgeProps, s as socialPlatformBadgeVariants } from './page-card-CmShVqG-.cjs';
|
|
50
50
|
export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from './components/ui/popover.cjs';
|
|
51
51
|
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
52
52
|
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
@@ -941,6 +941,12 @@ interface PartoRadarChartProps {
|
|
|
941
941
|
className?: string;
|
|
942
942
|
isLoading?: boolean;
|
|
943
943
|
ariaLabel?: string;
|
|
944
|
+
/**
|
|
945
|
+
* Render a legend below the radar that names each series. Recommended when
|
|
946
|
+
* more than one Radar fill is drawn — overlapping color-only fills are
|
|
947
|
+
* unreadable for colorblind users (WCAG 1.4.1). @default `false`
|
|
948
|
+
*/
|
|
949
|
+
legend?: boolean;
|
|
944
950
|
}
|
|
945
951
|
declare const PartoRadarChart: React$1.ForwardRefExoticComponent<PartoRadarChartProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
946
952
|
|
|
@@ -2025,6 +2031,10 @@ interface TagInputProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'on
|
|
|
2025
2031
|
prefix?: string;
|
|
2026
2032
|
/** Locale for sr-only remove label @default "fa" */
|
|
2027
2033
|
locale?: SupportedLocale;
|
|
2034
|
+
/** Form `name` attribute forwarded to the inner `<input>` (for React Hook Form / native forms). */
|
|
2035
|
+
name?: string;
|
|
2036
|
+
/** HTML5 `required` attribute forwarded to the inner `<input>`. */
|
|
2037
|
+
required?: boolean;
|
|
2028
2038
|
}
|
|
2029
2039
|
declare const TagInput: React$1.ForwardRefExoticComponent<TagInputProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2030
2040
|
|
|
@@ -2538,7 +2548,7 @@ interface CountryPickerProps {
|
|
|
2538
2548
|
*/
|
|
2539
2549
|
declare const CountryPicker: React$1.ForwardRefExoticComponent<CountryPickerProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2540
2550
|
|
|
2541
|
-
declare function Menubar({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
2551
|
+
declare function Menubar({ className, dir, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
2542
2552
|
declare namespace Menubar {
|
|
2543
2553
|
var displayName: string;
|
|
2544
2554
|
}
|
|
@@ -2682,7 +2692,7 @@ declare namespace NativeSelectOptGroup {
|
|
|
2682
2692
|
var displayName: string;
|
|
2683
2693
|
}
|
|
2684
2694
|
|
|
2685
|
-
declare function NavigationMenu({ className, children, viewport, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
|
|
2695
|
+
declare function NavigationMenu({ className, children, viewport, dir, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
|
|
2686
2696
|
viewport?: boolean;
|
|
2687
2697
|
}): react_jsx_runtime.JSX.Element;
|
|
2688
2698
|
declare namespace NavigationMenu {
|
|
@@ -2867,6 +2877,15 @@ interface PartoHeatMapProps {
|
|
|
2867
2877
|
yAxisLabel?: string;
|
|
2868
2878
|
/** Filter which x-axis ticks to show */
|
|
2869
2879
|
xTickFilter?: (value: string | number, index: number) => boolean;
|
|
2880
|
+
/**
|
|
2881
|
+
* Render a continuous-gradient legend below the heatmap that maps the
|
|
2882
|
+
* color intensity to a [min, max] value range. The bar uses the same
|
|
2883
|
+
* `colorScale` the cells use, so the gradient matches the data exactly.
|
|
2884
|
+
* @default `false`
|
|
2885
|
+
*/
|
|
2886
|
+
legend?: boolean;
|
|
2887
|
+
/** Caption shown above the gradient bar when `legend` is on (e.g. "تراکم انتشار"). */
|
|
2888
|
+
legendCaption?: React$1.ReactNode;
|
|
2870
2889
|
}
|
|
2871
2890
|
declare const PartoHeatMap: React$1.ForwardRefExoticComponent<PartoHeatMapProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2872
2891
|
|
|
@@ -2929,64 +2948,162 @@ interface PostingFrequencyHeatmapProps extends Omit<React$1.HTMLAttributes<HTMLD
|
|
|
2929
2948
|
declare const PostingFrequencyHeatmap: React$1.ForwardRefExoticComponent<PostingFrequencyHeatmapProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2930
2949
|
|
|
2931
2950
|
/**
|
|
2932
|
-
*
|
|
2933
|
-
*
|
|
2934
|
-
*
|
|
2951
|
+
* The full set of sources a post can originate from in Parto's social-listening +
|
|
2952
|
+
* افکارسنجی pipeline. Extends `SocialPlatform` (7 social networks) with broadcast
|
|
2953
|
+
* (tv, radio) and editorial (press, web) sources.
|
|
2954
|
+
*/
|
|
2955
|
+
type PostSource = SocialPlatform | 'tv' | 'radio' | 'press' | 'web';
|
|
2956
|
+
/** High-level grouping that drives header layout and default metric ordering. */
|
|
2957
|
+
type PostSourceCategory = 'social' | 'broadcast' | 'editorial';
|
|
2958
|
+
/**
|
|
2959
|
+
* Derive the source category from a `PostSource` value.
|
|
2960
|
+
* Used internally by `<PostHeader>`, metric label helpers, and default-actions config.
|
|
2961
|
+
*/
|
|
2962
|
+
declare function sourceCategory(source: PostSource): PostSourceCategory;
|
|
2963
|
+
/**
|
|
2964
|
+
* @deprecated Use {@link PostSource} for new code. `PostPlatform` is retained with its
|
|
2965
|
+
* historical meaning (the 7 social networks only) so existing components that target
|
|
2966
|
+
* social-specific APIs (e.g. `<SocialPlatformBadge>`) keep their narrow contract.
|
|
2967
|
+
* `PostSource` is the expanded superset (adds tv / radio / press / web).
|
|
2935
2968
|
*/
|
|
2936
2969
|
type PostPlatform = SocialPlatform;
|
|
2970
|
+
/**
|
|
2971
|
+
* `view` is the canonical PostList render mode. `compact` and `comfortable` are the
|
|
2972
|
+
* pre-existing densities; `grid` is the new magazine/visual layout.
|
|
2973
|
+
*/
|
|
2974
|
+
type PostView = 'compact' | 'comfortable' | 'grid';
|
|
2975
|
+
/**
|
|
2976
|
+
* @deprecated Use {@link PostView} instead. `density` is the legacy two-value alias
|
|
2977
|
+
* (compact | comfortable) kept for backward compatibility with PostCard / PostList.
|
|
2978
|
+
*/
|
|
2937
2979
|
type PostDensity = 'compact' | 'comfortable';
|
|
2938
2980
|
type PostSentiment = 'positive' | 'negative' | 'neutral' | 'mixed';
|
|
2981
|
+
type PostEmotion = 'anger' | 'anticipation' | 'joy' | 'trust' | 'fear' | 'surprise' | 'sadness' | 'disgust' | 'neutral';
|
|
2982
|
+
/** Political flow classification — see CLAUDE.md domain concepts. */
|
|
2983
|
+
type PostFlow = 'pro-gov' | 'internal-critic' | 'internal-opponent' | 'external-opponent' | 'grey';
|
|
2984
|
+
type PostSeverity = 'low' | 'medium' | 'high' | 'critical';
|
|
2985
|
+
type PostStatus = 'normal' | 'warning' | 'critical';
|
|
2986
|
+
type PostAuthorityTier = 'nano' | 'micro' | 'macro' | 'mega';
|
|
2939
2987
|
interface PostAuthor {
|
|
2940
2988
|
name: string;
|
|
2941
2989
|
handle?: string;
|
|
2942
2990
|
avatarUrl?: string;
|
|
2943
2991
|
verified?: boolean;
|
|
2944
|
-
/** Optional follower / subscriber count
|
|
2992
|
+
/** Optional follower / subscriber count. */
|
|
2945
2993
|
followers?: number;
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
comments?: number;
|
|
2951
|
-
shares?: number;
|
|
2952
|
-
/** Estimated reach / potential audience. */
|
|
2953
|
-
reach?: number;
|
|
2954
|
-
/** Engagement rate as a 0..1 decimal (e.g. 0.034 = 3.4%). */
|
|
2955
|
-
engagementRate?: number;
|
|
2956
|
-
}
|
|
2957
|
-
interface PostTag {
|
|
2958
|
-
id: string;
|
|
2959
|
-
label: string;
|
|
2960
|
-
/** Optional CSS var (e.g. `--chart-1`) or hex color. Auto-assigned from label if omitted. */
|
|
2961
|
-
color?: string;
|
|
2994
|
+
/** Influence score 0..100 — used to render the authority chip on the card. */
|
|
2995
|
+
authorityScore?: number;
|
|
2996
|
+
/** Categorical author tier inferred from follower count + engagement. */
|
|
2997
|
+
authorityTier?: PostAuthorityTier;
|
|
2962
2998
|
}
|
|
2963
2999
|
/**
|
|
2964
|
-
*
|
|
2965
|
-
*
|
|
3000
|
+
* Editorial / broadcast actor. Used when the post originates from press, web, tv, radio
|
|
3001
|
+
* instead of an individual social-platform account.
|
|
2966
3002
|
*/
|
|
2967
|
-
interface
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
3003
|
+
interface PostOutlet {
|
|
3004
|
+
name: string;
|
|
3005
|
+
logoUrl?: string;
|
|
3006
|
+
/** Editorial only: web domain ("hamshahrionline.ir"). */
|
|
3007
|
+
domain?: string;
|
|
3008
|
+
/** Editorial only: 0..100 SEO/credibility signal. */
|
|
3009
|
+
domainAuthority?: number;
|
|
3010
|
+
/** Broadcast only: TV channel or radio station ("شبکه ۱", "رادیو پیام"). */
|
|
3011
|
+
channel?: string;
|
|
3012
|
+
/** Broadcast only: program / show name. */
|
|
3013
|
+
program?: string;
|
|
3014
|
+
/** Editorial only: byline / journalist name. */
|
|
3015
|
+
reporterName?: string;
|
|
2972
3016
|
}
|
|
3017
|
+
/**
|
|
3018
|
+
* Per-item ingestion status. Drives how `<PostMedia>` renders each item:
|
|
3019
|
+
* - `ready`: image/video/audio is downloaded and viewable.
|
|
3020
|
+
* - `loading`: the panel is fetching the media right now — render a shimmer.
|
|
3021
|
+
* - `failed`: download failed — render retry placeholder.
|
|
3022
|
+
* - `unavailable`: source has media but we never captured it — render "ذخیره نشده" placeholder.
|
|
3023
|
+
*/
|
|
3024
|
+
type PostMediaStatus = 'ready' | 'loading' | 'failed' | 'unavailable';
|
|
3025
|
+
/** Sensitive-content classifications. Used at media-level and post-level. */
|
|
3026
|
+
type PostMediaSensitivity = 'nsfw' | 'graphic' | 'spoiler';
|
|
2973
3027
|
interface PostMediaItem {
|
|
2974
3028
|
url: string;
|
|
2975
3029
|
thumbnailUrl?: string;
|
|
2976
|
-
/** Natural aspect ratio (width / height).
|
|
3030
|
+
/** Natural aspect ratio (width / height). Defaults to 1. */
|
|
2977
3031
|
aspectRatio?: number;
|
|
2978
3032
|
alt?: string;
|
|
2979
|
-
type?: 'image' | 'video';
|
|
2980
|
-
/** Duration in seconds for video. */
|
|
3033
|
+
type?: 'image' | 'video' | 'audio';
|
|
3034
|
+
/** Duration in seconds for video / audio. */
|
|
2981
3035
|
duration?: number;
|
|
3036
|
+
/** Ingestion status. Defaults to 'ready'. */
|
|
3037
|
+
status?: PostMediaStatus;
|
|
3038
|
+
/** Sensitivity tag — if set, the renderer blurs the media until revealed. */
|
|
3039
|
+
sensitivity?: PostMediaSensitivity;
|
|
3040
|
+
/** Audio only: URL of a waveform peaks file or a pre-rendered SVG / inline data URI. */
|
|
3041
|
+
waveformUrl?: string;
|
|
3042
|
+
}
|
|
3043
|
+
/** Open Graph–style URL preview embedded inside a text body. */
|
|
3044
|
+
interface PostUrlPreview {
|
|
3045
|
+
url: string;
|
|
3046
|
+
domain: string;
|
|
3047
|
+
title?: string;
|
|
3048
|
+
description?: string;
|
|
3049
|
+
thumbnailUrl?: string;
|
|
2982
3050
|
}
|
|
3051
|
+
/**
|
|
3052
|
+
* Sticker overlays found on Instagram stories (mentions, polls, location, music, etc.).
|
|
3053
|
+
* Captured to preserve story context after crawling. Coordinates are normalized 0..1.
|
|
3054
|
+
*/
|
|
3055
|
+
interface StoryStickerOverlay {
|
|
3056
|
+
/** Type of sticker — drives the icon and label in `<PostMediaStory>`. */
|
|
3057
|
+
type: 'mention' | 'location' | 'hashtag' | 'music' | 'poll' | 'question' | 'time' | 'link' | 'other';
|
|
3058
|
+
/** Human-readable label (e.g. "@digikala", "Tehran", "#خرید_آنلاین"). */
|
|
3059
|
+
label: string;
|
|
3060
|
+
/** Optional secondary text — for polls/questions, the question text. */
|
|
3061
|
+
secondaryText?: string;
|
|
3062
|
+
/** Normalized x/y position on the story canvas (0..1). */
|
|
3063
|
+
x?: number;
|
|
3064
|
+
y?: number;
|
|
3065
|
+
}
|
|
3066
|
+
/** Per-story metadata extracted at crawl time. */
|
|
3067
|
+
interface StoryItem {
|
|
3068
|
+
/** The captured media (image or video). */
|
|
3069
|
+
media: PostMediaItem;
|
|
3070
|
+
/** OCR-extracted text from the story canvas (visible Persian/English text). */
|
|
3071
|
+
ocrText?: string;
|
|
3072
|
+
/** Transcript for video stories. */
|
|
3073
|
+
transcript?: string;
|
|
3074
|
+
/** Story sticker overlays (mentions, polls, location, etc.). */
|
|
3075
|
+
stickers?: StoryStickerOverlay[];
|
|
3076
|
+
/** Story publication time — distinct from the post wrapper's timestamp. */
|
|
3077
|
+
publishedAt?: Date | string | number;
|
|
3078
|
+
/** Outbound "swipe up" / link sticker URL. */
|
|
3079
|
+
swipeUpUrl?: string;
|
|
3080
|
+
/** Story view count (Stories use viewers, not likes). */
|
|
3081
|
+
viewCount?: number;
|
|
3082
|
+
}
|
|
3083
|
+
/**
|
|
3084
|
+
* Discriminated union of body shapes. The renderer in `<PostBody>` switches on `type`.
|
|
3085
|
+
*
|
|
3086
|
+
* Story-related variants:
|
|
3087
|
+
* - `story` — single ephemeral story (9:16, OCR text overlay, optional swipe-up link)
|
|
3088
|
+
* - `highlight` — saved-story collection under a titled cover; renders as a strip of stories
|
|
3089
|
+
* Other social media coverage:
|
|
3090
|
+
* - `media-grid`, `media-carousel`, `video`, `audio`, `text` — generic
|
|
3091
|
+
* Failure states:
|
|
3092
|
+
* - `missing-media`, `source-removed`
|
|
3093
|
+
*/
|
|
2983
3094
|
type PostBodyData = {
|
|
2984
3095
|
type: 'text';
|
|
2985
3096
|
text: string;
|
|
3097
|
+
urlPreview?: PostUrlPreview;
|
|
2986
3098
|
} | {
|
|
2987
3099
|
type: 'media-single';
|
|
2988
3100
|
media: PostMediaItem;
|
|
2989
3101
|
caption?: string;
|
|
3102
|
+
urlPreview?: PostUrlPreview;
|
|
3103
|
+
} | {
|
|
3104
|
+
type: 'media-grid';
|
|
3105
|
+
items: PostMediaItem[];
|
|
3106
|
+
caption?: string;
|
|
2990
3107
|
} | {
|
|
2991
3108
|
type: 'media-carousel';
|
|
2992
3109
|
items: PostMediaItem[];
|
|
@@ -2995,85 +3112,141 @@ type PostBodyData = {
|
|
|
2995
3112
|
type: 'video';
|
|
2996
3113
|
media: PostMediaItem;
|
|
2997
3114
|
caption?: string;
|
|
3115
|
+
} | {
|
|
3116
|
+
type: 'audio';
|
|
3117
|
+
media: PostMediaItem;
|
|
3118
|
+
caption?: string;
|
|
3119
|
+
} | {
|
|
3120
|
+
type: 'story';
|
|
3121
|
+
story: StoryItem;
|
|
3122
|
+
caption?: string;
|
|
3123
|
+
} | {
|
|
3124
|
+
type: 'highlight';
|
|
3125
|
+
title: string;
|
|
3126
|
+
coverUrl?: string;
|
|
3127
|
+
stories: StoryItem[];
|
|
3128
|
+
caption?: string;
|
|
2998
3129
|
} | {
|
|
2999
3130
|
type: 'missing-media';
|
|
3000
3131
|
caption?: string;
|
|
3001
3132
|
reason?: string;
|
|
3133
|
+
} | {
|
|
3134
|
+
type: 'source-removed';
|
|
3135
|
+
archivedAt?: Date | string | number;
|
|
3136
|
+
archiveUrl?: string;
|
|
3137
|
+
caption?: string;
|
|
3002
3138
|
};
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
/**
|
|
3014
|
-
|
|
3015
|
-
/**
|
|
3016
|
-
|
|
3017
|
-
/**
|
|
3018
|
-
|
|
3019
|
-
/**
|
|
3020
|
-
|
|
3139
|
+
/**
|
|
3140
|
+
* Unified metric envelope. Labels are platform-aware via `getMetricLabel(source, key, locale)`;
|
|
3141
|
+
* the same `views` field is rendered as "بازدید" (Instagram/YouTube), "تماشا" (TikTok),
|
|
3142
|
+
* "نمایش" (X), "بیننده" (TV), "شنونده" (Radio) depending on the post's source.
|
|
3143
|
+
*/
|
|
3144
|
+
interface PostMetrics {
|
|
3145
|
+
/** Generic "consumption" metric — viewers / impressions / plays / page-views. */
|
|
3146
|
+
views?: number;
|
|
3147
|
+
likes?: number;
|
|
3148
|
+
comments?: number;
|
|
3149
|
+
/** Generic share count. */
|
|
3150
|
+
shares?: number;
|
|
3151
|
+
/** Reposts: X retweets, Threads reposts, Telegram forwards. */
|
|
3152
|
+
reposts?: number;
|
|
3153
|
+
/** Quote-with-comment: X quote-tweets, Threads quotes. */
|
|
3154
|
+
quotes?: number;
|
|
3155
|
+
/** Saves/bookmarks: IG, TikTok, LinkedIn. */
|
|
3156
|
+
saves?: number;
|
|
3157
|
+
/** Estimated reach / potential audience. */
|
|
3158
|
+
reach?: number;
|
|
3159
|
+
/** Engagement rate as 0..1 decimal (e.g. 0.034 = 3.4%). */
|
|
3160
|
+
engagementRate?: number;
|
|
3161
|
+
/** Broadcast: TV viewers / Radio listeners. Editorial: readers. One field, label per source. */
|
|
3162
|
+
audience?: number;
|
|
3163
|
+
/** Editorial: actual page-views distinct from `views`. */
|
|
3164
|
+
reads?: number;
|
|
3165
|
+
/** Editorial: SEO domain authority signal — also surfaced via `PostOutlet.domainAuthority`. */
|
|
3166
|
+
domainAuthority?: number;
|
|
3167
|
+
/** Reaction breakdown (Telegram emoji, LinkedIn 7-type, Facebook-style). */
|
|
3168
|
+
reactions?: ReactionBreakdown;
|
|
3021
3169
|
}
|
|
3022
|
-
|
|
3170
|
+
/**
|
|
3171
|
+
* Typed reaction breakdown. Sparse — only platforms that emit a given reaction fill it.
|
|
3172
|
+
* LinkedIn fills like/celebrate/support/love/insightful/funny.
|
|
3173
|
+
* Facebook fills like/love/care/haha/wow/sad/angry.
|
|
3174
|
+
* Telegram fills `emoji` with the raw map.
|
|
3175
|
+
*/
|
|
3176
|
+
interface ReactionBreakdown {
|
|
3177
|
+
like?: number;
|
|
3178
|
+
love?: number;
|
|
3179
|
+
celebrate?: number;
|
|
3180
|
+
support?: number;
|
|
3181
|
+
insightful?: number;
|
|
3182
|
+
funny?: number;
|
|
3183
|
+
/** Facebook-only — empathy reaction. */
|
|
3184
|
+
care?: number;
|
|
3185
|
+
/** Facebook-only — laughing reaction. */
|
|
3186
|
+
haha?: number;
|
|
3187
|
+
/** Facebook-only — surprised reaction. */
|
|
3188
|
+
wow?: number;
|
|
3189
|
+
/** Facebook-only — sad reaction. */
|
|
3190
|
+
sad?: number;
|
|
3191
|
+
/** Facebook-only — anger reaction. */
|
|
3192
|
+
angry?: number;
|
|
3193
|
+
/** Raw emoji → count map (Telegram channel reactions). */
|
|
3194
|
+
emoji?: Record<string, number>;
|
|
3195
|
+
}
|
|
3196
|
+
interface PostTag {
|
|
3023
3197
|
id: string;
|
|
3024
3198
|
label: string;
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
onClick: (post: PostData) => void;
|
|
3028
|
-
disabled?: boolean;
|
|
3029
|
-
hidden?: boolean;
|
|
3199
|
+
/** Optional CSS var (e.g. `--chart-1`) or hex color. Auto-assigned from label if omitted. */
|
|
3200
|
+
color?: string;
|
|
3030
3201
|
}
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3202
|
+
/**
|
|
3203
|
+
* Flags indicate which enrichments the product has attached to this post.
|
|
3204
|
+
* Consumers set these to show the matching chip in `<PostHeader>`.
|
|
3205
|
+
*/
|
|
3206
|
+
interface PostEnrichmentFlags {
|
|
3207
|
+
ocr?: boolean;
|
|
3208
|
+
transcript?: boolean;
|
|
3209
|
+
aiAnalysis?: boolean;
|
|
3210
|
+
commentCount?: number;
|
|
3036
3211
|
}
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
timestamp: Date | string | number;
|
|
3042
|
-
sentiment?: PostSentiment;
|
|
3043
|
-
likes?: number;
|
|
3044
|
-
replies?: PostComment[];
|
|
3045
|
-
/** Pinned by post author (Instagram, YouTube). */
|
|
3212
|
+
/**
|
|
3213
|
+
* Contextual flags surfaced as chips or banners on the card. Independent of media-level status.
|
|
3214
|
+
*/
|
|
3215
|
+
interface PostFlags {
|
|
3046
3216
|
pinned?: boolean;
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3217
|
+
edited?: boolean;
|
|
3218
|
+
/** Optional edit count, surfaced in tooltip. */
|
|
3219
|
+
editCount?: number;
|
|
3220
|
+
sponsored?: boolean;
|
|
3221
|
+
/** Post was deleted at source after we ingested it. */
|
|
3222
|
+
deletedAtSource?: boolean;
|
|
3223
|
+
/** Snapshot URL to our archived copy. */
|
|
3224
|
+
archivedSnapshotUrl?: string;
|
|
3225
|
+
/** Post-level sensitivity (distinct from per-media `sensitivity`). */
|
|
3226
|
+
sensitive?: PostMediaSensitivity;
|
|
3227
|
+
}
|
|
3228
|
+
/** Cluster / topic membership — links the post to a parent analytical grouping. */
|
|
3229
|
+
interface PostCluster {
|
|
3230
|
+
id: string;
|
|
3231
|
+
label: string;
|
|
3232
|
+
tone?: 'brand' | 'neutral' | 'warning';
|
|
3233
|
+
}
|
|
3234
|
+
/** "X reposted at Y" wrapper info. */
|
|
3235
|
+
interface PostRepostInfo {
|
|
3236
|
+
by: PostAuthor;
|
|
3237
|
+
at: Date | string | number;
|
|
3238
|
+
/** Optional retweet-with-comment / Telegram forward note. */
|
|
3239
|
+
comment?: string;
|
|
3240
|
+
}
|
|
3241
|
+
/** Position info when a post belongs to a multi-post thread. */
|
|
3242
|
+
interface PostThreadInfo {
|
|
3243
|
+
threadId: string;
|
|
3244
|
+
/** 1-indexed position in the thread. */
|
|
3245
|
+
position: number;
|
|
3246
|
+
total: number;
|
|
3247
|
+
/** Optional id of the next thread post — used to draw the connector to the next visible card. */
|
|
3248
|
+
nextId?: string;
|
|
3075
3249
|
}
|
|
3076
|
-
/** Platform-specific metadata, discriminated by `platform` (matches `PostData.source`). */
|
|
3077
3250
|
type PlatformMetadata = {
|
|
3078
3251
|
platform: 'instagram';
|
|
3079
3252
|
postType?: 'feed' | 'reel' | 'story' | 'carousel' | 'igtv';
|
|
@@ -3084,7 +3257,6 @@ type PlatformMetadata = {
|
|
|
3084
3257
|
};
|
|
3085
3258
|
saveCount?: number;
|
|
3086
3259
|
collaborators?: string[];
|
|
3087
|
-
/** Hashtags used in the post. */
|
|
3088
3260
|
hashtags?: string[];
|
|
3089
3261
|
} | {
|
|
3090
3262
|
platform: 'twitter';
|
|
@@ -3095,7 +3267,6 @@ type PlatformMetadata = {
|
|
|
3095
3267
|
quoteCount?: number;
|
|
3096
3268
|
bookmarkCount?: number;
|
|
3097
3269
|
isThread?: boolean;
|
|
3098
|
-
/** Count of additional posts in the thread. */
|
|
3099
3270
|
threadLength?: number;
|
|
3100
3271
|
} | {
|
|
3101
3272
|
platform: 'youtube';
|
|
@@ -3140,7 +3311,184 @@ type PlatformMetadata = {
|
|
|
3140
3311
|
replyControls?: 'anyone' | 'followed' | 'mentioned';
|
|
3141
3312
|
repostCount?: number;
|
|
3142
3313
|
quoteCount?: number;
|
|
3314
|
+
} | {
|
|
3315
|
+
platform: 'facebook';
|
|
3316
|
+
postType?: 'post' | 'photo' | 'video' | 'reel' | 'story' | 'event' | 'shared';
|
|
3317
|
+
reactions?: {
|
|
3318
|
+
like?: number;
|
|
3319
|
+
love?: number;
|
|
3320
|
+
care?: number;
|
|
3321
|
+
haha?: number;
|
|
3322
|
+
wow?: number;
|
|
3323
|
+
sad?: number;
|
|
3324
|
+
angry?: number;
|
|
3325
|
+
};
|
|
3326
|
+
shareCount?: number;
|
|
3327
|
+
/** Page name if posted on behalf of a page (vs personal profile). */
|
|
3328
|
+
pageName?: string;
|
|
3329
|
+
pageFollowers?: number;
|
|
3330
|
+
} | {
|
|
3331
|
+
platform: 'tv';
|
|
3332
|
+
airDate?: Date | string | number;
|
|
3333
|
+
durationSec?: number;
|
|
3334
|
+
programType?: 'news' | 'talk-show' | 'documentary' | 'interview' | 'live' | 'other';
|
|
3335
|
+
viewers?: number;
|
|
3336
|
+
replays?: number;
|
|
3337
|
+
} | {
|
|
3338
|
+
platform: 'radio';
|
|
3339
|
+
airDate?: Date | string | number;
|
|
3340
|
+
durationSec?: number;
|
|
3341
|
+
programType?: 'news' | 'talk-show' | 'music' | 'interview' | 'live' | 'other';
|
|
3342
|
+
listeners?: number;
|
|
3343
|
+
} | {
|
|
3344
|
+
platform: 'press';
|
|
3345
|
+
printedAt?: Date | string | number;
|
|
3346
|
+
/** Print edition: issue / page reference. */
|
|
3347
|
+
issue?: string;
|
|
3348
|
+
pageNumber?: number;
|
|
3349
|
+
/** Optional AVE (Ad Value Equivalent) — common press metric. */
|
|
3350
|
+
adValueEquivalent?: number;
|
|
3351
|
+
hashtags?: string[];
|
|
3352
|
+
} | {
|
|
3353
|
+
platform: 'web';
|
|
3354
|
+
contentType?: 'blog' | 'forum' | 'news' | 'review' | 'comment' | 'other';
|
|
3355
|
+
/** Reference to a parent thread / discussion if part of one. */
|
|
3356
|
+
threadUrl?: string;
|
|
3357
|
+
hashtags?: string[];
|
|
3143
3358
|
};
|
|
3359
|
+
interface PostData {
|
|
3360
|
+
id: string;
|
|
3361
|
+
/**
|
|
3362
|
+
* Source platform — full 11-source taxonomy (social + broadcast + editorial).
|
|
3363
|
+
* Header layout and metric labels dispatch on this value via `sourceCategory(source)`.
|
|
3364
|
+
*/
|
|
3365
|
+
source: PostSource;
|
|
3366
|
+
/** Headline (editorial), program/segment (broadcast), video title (YouTube). */
|
|
3367
|
+
title?: string;
|
|
3368
|
+
/** Present for social posts; optional for editorial/broadcast where `outlet` is the actor. */
|
|
3369
|
+
author?: PostAuthor;
|
|
3370
|
+
/** Editorial/broadcast outlet — used for press, web, tv, radio header variants. */
|
|
3371
|
+
outlet?: PostOutlet;
|
|
3372
|
+
body: PostBodyData;
|
|
3373
|
+
/** Post creation / publish / air time. Accepts Date, ISO string, or unix ms. */
|
|
3374
|
+
timestamp: Date | string | number;
|
|
3375
|
+
metrics?: PostMetrics;
|
|
3376
|
+
sentiment?: PostSentiment;
|
|
3377
|
+
/** Dominant emotion (9-class) — surfaced as a chip on the card. */
|
|
3378
|
+
emotion?: PostEmotion;
|
|
3379
|
+
/** Political flow classification — surfaced as a chip on the card. */
|
|
3380
|
+
flow?: PostFlow;
|
|
3381
|
+
severity?: PostSeverity;
|
|
3382
|
+
enrichments?: PostEnrichmentFlags;
|
|
3383
|
+
flags?: PostFlags;
|
|
3384
|
+
cluster?: PostCluster;
|
|
3385
|
+
/** User-defined category tags. */
|
|
3386
|
+
tags?: PostTag[];
|
|
3387
|
+
/** @deprecated Use `author.authorityScore` instead. Kept for backward compat. */
|
|
3388
|
+
authorityScore?: number;
|
|
3389
|
+
/** ISO language code detected for the post. */
|
|
3390
|
+
language?: string;
|
|
3391
|
+
/** URL to the post at the source platform. */
|
|
3392
|
+
sourceUrl?: string;
|
|
3393
|
+
/** Quoted/embedded post (X quote-tweets, Threads quotes, Telegram forwards-with-comment). */
|
|
3394
|
+
quoted?: PostData;
|
|
3395
|
+
/** Parent post when this is a reply. */
|
|
3396
|
+
parent?: PostData;
|
|
3397
|
+
/** Repost wrapper info — when present, render "X reposted" header strip above the card. */
|
|
3398
|
+
reposted?: PostRepostInfo;
|
|
3399
|
+
/** Thread position info — when present, draw the thread-connector hairline. */
|
|
3400
|
+
thread?: PostThreadInfo;
|
|
3401
|
+
/** Platform-specific metadata block (discriminated by source). */
|
|
3402
|
+
platformMeta?: PlatformMetadata;
|
|
3403
|
+
}
|
|
3404
|
+
interface PostAction {
|
|
3405
|
+
id: string;
|
|
3406
|
+
label: string;
|
|
3407
|
+
icon: LucideIcon;
|
|
3408
|
+
variant?: 'default' | 'danger';
|
|
3409
|
+
onClick: (post: PostData) => void;
|
|
3410
|
+
disabled?: boolean;
|
|
3411
|
+
hidden?: boolean;
|
|
3412
|
+
}
|
|
3413
|
+
/** Bulk action surfaced in the floating bottom bar when posts are selected. */
|
|
3414
|
+
interface PostBulkAction {
|
|
3415
|
+
id: string;
|
|
3416
|
+
label: string;
|
|
3417
|
+
icon: LucideIcon;
|
|
3418
|
+
variant?: 'default' | 'danger' | 'brand';
|
|
3419
|
+
/** Optional sub-options — rendered as dropdown menu when present. */
|
|
3420
|
+
options?: Array<{
|
|
3421
|
+
id: string;
|
|
3422
|
+
label: string;
|
|
3423
|
+
icon?: LucideIcon;
|
|
3424
|
+
}>;
|
|
3425
|
+
onClick: (selectedIds: string[], optionId?: string) => void;
|
|
3426
|
+
disabled?: boolean;
|
|
3427
|
+
hidden?: boolean;
|
|
3428
|
+
}
|
|
3429
|
+
interface PostCommentAuthor {
|
|
3430
|
+
name: string;
|
|
3431
|
+
handle?: string;
|
|
3432
|
+
avatarUrl?: string;
|
|
3433
|
+
verified?: boolean;
|
|
3434
|
+
/** Optional badge: "Moderator", "Subscriber", "Author", etc. — surfaced as a chip next to the name. */
|
|
3435
|
+
badge?: string;
|
|
3436
|
+
}
|
|
3437
|
+
interface PostComment {
|
|
3438
|
+
id: string;
|
|
3439
|
+
author: PostCommentAuthor;
|
|
3440
|
+
text: string;
|
|
3441
|
+
timestamp: Date | string | number;
|
|
3442
|
+
sentiment?: PostSentiment;
|
|
3443
|
+
likes?: number;
|
|
3444
|
+
replies?: PostComment[];
|
|
3445
|
+
/**
|
|
3446
|
+
* Total reply count (may exceed `replies.length` if pagination caps the nested
|
|
3447
|
+
* replies). Drives the "نمایش ۲۳ پاسخ" affordance.
|
|
3448
|
+
*/
|
|
3449
|
+
replyCount?: number;
|
|
3450
|
+
/** Pinned by post author (Instagram, YouTube). */
|
|
3451
|
+
pinned?: boolean;
|
|
3452
|
+
/** Indicates this is a reply from the original post author. */
|
|
3453
|
+
authorReply?: boolean;
|
|
3454
|
+
/** Comment was edited at source — show ویرایششده chip. */
|
|
3455
|
+
edited?: boolean;
|
|
3456
|
+
/** ISO language code; enables translation toggle when different from current locale. */
|
|
3457
|
+
language?: string;
|
|
3458
|
+
/** Hidden by source moderator / shadow-banned. */
|
|
3459
|
+
hiddenByModerator?: boolean;
|
|
3460
|
+
/** Typed reaction breakdown (Facebook 7-type, LinkedIn 7-type, YouTube hearts, etc.). */
|
|
3461
|
+
reactions?: ReactionBreakdown;
|
|
3462
|
+
/** AI-detected toxicity / hate-speech / spam score (0..1). Surfaces a flag chip when set. */
|
|
3463
|
+
toxicityScore?: number;
|
|
3464
|
+
/** Pre-translated body (if cached). */
|
|
3465
|
+
translatedText?: string;
|
|
3466
|
+
}
|
|
3467
|
+
type PostIntent = 'complaint' | 'praise' | 'question' | 'announcement' | 'comparison' | 'opinion' | 'info';
|
|
3468
|
+
interface PostAiEntity {
|
|
3469
|
+
text: string;
|
|
3470
|
+
type: 'person' | 'brand' | 'place' | 'product' | 'event' | 'organization';
|
|
3471
|
+
}
|
|
3472
|
+
interface PostAiAnalysis {
|
|
3473
|
+
/** Auto-generated summary of the post. */
|
|
3474
|
+
summary?: string;
|
|
3475
|
+
/** Key topics mentioned in the post. */
|
|
3476
|
+
topics?: string[];
|
|
3477
|
+
/** Named entities detected. */
|
|
3478
|
+
entities?: PostAiEntity[];
|
|
3479
|
+
/** Primary intent classification. */
|
|
3480
|
+
intent?: PostIntent;
|
|
3481
|
+
/** 9-class emotion distribution (raw counts or normalized). */
|
|
3482
|
+
emotions?: Partial<Record<PostEmotion, number>>;
|
|
3483
|
+
/** Flagged risks / sensitive content categories. */
|
|
3484
|
+
risks?: string[];
|
|
3485
|
+
/** Influence tier estimate for the author. */
|
|
3486
|
+
influenceTier?: PostAuthorityTier;
|
|
3487
|
+
/** Model confidence 0..1 for overall analysis. */
|
|
3488
|
+
confidence?: number;
|
|
3489
|
+
/** Analysis generation timestamp. */
|
|
3490
|
+
generatedAt?: Date | string | number;
|
|
3491
|
+
}
|
|
3144
3492
|
/** Extended post details — optionally attached to PostData when fetching full view. */
|
|
3145
3493
|
interface PostDetails {
|
|
3146
3494
|
comments?: PostComment[];
|
|
@@ -3153,25 +3501,34 @@ interface PostDetails {
|
|
|
3153
3501
|
platformMeta?: PlatformMetadata;
|
|
3154
3502
|
}
|
|
3155
3503
|
|
|
3504
|
+
declare function defaultActions(handlers?: {
|
|
3505
|
+
onOpenDetails?: (post: PostData) => void;
|
|
3506
|
+
}): PostAction[];
|
|
3156
3507
|
declare const postCardVariants: (props?: ({
|
|
3157
|
-
|
|
3508
|
+
view?: "grid" | "compact" | "comfortable" | null | undefined;
|
|
3158
3509
|
selected?: boolean | null | undefined;
|
|
3510
|
+
active?: boolean | null | undefined;
|
|
3159
3511
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
3160
3512
|
interface PostCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onSelect'>, VariantProps<typeof postCardVariants> {
|
|
3161
3513
|
post: PostData;
|
|
3514
|
+
/** Layout mode. Replaces the legacy `density` prop. */
|
|
3515
|
+
view?: PostView;
|
|
3516
|
+
/** @deprecated Use `view` instead. */
|
|
3162
3517
|
density?: PostDensity;
|
|
3163
3518
|
selected?: boolean;
|
|
3519
|
+
/** True when the card represents the post currently open in the details drawer. */
|
|
3520
|
+
active?: boolean;
|
|
3164
3521
|
read?: boolean;
|
|
3165
3522
|
actions?: PostAction[];
|
|
3523
|
+
selectable?: boolean;
|
|
3166
3524
|
onOpen?: (post: PostData) => void;
|
|
3167
3525
|
onSelect?: (post: PostData, selected: boolean) => void;
|
|
3168
|
-
selectable?: boolean;
|
|
3169
|
-
/** Fired when user clicks the details action (Maximize2 icon). Wires up the default details action. */
|
|
3170
3526
|
onOpenDetails?: (post: PostData) => void;
|
|
3527
|
+
onOpenQuoted?: (post: PostData) => void;
|
|
3528
|
+
onRetryMedia?: (item: PostMediaItem) => void;
|
|
3529
|
+
onClusterClick?: (cluster: NonNullable<PostData['cluster']>) => void;
|
|
3530
|
+
onAuthorClick?: (authorId: string | undefined) => void;
|
|
3171
3531
|
}
|
|
3172
|
-
declare function defaultActions(handlers?: {
|
|
3173
|
-
onOpenDetails?: (post: PostData) => void;
|
|
3174
|
-
}): PostAction[];
|
|
3175
3532
|
declare const PostCard: React$1.ForwardRefExoticComponent<PostCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3176
3533
|
|
|
3177
3534
|
declare const postHeaderVariants: (props?: ({
|
|
@@ -3189,6 +3546,25 @@ interface PostHeaderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, '
|
|
|
3189
3546
|
}
|
|
3190
3547
|
declare const PostHeader: React$1.ForwardRefExoticComponent<PostHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3191
3548
|
|
|
3549
|
+
interface PostHeaderBroadcastProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3550
|
+
source: 'tv' | 'radio';
|
|
3551
|
+
outlet: PostOutlet;
|
|
3552
|
+
timestamp: Date | string | number;
|
|
3553
|
+
enrichments?: PostEnrichmentFlags;
|
|
3554
|
+
density?: PostDensity;
|
|
3555
|
+
}
|
|
3556
|
+
declare const PostHeaderBroadcast: React$1.ForwardRefExoticComponent<PostHeaderBroadcastProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3557
|
+
interface PostHeaderEditorialProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3558
|
+
source: 'press' | 'web';
|
|
3559
|
+
outlet: PostOutlet;
|
|
3560
|
+
timestamp: Date | string | number;
|
|
3561
|
+
enrichments?: PostEnrichmentFlags;
|
|
3562
|
+
density?: PostDensity;
|
|
3563
|
+
/** Optional author byline (for press articles authored by an individual journalist). */
|
|
3564
|
+
byline?: PostAuthor;
|
|
3565
|
+
}
|
|
3566
|
+
declare const PostHeaderEditorial: React$1.ForwardRefExoticComponent<PostHeaderEditorialProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3567
|
+
|
|
3192
3568
|
/**
|
|
3193
3569
|
* Aspect-ratio helpers for post media.
|
|
3194
3570
|
*
|
|
@@ -3215,6 +3591,98 @@ interface PostBodyProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
3215
3591
|
}
|
|
3216
3592
|
declare const PostBody: React$1.ForwardRefExoticComponent<PostBodyProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3217
3593
|
|
|
3594
|
+
/**
|
|
3595
|
+
* Rule: never vertically center an `<img>` with `mx-auto` + `h-full`. `<img>` is
|
|
3596
|
+
* `display: inline` by default so `mx-auto` is a no-op and the image rests on the
|
|
3597
|
+
* text baseline. Use the centered-container pattern below.
|
|
3598
|
+
*/
|
|
3599
|
+
declare const CENTERED_CONTAINER_CLS = "relative w-full overflow-hidden rounded-md bg-muted flex items-center justify-center";
|
|
3600
|
+
/**
|
|
3601
|
+
* Foreground image classes. `block` removes the baseline inline behavior;
|
|
3602
|
+
* `max-*` + `w-auto h-auto` + `object-contain` fit naturally inside the container.
|
|
3603
|
+
*/
|
|
3604
|
+
declare const FOREGROUND_IMG_CLS = "relative block max-h-full max-w-full w-auto h-auto object-contain";
|
|
3605
|
+
declare const BlurBackdrop: React$1.FC<{
|
|
3606
|
+
src?: string;
|
|
3607
|
+
}>;
|
|
3608
|
+
type PostMediaPlaceholderVariant = 'loading' | 'failed' | 'unavailable';
|
|
3609
|
+
interface PostMediaPlaceholderProps {
|
|
3610
|
+
variant: PostMediaPlaceholderVariant;
|
|
3611
|
+
/** Optional reason / human note. */
|
|
3612
|
+
reason?: string;
|
|
3613
|
+
/** CSS aspect ratio for the placeholder box (e.g. `"4 / 5"`). Defaults to `"4 / 5"`. */
|
|
3614
|
+
aspectRatio?: string;
|
|
3615
|
+
/** Optional cap. */
|
|
3616
|
+
maxHeight?: string;
|
|
3617
|
+
/** Retry handler — only rendered when `variant === 'failed'`. */
|
|
3618
|
+
onRetry?: () => void;
|
|
3619
|
+
className?: string;
|
|
3620
|
+
}
|
|
3621
|
+
declare const PostMediaPlaceholder: React$1.ForwardRefExoticComponent<PostMediaPlaceholderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3622
|
+
interface PostMediaSourceRemovedProps {
|
|
3623
|
+
/** Optional URL to our archive snapshot. */
|
|
3624
|
+
archiveUrl?: string;
|
|
3625
|
+
/** Optional date the snapshot was taken. */
|
|
3626
|
+
archivedAt?: Date | string | number;
|
|
3627
|
+
className?: string;
|
|
3628
|
+
}
|
|
3629
|
+
declare const PostMediaSourceRemoved: React$1.ForwardRefExoticComponent<PostMediaSourceRemovedProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3630
|
+
declare const SENSITIVITY_LABEL: Record<string, string>;
|
|
3631
|
+
declare const PostMediaSensitiveOverlay: React$1.FC<{
|
|
3632
|
+
sensitivity: NonNullable<PostMediaItem['sensitivity']>;
|
|
3633
|
+
onReveal: () => void;
|
|
3634
|
+
}>;
|
|
3635
|
+
declare const PostMediaSingle: React$1.FC<{
|
|
3636
|
+
item: PostMediaItem;
|
|
3637
|
+
context: AspectContext;
|
|
3638
|
+
onRetry?: (item: PostMediaItem) => void;
|
|
3639
|
+
className?: string;
|
|
3640
|
+
}>;
|
|
3641
|
+
declare const PostMediaGrid: React$1.FC<{
|
|
3642
|
+
items: PostMediaItem[];
|
|
3643
|
+
context: AspectContext;
|
|
3644
|
+
onRetry?: (item: PostMediaItem) => void;
|
|
3645
|
+
className?: string;
|
|
3646
|
+
}>;
|
|
3647
|
+
declare const PostMediaCarousel: React$1.FC<{
|
|
3648
|
+
items: PostMediaItem[];
|
|
3649
|
+
context: AspectContext;
|
|
3650
|
+
onRetry?: (item: PostMediaItem) => void;
|
|
3651
|
+
className?: string;
|
|
3652
|
+
}>;
|
|
3653
|
+
declare const PostMediaVideo: React$1.FC<{
|
|
3654
|
+
item: PostMediaItem;
|
|
3655
|
+
context: AspectContext;
|
|
3656
|
+
onRetry?: (item: PostMediaItem) => void;
|
|
3657
|
+
className?: string;
|
|
3658
|
+
}>;
|
|
3659
|
+
declare const PostMediaAudio: React$1.FC<{
|
|
3660
|
+
item: PostMediaItem;
|
|
3661
|
+
context: AspectContext;
|
|
3662
|
+
className?: string;
|
|
3663
|
+
}>;
|
|
3664
|
+
declare const PostMediaStory: React$1.FC<{
|
|
3665
|
+
story: StoryItem;
|
|
3666
|
+
context: AspectContext;
|
|
3667
|
+
/** When true, no fixed 9:16 frame — used inside Highlight strip cells. */
|
|
3668
|
+
fillCell?: boolean;
|
|
3669
|
+
className?: string;
|
|
3670
|
+
}>;
|
|
3671
|
+
declare const PostMediaHighlight: React$1.FC<{
|
|
3672
|
+
title: string;
|
|
3673
|
+
coverUrl?: string;
|
|
3674
|
+
stories: StoryItem[];
|
|
3675
|
+
context: AspectContext;
|
|
3676
|
+
className?: string;
|
|
3677
|
+
}>;
|
|
3678
|
+
interface PostMediaProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3679
|
+
body: PostBodyData;
|
|
3680
|
+
context: AspectContext;
|
|
3681
|
+
/** Retry callback for failed media items. */
|
|
3682
|
+
onRetry?: (item: PostMediaItem) => void;
|
|
3683
|
+
}
|
|
3684
|
+
declare const PostMedia: React$1.ForwardRefExoticComponent<PostMediaProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3685
|
+
|
|
3218
3686
|
interface PostActionsProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3219
3687
|
post: PostData;
|
|
3220
3688
|
actions: PostAction[];
|
|
@@ -3234,10 +3702,94 @@ interface PostMetadataProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
3234
3702
|
}
|
|
3235
3703
|
declare const PostMetadata: React$1.ForwardRefExoticComponent<PostMetadataProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3236
3704
|
|
|
3705
|
+
interface PostSignalsProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3706
|
+
sentiment?: PostSentiment;
|
|
3707
|
+
emotion?: EmotionKey;
|
|
3708
|
+
flow?: FlowKey;
|
|
3709
|
+
severity?: PostSeverity;
|
|
3710
|
+
cluster?: PostCluster;
|
|
3711
|
+
/** ISO language code (rendered as uppercase chip when not 'fa'). */
|
|
3712
|
+
language?: string;
|
|
3713
|
+
/** When true, hide emotion + flow + cluster + language to keep the row scannable in compact density. */
|
|
3714
|
+
compact?: boolean;
|
|
3715
|
+
/** Click handler on the cluster chip — typically filters the list. */
|
|
3716
|
+
onClusterClick?: (cluster: PostCluster) => void;
|
|
3717
|
+
}
|
|
3718
|
+
/**
|
|
3719
|
+
* Domain-signal chip row: sentiment, emotion, flow, severity, cluster, language.
|
|
3720
|
+
* Rendered in the `<PostCard>` footer. Designed to wrap when narrow.
|
|
3721
|
+
*/
|
|
3722
|
+
declare const PostSignals: React$1.ForwardRefExoticComponent<PostSignalsProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3723
|
+
|
|
3724
|
+
interface PostRepostHeaderProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3725
|
+
reposted: PostRepostInfo;
|
|
3726
|
+
/** Optional click handler on the reposter chip — typically opens the reposter's profile. */
|
|
3727
|
+
onAuthorClick?: (authorId: string | undefined) => void;
|
|
3728
|
+
}
|
|
3729
|
+
/**
|
|
3730
|
+
* Slim wrapper strip rendered above a `<PostCard>` when the post is surfaced through
|
|
3731
|
+
* a repost / retweet / forward. Matches the X, Threads, Telegram-channel-forward UX.
|
|
3732
|
+
*/
|
|
3733
|
+
declare const PostRepostHeader: React$1.ForwardRefExoticComponent<PostRepostHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3734
|
+
|
|
3735
|
+
interface PostQuotedEmbedProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3736
|
+
/** The post being quoted / referenced. */
|
|
3737
|
+
post: PostData;
|
|
3738
|
+
/** Click handler — typically navigates to the quoted post's details surface. */
|
|
3739
|
+
onOpen?: (post: PostData) => void;
|
|
3740
|
+
}
|
|
3741
|
+
/**
|
|
3742
|
+
* Nested compact card rendered inside a `<PostCard>` body when the post quotes,
|
|
3743
|
+
* embeds, or replies to another post. Read-only — no metrics, no action buttons,
|
|
3744
|
+
* no recursive embeds. Matches the X quote-tweet stacking pattern.
|
|
3745
|
+
*
|
|
3746
|
+
* RTL: indented from the inline-start via `ms-*` (visually right-indent in RTL).
|
|
3747
|
+
*/
|
|
3748
|
+
declare const PostQuotedEmbed: React$1.ForwardRefExoticComponent<PostQuotedEmbedProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3749
|
+
|
|
3750
|
+
interface PostThreadConnectorProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3751
|
+
thread: PostThreadInfo;
|
|
3752
|
+
/** When true, draws the connecting hairline that visually links this card to the next thread post. */
|
|
3753
|
+
showLine?: boolean;
|
|
3754
|
+
}
|
|
3755
|
+
/**
|
|
3756
|
+
* Renders the thread-position chip and the optional vertical hairline that connects
|
|
3757
|
+
* consecutive posts in the same thread. The hairline is positioned on the inline-start
|
|
3758
|
+
* edge of the card (right edge in RTL) and is purely visual — no interaction.
|
|
3759
|
+
*
|
|
3760
|
+
* The parent `<PostCard>` is responsible for rendering this in a `relative` container
|
|
3761
|
+
* so the absolute hairline can anchor to the card's full height.
|
|
3762
|
+
*/
|
|
3763
|
+
declare const PostThreadConnector: React$1.ForwardRefExoticComponent<PostThreadConnectorProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3764
|
+
|
|
3765
|
+
interface PostCrisisBannerProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3766
|
+
severity: PostSeverity;
|
|
3767
|
+
/** Optional override label — defaults to the Persian severity name. */
|
|
3768
|
+
label?: string;
|
|
3769
|
+
}
|
|
3770
|
+
/**
|
|
3771
|
+
* Slim banner strip rendered at the top of a `<PostCard>` to call attention to a
|
|
3772
|
+
* crisis / high-severity mention. Animates a pulse dot for `critical`. Subtle
|
|
3773
|
+
* by design — not a full-card red bleed, so the post stays scannable.
|
|
3774
|
+
*/
|
|
3775
|
+
declare const PostCrisisBanner: React$1.ForwardRefExoticComponent<PostCrisisBannerProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3776
|
+
|
|
3777
|
+
interface PostUrlPreviewProps extends React$1.HTMLAttributes<HTMLAnchorElement> {
|
|
3778
|
+
preview: PostUrlPreview;
|
|
3779
|
+
/** Compact layout (no description, smaller thumbnail). */
|
|
3780
|
+
compact?: boolean;
|
|
3781
|
+
}
|
|
3782
|
+
|
|
3783
|
+
type PostGroupBy = 'none' | 'platform' | 'sentiment' | 'date';
|
|
3784
|
+
type PostSortBy = 'newest' | 'oldest' | 'engagement' | 'authority' | 'severity';
|
|
3237
3785
|
interface PostListProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
|
|
3238
3786
|
posts: PostData[];
|
|
3239
|
-
/** Controlled
|
|
3787
|
+
/** Controlled view. If omitted, the list manages its own state (persisted to localStorage). */
|
|
3788
|
+
view?: PostView;
|
|
3789
|
+
onViewChange?: (view: PostView) => void;
|
|
3790
|
+
/** @deprecated Use `view` instead. */
|
|
3240
3791
|
density?: PostDensity;
|
|
3792
|
+
/** @deprecated Use `onViewChange` instead. */
|
|
3241
3793
|
onDensityChange?: (density: PostDensity) => void;
|
|
3242
3794
|
/** ID of the currently open/selected post (for URL deep-linking). */
|
|
3243
3795
|
activeId?: string;
|
|
@@ -3249,15 +3801,49 @@ interface PostListProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'on
|
|
|
3249
3801
|
onOpen?: (post: PostData) => void;
|
|
3250
3802
|
/** Fired when the user triggers the default "view details" action on any card. */
|
|
3251
3803
|
onOpenDetails?: (post: PostData) => void;
|
|
3804
|
+
onOpenQuoted?: (post: PostData) => void;
|
|
3805
|
+
onRetryMedia?: (item: PostMediaItem) => void;
|
|
3806
|
+
onClusterClick?: (cluster: NonNullable<PostData['cluster']>) => void;
|
|
3252
3807
|
/** Per-post action set. If omitted, each card uses its defaults. */
|
|
3253
3808
|
actions?: PostAction[];
|
|
3254
|
-
/**
|
|
3809
|
+
/** Bulk actions surfaced in the floating bar when posts are selected. */
|
|
3810
|
+
bulkActions?: PostBulkAction[];
|
|
3811
|
+
/** Group rendering: split the list into sticky-header sections. */
|
|
3812
|
+
groupBy?: PostGroupBy;
|
|
3813
|
+
/** Client-side sort applied to `posts` before render. */
|
|
3814
|
+
sortBy?: PostSortBy;
|
|
3815
|
+
/** Soft search filter — matches body text or title (case-insensitive). */
|
|
3816
|
+
searchQuery?: string;
|
|
3817
|
+
/** Render the toolbar (view toggle + extras). Defaults to true. */
|
|
3255
3818
|
showToolbar?: boolean;
|
|
3256
|
-
/** Custom toolbar content rendered next to the
|
|
3819
|
+
/** Custom toolbar content rendered next to the view toggle. */
|
|
3257
3820
|
toolbarExtra?: React$1.ReactNode;
|
|
3821
|
+
/** Loading state — replaces list with skeleton or custom node. */
|
|
3822
|
+
isLoading?: boolean;
|
|
3823
|
+
loadingState?: React$1.ReactNode;
|
|
3824
|
+
/** Error state — replaces list when set. */
|
|
3825
|
+
error?: unknown;
|
|
3826
|
+
errorState?: React$1.ReactNode;
|
|
3827
|
+
/** Empty state — shown when `posts.length === 0` after filtering. */
|
|
3828
|
+
emptyState?: React$1.ReactNode;
|
|
3829
|
+
/** Hide the floating bulk action bar even when posts are selected. */
|
|
3830
|
+
hideBulkBar?: boolean;
|
|
3258
3831
|
}
|
|
3259
3832
|
declare const PostList: React$1.ForwardRefExoticComponent<PostListProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3260
3833
|
|
|
3834
|
+
interface PostBulkActionBarProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onClick'> {
|
|
3835
|
+
selectedCount: number;
|
|
3836
|
+
selectedIds: string[];
|
|
3837
|
+
actions?: PostBulkAction[];
|
|
3838
|
+
onClear?: () => void;
|
|
3839
|
+
}
|
|
3840
|
+
/**
|
|
3841
|
+
* Floating bulk-action bar — appears at the bottom of the viewport when one or
|
|
3842
|
+
* more posts are selected in `<PostList>`. Matches the Gmail / Linear / Notion
|
|
3843
|
+
* selection bar pattern. Dismiss with Esc or by clicking the clear button.
|
|
3844
|
+
*/
|
|
3845
|
+
declare const PostBulkActionBar: React$1.ForwardRefExoticComponent<PostBulkActionBarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3846
|
+
|
|
3261
3847
|
/**
|
|
3262
3848
|
* Extended platform set: social media + government broadcast/print sources
|
|
3263
3849
|
* (TV, Radio, Press). Use this for cross-platform feeds where a tracked
|
|
@@ -3313,7 +3899,7 @@ interface MultiPlatformPostCardProps extends Omit<React$1.HTMLAttributes<HTMLEle
|
|
|
3313
3899
|
}
|
|
3314
3900
|
declare const MultiPlatformPostCard: React$1.ForwardRefExoticComponent<MultiPlatformPostCardProps & React$1.RefAttributes<HTMLElement>>;
|
|
3315
3901
|
|
|
3316
|
-
type PostDetailsTab = 'post' | 'comments' | 'analysis' | 'transcript';
|
|
3902
|
+
type PostDetailsTab$1 = 'post' | 'comments' | 'analysis' | 'transcript';
|
|
3317
3903
|
interface PostDetailsModalProps {
|
|
3318
3904
|
/** Controls modal open state. */
|
|
3319
3905
|
open: boolean;
|
|
@@ -3331,7 +3917,7 @@ interface PostDetailsModalProps {
|
|
|
3331
3917
|
/** Fires when user clicks "retry" on the error panel. */
|
|
3332
3918
|
onRetry?: () => void;
|
|
3333
3919
|
/** Which tab to open first @default "post" */
|
|
3334
|
-
defaultTab?: PostDetailsTab;
|
|
3920
|
+
defaultTab?: PostDetailsTab$1;
|
|
3335
3921
|
/** Dialog size. @default "lg" (~1024px) */
|
|
3336
3922
|
size?: 'md' | 'lg' | 'xl';
|
|
3337
3923
|
/** Show the bookmark toggle. When `onBookmark` is set, the button appears. */
|
|
@@ -3344,6 +3930,99 @@ interface PostDetailsModalProps {
|
|
|
3344
3930
|
}
|
|
3345
3931
|
declare const PostDetailsModal: React$1.FC<PostDetailsModalProps>;
|
|
3346
3932
|
|
|
3933
|
+
type PostDetailsTab = 'post' | 'comments' | 'analysis' | 'transcript';
|
|
3934
|
+
interface PostDetailsDrawerProps {
|
|
3935
|
+
open?: boolean;
|
|
3936
|
+
onOpenChange?: (open: boolean) => void;
|
|
3937
|
+
post: PostData;
|
|
3938
|
+
details?: PostDetails;
|
|
3939
|
+
/** Details are being fetched asynchronously — show loading state in tabs. */
|
|
3940
|
+
isLoadingDetails?: boolean;
|
|
3941
|
+
bookmarked?: boolean;
|
|
3942
|
+
onBookmark?: (post: PostData, next: boolean) => void;
|
|
3943
|
+
onCopyLink?: (post: PostData, url: string) => void;
|
|
3944
|
+
onOpenSource?: (post: PostData) => void;
|
|
3945
|
+
onRetryMedia?: (item: PostMediaItem) => void;
|
|
3946
|
+
/** Navigate to the next post in the parent list (fires when j is pressed). */
|
|
3947
|
+
onNext?: () => void;
|
|
3948
|
+
/** Navigate to the previous post in the parent list (fires when k is pressed). */
|
|
3949
|
+
onPrevious?: () => void;
|
|
3950
|
+
defaultTab?: PostDetailsTab;
|
|
3951
|
+
/** Custom action node rendered next to the default header actions. */
|
|
3952
|
+
extraActions?: React$1.ReactNode;
|
|
3953
|
+
/** Optional translation handler. When provided, a "نمایش ترجمه" toggle appears on the post tab. */
|
|
3954
|
+
onTranslate?: (post: PostData) => Promise<string> | string;
|
|
3955
|
+
/** Optional like-comment handler. */
|
|
3956
|
+
onLikeComment?: (commentId: string) => void;
|
|
3957
|
+
}
|
|
3958
|
+
/**
|
|
3959
|
+
* Right-aligned side panel for inspecting a post in depth. Replaces the legacy
|
|
3960
|
+
* `<PostDetailsModal>` as the canonical detail surface on desktop. The modal
|
|
3961
|
+
* stays as a mobile-only fallback.
|
|
3962
|
+
*
|
|
3963
|
+
* Keyboard:
|
|
3964
|
+
* - Esc → close (handled by Sheet)
|
|
3965
|
+
* - j / ArrowDown → onNext
|
|
3966
|
+
* - k / ArrowUp → onPrevious
|
|
3967
|
+
*/
|
|
3968
|
+
declare const PostDetailsDrawer: React$1.ForwardRefExoticComponent<PostDetailsDrawerProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3969
|
+
|
|
3970
|
+
type SupportedMetricLocale = 'fa' | 'en';
|
|
3971
|
+
type MetricKey = keyof PostMetrics;
|
|
3972
|
+
/**
|
|
3973
|
+
* Resolve a metric label for a given source + key + locale.
|
|
3974
|
+
*
|
|
3975
|
+
* Lookup order:
|
|
3976
|
+
* 1. Source-specific override (e.g. tiktok.views → "تماشا")
|
|
3977
|
+
* 2. Default for that locale (e.g. views → "بازدید")
|
|
3978
|
+
*
|
|
3979
|
+
* Never returns `undefined` — falls back to default labels.
|
|
3980
|
+
*/
|
|
3981
|
+
declare function getMetricLabel(source: PostSource, key: MetricKey, locale?: SupportedMetricLocale): string;
|
|
3982
|
+
|
|
3983
|
+
/**
|
|
3984
|
+
* Per-source metadata used by `<PostHeader>`, `<PostMetrics>`, badges, and the source-aware
|
|
3985
|
+
* default actions. This is the single source of truth — adding a new platform = adding
|
|
3986
|
+
* one entry here + one CSS var + one label entry in `post-metric-labels.ts`.
|
|
3987
|
+
*
|
|
3988
|
+
* Brand colors are referenced as CSS variables (`--social-platform-*`) and resolved at
|
|
3989
|
+
* runtime so the dark/light theme can adapt where needed (twitter, threads, press, web).
|
|
3990
|
+
*/
|
|
3991
|
+
type SourceIconSource =
|
|
3992
|
+
/** Icon comes from the brand-SVG set in `<SocialPlatformBadge>` (7 social platforms). */
|
|
3993
|
+
{
|
|
3994
|
+
kind: 'social-brand';
|
|
3995
|
+
}
|
|
3996
|
+
/** Icon is a generic Lucide glyph (broadcast / editorial sources). */
|
|
3997
|
+
| {
|
|
3998
|
+
kind: 'lucide';
|
|
3999
|
+
icon: LucideIcon;
|
|
4000
|
+
};
|
|
4001
|
+
interface PostSourceConfig {
|
|
4002
|
+
/** English label, displayed when `showLabel` is on. */
|
|
4003
|
+
label: string;
|
|
4004
|
+
/** Persian (fa) label, for fa-locale headers and tooltips. */
|
|
4005
|
+
labelFa: string;
|
|
4006
|
+
/** Category: drives header layout switch. */
|
|
4007
|
+
category: PostSourceCategory;
|
|
4008
|
+
/** CSS variable name (without the `var()` wrapper). */
|
|
4009
|
+
colorVar: string;
|
|
4010
|
+
/** How to render the icon for this source. */
|
|
4011
|
+
icon: SourceIconSource;
|
|
4012
|
+
/**
|
|
4013
|
+
* Default metric order — which metric keys to show by default and in what order.
|
|
4014
|
+
* Consumers can override per-card via PostMetadata's `metricsOrder` prop.
|
|
4015
|
+
*/
|
|
4016
|
+
defaultMetrics: ReadonlyArray<keyof PostMetrics>;
|
|
4017
|
+
}
|
|
4018
|
+
/** Look up the per-source config block. */
|
|
4019
|
+
declare function getPostSourceConfig(source: PostSource): PostSourceConfig;
|
|
4020
|
+
/**
|
|
4021
|
+
* Convenience: read the brand color CSS variable for a source.
|
|
4022
|
+
* Use as: `style={{ color: getSourceColorVar('instagram') }}` → `var(--social-platform-instagram)`.
|
|
4023
|
+
*/
|
|
4024
|
+
declare function getSourceColorVar(source: PostSource): string;
|
|
4025
|
+
|
|
3347
4026
|
declare const profileCardVariants: (props?: ({
|
|
3348
4027
|
variant?: "default" | "transparent" | "dark" | null | undefined;
|
|
3349
4028
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
@@ -3710,7 +4389,10 @@ declare namespace ScrollBar {
|
|
|
3710
4389
|
var displayName: string;
|
|
3711
4390
|
}
|
|
3712
4391
|
|
|
3713
|
-
declare const Select:
|
|
4392
|
+
declare const Select: {
|
|
4393
|
+
({ dir, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
4394
|
+
displayName: string;
|
|
4395
|
+
};
|
|
3714
4396
|
declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3715
4397
|
declare const SelectValue: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & VariantProps<(props?: ({
|
|
3716
4398
|
size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
@@ -3936,7 +4618,7 @@ declare namespace FormRowSkeleton {
|
|
|
3936
4618
|
var displayName: string;
|
|
3937
4619
|
}
|
|
3938
4620
|
|
|
3939
|
-
declare function Slider({ className, defaultValue, value, min, max, dir, ...props }: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
4621
|
+
declare function Slider({ className, defaultValue, value, min, max, dir, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, ...props }: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
3940
4622
|
declare namespace Slider {
|
|
3941
4623
|
var displayName: string;
|
|
3942
4624
|
}
|
|
@@ -4018,7 +4700,7 @@ declare namespace TableSortHeader {
|
|
|
4018
4700
|
var displayName: string;
|
|
4019
4701
|
}
|
|
4020
4702
|
|
|
4021
|
-
declare const Tabs: React$1.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4703
|
+
declare const Tabs: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
4022
4704
|
interface TabsListProps extends React$1.ComponentPropsWithoutRef<typeof TabsPrimitive.List> {
|
|
4023
4705
|
/** Visual variant */
|
|
4024
4706
|
variant?: 'default' | 'underline' | 'outline';
|
|
@@ -4469,6 +5151,16 @@ interface MultiSelectProps {
|
|
|
4469
5151
|
emptyMessage?: string;
|
|
4470
5152
|
/** Search placeholder */
|
|
4471
5153
|
searchPlaceholder?: string;
|
|
5154
|
+
/** Accessible label. Falls back to the resolved placeholder when omitted. */
|
|
5155
|
+
'aria-label'?: string;
|
|
5156
|
+
/** id of an external label element that names this control. */
|
|
5157
|
+
'aria-labelledby'?: string;
|
|
5158
|
+
/** Marks the trigger as invalid (e.g. when wired through `<FormControl>`). */
|
|
5159
|
+
'aria-invalid'?: boolean | 'true' | 'false';
|
|
5160
|
+
/** id(s) of element(s) describing the trigger (typically a `<FormMessage>`). */
|
|
5161
|
+
'aria-describedby'?: string;
|
|
5162
|
+
/** id of the trigger element — set by `<FormControl>` to wire `<FormLabel htmlFor>`. */
|
|
5163
|
+
id?: string;
|
|
4472
5164
|
}
|
|
4473
5165
|
declare const MultiSelect: React$1.ForwardRefExoticComponent<MultiSelectProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4474
5166
|
|
|
@@ -5030,8 +5722,16 @@ interface PartoWordCloudProps {
|
|
|
5030
5722
|
isLoading?: boolean;
|
|
5031
5723
|
/** Accessible label describing the chart content */
|
|
5032
5724
|
ariaLabel?: string;
|
|
5725
|
+
/** Locale for the empty-state message @default 'fa' */
|
|
5726
|
+
locale?: SupportedLocale;
|
|
5727
|
+
/**
|
|
5728
|
+
* Render a small caption below the cloud explaining that word size
|
|
5729
|
+
* encodes frequency. Helps colorblind / sighted-but-confused users —
|
|
5730
|
+
* word color is decorative (palette rotation), not semantic. @default `false`
|
|
5731
|
+
*/
|
|
5732
|
+
legend?: boolean;
|
|
5033
5733
|
}
|
|
5034
|
-
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;
|
|
5734
|
+
declare function PartoWordCloud({ words, width: widthProp, height: heightProp, className, minFontSize, maxFontSize, padding, spiral, rotate, random, fontWeight, onWordClick, isLoading, ariaLabel, locale, legend, }: PartoWordCloudProps): react_jsx_runtime.JSX.Element;
|
|
5035
5735
|
declare namespace PartoWordCloud {
|
|
5036
5736
|
var displayName: string;
|
|
5037
5737
|
}
|
|
@@ -5094,6 +5794,11 @@ interface PartoScatterChartProps {
|
|
|
5094
5794
|
className?: string;
|
|
5095
5795
|
isLoading?: boolean;
|
|
5096
5796
|
ariaLabel?: string;
|
|
5797
|
+
/**
|
|
5798
|
+
* Render a legend below the chart. Only meaningful when `groupKey` is set —
|
|
5799
|
+
* the legend lists each group with its assigned color. @default `false`
|
|
5800
|
+
*/
|
|
5801
|
+
legend?: boolean;
|
|
5097
5802
|
}
|
|
5098
5803
|
declare const PartoScatterChart: React$1.ForwardRefExoticComponent<PartoScatterChartProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
5099
5804
|
|
|
@@ -5148,6 +5853,12 @@ interface PartoSankeyChartProps {
|
|
|
5148
5853
|
className?: string;
|
|
5149
5854
|
isLoading?: boolean;
|
|
5150
5855
|
ariaLabel?: string;
|
|
5856
|
+
/**
|
|
5857
|
+
* Render a legend listing each node with its color. Useful for flows
|
|
5858
|
+
* where node names aren't always visible (small column widths). The
|
|
5859
|
+
* legend shows the same color the node rectangle uses. @default `false`
|
|
5860
|
+
*/
|
|
5861
|
+
legend?: boolean;
|
|
5151
5862
|
}
|
|
5152
5863
|
declare const PartoSankeyChart: React$1.ForwardRefExoticComponent<PartoSankeyChartProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
5153
5864
|
|
|
@@ -5227,6 +5938,16 @@ interface ConceptPulseChartProps {
|
|
|
5227
5938
|
className?: string;
|
|
5228
5939
|
isLoading?: boolean;
|
|
5229
5940
|
ariaLabel?: string;
|
|
5941
|
+
/**
|
|
5942
|
+
* Render a legend below the chart that maps composition arc colors to
|
|
5943
|
+
* their category names (flow/emotion/custom). Only categories that
|
|
5944
|
+
* appear in at least one bubble's composition are listed.
|
|
5945
|
+
*
|
|
5946
|
+
* Without a legend, the arc colors are decipherable only via hover —
|
|
5947
|
+
* which fails WCAG 1.4.1 for the core "what is this composition?"
|
|
5948
|
+
* question. @default `false`
|
|
5949
|
+
*/
|
|
5950
|
+
legend?: boolean;
|
|
5230
5951
|
}
|
|
5231
5952
|
declare const ConceptPulseChart: React$1.ForwardRefExoticComponent<ConceptPulseChartProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
5232
5953
|
|
|
@@ -5286,6 +6007,12 @@ interface PartoNetworkChartProps {
|
|
|
5286
6007
|
className?: string;
|
|
5287
6008
|
isLoading?: boolean;
|
|
5288
6009
|
ariaLabel?: string;
|
|
6010
|
+
/**
|
|
6011
|
+
* Render a legend listing each node group with its assigned color.
|
|
6012
|
+
* Pulled from the unique `group` values across `nodes`. When no node
|
|
6013
|
+
* has a `group`, the legend silently renders nothing. @default `false`
|
|
6014
|
+
*/
|
|
6015
|
+
legend?: boolean;
|
|
5289
6016
|
}
|
|
5290
6017
|
declare const PartoNetworkChart: React$1.ForwardRefExoticComponent<PartoNetworkChartProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
5291
6018
|
|
|
@@ -5446,6 +6173,69 @@ declare function localeAwareNumberTick(locale: SupportedLocale): (value: unknown
|
|
|
5446
6173
|
* letters. Use on date/time axes whose labels carry digits.
|
|
5447
6174
|
*/
|
|
5448
6175
|
declare function localeAwareCategoryTick(locale: SupportedLocale): (value: unknown) => string;
|
|
6176
|
+
interface ChartLegendItem {
|
|
6177
|
+
/** Unique identifier — typically the dataKey or series id. */
|
|
6178
|
+
key: string;
|
|
6179
|
+
/** Display label. Strings preferred so AT can read it. */
|
|
6180
|
+
label: React$1.ReactNode;
|
|
6181
|
+
/** Marker color. Pass the resolved value (hsl, hex, or `var(--token)`). */
|
|
6182
|
+
color: string;
|
|
6183
|
+
/**
|
|
6184
|
+
* Marker shape. `dot` for categorical (Bar/Pie), `line` for series (Line/Area),
|
|
6185
|
+
* `bar` for stacked distributions. @default `dot`
|
|
6186
|
+
*/
|
|
6187
|
+
shape?: 'dot' | 'line' | 'bar';
|
|
6188
|
+
/**
|
|
6189
|
+
* Optional stroke pattern when `shape="line"`. Lets color-blind users
|
|
6190
|
+
* distinguish series by texture in addition to color. WCAG 1.4.1
|
|
6191
|
+
* (Use of Color) recommends adding a non-color signal.
|
|
6192
|
+
*/
|
|
6193
|
+
pattern?: 'solid' | 'dashed' | 'dotted' | 'dash-dot';
|
|
6194
|
+
/** Optional trailing value (count, percent, etc.). */
|
|
6195
|
+
value?: React$1.ReactNode;
|
|
6196
|
+
}
|
|
6197
|
+
interface ChartLegendProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
6198
|
+
/** Series to enumerate. */
|
|
6199
|
+
items: ChartLegendItem[];
|
|
6200
|
+
/** Layout — `horizontal` wraps, `vertical` stacks. @default `horizontal` */
|
|
6201
|
+
orientation?: 'horizontal' | 'vertical';
|
|
6202
|
+
/** Marker square/dot edge length in px. @default `10` */
|
|
6203
|
+
swatchSize?: number;
|
|
6204
|
+
}
|
|
6205
|
+
/**
|
|
6206
|
+
* Reusable chart legend. Pair with `PartoLineChart`, `PartoBarChart`, etc. by
|
|
6207
|
+
* passing `legend={[…]}` or rendering `<ChartLegend>` next to the chart. Each
|
|
6208
|
+
* line-shape entry can carry a stroke pattern so colorblind users can read
|
|
6209
|
+
* series identity without relying on color alone.
|
|
6210
|
+
*
|
|
6211
|
+
* The legend has no chart-aware behavior on its own — pass the same colors
|
|
6212
|
+
* (resolved via `useChartTheme`) you handed to the chart's `Cell`/series.
|
|
6213
|
+
*/
|
|
6214
|
+
declare const ChartLegend: React$1.ForwardRefExoticComponent<ChartLegendProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
6215
|
+
interface ChartGradientLegendProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
6216
|
+
/** Color at the low end of the scale (e.g. background-muted). */
|
|
6217
|
+
startColor: string;
|
|
6218
|
+
/** Color at the high end (e.g. brand). */
|
|
6219
|
+
endColor: string;
|
|
6220
|
+
/** Optional left/start label (typically the minimum value). */
|
|
6221
|
+
startLabel?: React$1.ReactNode;
|
|
6222
|
+
/** Optional right/end label (typically the maximum value). */
|
|
6223
|
+
endLabel?: React$1.ReactNode;
|
|
6224
|
+
/** Optional caption above the bar (e.g. "تراکم انتشار"). */
|
|
6225
|
+
caption?: React$1.ReactNode;
|
|
6226
|
+
/** Bar width in px @default 160 */
|
|
6227
|
+
width?: number;
|
|
6228
|
+
/** Bar height in px @default 8 */
|
|
6229
|
+
height?: number;
|
|
6230
|
+
}
|
|
6231
|
+
/**
|
|
6232
|
+
* Continuous-scale legend for charts whose data is encoded as color intensity
|
|
6233
|
+
* (HeatMap, choropleth, gradient density). Renders a horizontal gradient bar
|
|
6234
|
+
* with start/end labels, captioned for AT via `role="img"` + `aria-label`.
|
|
6235
|
+
*
|
|
6236
|
+
* For discrete categorical legends (Line/Bar/Pie), use `<ChartLegend>` instead.
|
|
6237
|
+
*/
|
|
6238
|
+
declare const ChartGradientLegend: React$1.ForwardRefExoticComponent<ChartGradientLegendProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
5449
6239
|
/**
|
|
5450
6240
|
* Transforms Nivo line/area data format to Recharts row-oriented format.
|
|
5451
6241
|
* Useful for consumers migrating from Nivo data shape.
|
|
@@ -5710,4 +6500,4 @@ interface UseFilterPresetsReturn<T extends FilterStateShape> {
|
|
|
5710
6500
|
*/
|
|
5711
6501
|
declare function useFilterPresets<T extends FilterStateShape>(options: UseFilterPresetsOptions): UseFilterPresetsReturn<T>;
|
|
5712
6502
|
|
|
5713
|
-
export { ACTION_TYPE_META, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionStatusKey, ActionTimeline, type ActionTimelineDensity, type ActionTimelineGroupBy, ActionTimelineItem, type ActionTimelineItemData, type ActionTimelineItemProps, type ActionTimelineProps, ActionTypeChip, type ActionTypeChipProps, ActionTypeKey, ActiveFiltersBar, type ActiveFiltersBarProps, ActiveFiltersClearAll, type ActiveFiltersClearAllProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AnimatedNumber, type AnimatedNumberProps, AppBar, type AppBarProps, AppLayout, AppLayoutContent, AspectRatio, type AsyncStatus, Autocomplete, type AutocompleteItem, type AutocompleteProps, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, AvatarTextSkeleton, type AvatarTextSkeletonProps, Banner, type BannerProps, type BenchmarkMarker, type BenchmarkTier, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BulletinViewer, type BulletinViewerProps, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonProps, CHART_FONT_FAMILY, COUNTRIES, CRITERION_TIER_KEYS, Callout, CalloutDescription, type CalloutProps, CalloutTitle, CardSkeleton, type CardSkeletonProps, 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, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, type CommandPaletteRecentsConfig, CommandSeparator, CommandShortcut, CommentCard, type CommentCardProps, type CommentTag, ComparisonCard, type ComparisonCardProps, type ComparisonEntity, type ComparisonMetric, ComparisonRadar, type ComparisonRadarProps, type ComparisonWinner, type CompositionScale, type ConceptComposition, type ConceptPoint, ConceptPulseChart, type ConceptPulseChartProps, ConfirmDialog, type ConfirmDialogProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, type CopyButtonProps, type Country, type CountryCode, CountryPicker, type CountryPickerProps, type CriterionInputSpec, CriterionScoreCard, type CriterionScoreCardProps, type CriterionTierKey, type CriterionTierThresholds, type CriterionTrend, DEFAULT_CRITERION_THRESHOLDS, DEFAULT_PERIODS, DEFAULT_THRESHOLDS, DataTableColumn, DataTableColumnVisibility, DataTableColumnVisibilityToggle, type DataTableColumnVisibilityToggleProps, DataTableExportButton, type DataTableExportButtonProps, DatePicker, type DatePickerProps, DateRangePicker, DateRangePickerInline, type DateRangePickerProps, Dialog, 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, EmotionBadge, type EmotionBadgeProps, type EmotionData, EmotionDistribution, type EmotionDistributionProps, EmotionKey, Empty, EmptyAction, EmptyChart, type EmptyChartProps, type EmptyChartShape, EmptyDescription, EmptyIcon, EmptyTitle, type EngagementRange, type EngagementRangeWithDisplay, EngagementRate, EngagementRateBar, type EngagementRateBarProps, EngagementRateBenchmark, type EngagementRateBenchmarkProps, type EngagementRateProps, type EngagementTier, EntityHealthCard, EntityHealthCardActions, EntityHealthCardFooter, EntityHealthCardHeader, EntityHealthCardHeaderEnd, EntityHealthCardHeaderText, EntityHealthCardMeta, EntityHealthCardMetric, type EntityHealthCardMetricProps, EntityHealthCardMetrics, type EntityHealthCardMetricsProps, EntityHealthCardNarrative, EntityHealthCardPhase, type EntityHealthCardPhaseProps, type EntityHealthCardProps, EntityHealthCardScore, type EntityHealthCardScoreProps, EntityHealthCardSeverityBadge, type EntityHealthCardSeverityBadgeProps, EntityHealthCardSubtitle, EntityHealthCardTitle, type EntityHealthCardTitleProps, EntityHealthCardTrust, type EntityHealthCardTrustProps, EntityHealthKey, ErrorBoundary, type ErrorBoundaryProps, ErrorIllustration, ErrorState, type ErrorStateProps, type ExecutiveSummaryMetric, ExecutiveSummarySection, type ExecutiveSummarySectionProps, type ExportableColumn, type ExtendedPlatform, 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, FilterPanel, FilterPanelBody, FilterPanelClearAll, type FilterPanelClearAllProps, FilterPanelFooter, FilterPanelHeader, type FilterPanelProps, FilterPanelTitle, type FilterPanelTitleProps, FilterPanelTrigger, type FilterPanelTriggerProps, type FilterPreset, FilterSection, type FilterSectionProps, FilterStateShape, FirstRunIllustration, FlowBadge, type FlowBadgeProps, FlowCell, type FlowCellProps, FlowData, FlowDistributionSection, type FlowDistributionSectionProps, FlowKey, type FollowerGroup, ForbiddenIllustration, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormRowSkeleton, type FormRowSkeletonProps, GROUP_LABELS, HashtagInput, type TagInputProps as HashtagInputProps, type HashtagPerformanceData, HashtagPerformanceRow, type HashtagPerformanceRowProps, type HeatMapDatum, type HeatMapRow, HotkeyCombo, HoverCard, HoverCardContent, HoverCardTrigger, IRAN_PROVINCES, type Icon, Icons, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputProps, InputVariants, InputWithIcon, type InputWithIconProps, type IranProvince, type IranProvinceSlug, JobCard, JobCardActions, JobCardError, JobCardHeader, JobCardHeaderActions, JobCardHeaderText, JobCardMeta, JobCardMetaItem, type JobCardMetaItemProps, JobCardProgress, type JobCardProgressProps, type JobCardProps, JobCardStat, type JobCardStatProps, JobCardStats, type JobCardStatsProps, JobCardStatusBadge, type JobCardStatusBadgeProps, JobCardSubtitle, JobCardThumbnail, type JobCardThumbnailProps, JobCardTitle, type JobCardTitleProps, JobStatusKey, JobWizard, type JobWizardApi, JobWizardBack, type JobWizardBackProps, JobWizardBody, JobWizardCancel, type JobWizardCancelProps, JobWizardError, JobWizardFooter, JobWizardHeader, type JobWizardHeaderProps, JobWizardNext, type JobWizardNextProps, type JobWizardProps, JobWizardSkip, type JobWizardSkipProps, JobWizardSpacer, type JobWizardStep, JobWizardStepper, type JobWizardStepperProps, type JobWizardSubmitState, JobWizardSuccess, type JobWizardSuccessProps, type JobWizardValidationResult, Kbd, KbdGroup, Label, LabelChip, type LabelChipProps, LabelEditDialog, type LabelEditDialogProps, type LegacySize, MarkdownRenderer, type MarkdownRendererProps, 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, type MultiPlatformMetrics, MultiPlatformPostCard, type MultiPlatformPostCardProps, type MultiPlatformPostData, MultiSelect, type MultiSelectOption, type MultiSelectProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavGroup, type NavGroupProps, NavItem, type NavItemBaseProps, type NavItemProps, type NavMatchStrategy, NavPanel, NavPanelContent, NavPanelFooter, NavPanelHeader, NavRail, NavRailContent, NavRailFooter, NavRailHeader, NavRailItem, NavRailProvider, NavRailSeparator, NavRailTrigger, NavSeparator, NavTree, type NavTreeContextValue, NavTreeProvider, type NavTreeProviderProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, type NetworkLink, type NetworkNode, NoDataIllustration, NoResultsIllustration, NotificationCenter, type NotificationCenterProps, type NotificationFilter, type NotificationItem, type NotificationSeverity, NumberInputLocale, type NumberInputLocaleProps, 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, PartoHeatMap, type PartoHeatMapProps, PartoNetworkChart, type PartoNetworkChartProps, PartoRadarChart, type PartoRadarChartProps, PartoSankeyChart, type PartoSankeyChartProps, PartoScatterChart, type PartoScatterChartProps, type PartoToasterProps, PartoWordCloud, type PartoWordCloudProps, type PeriodOption, PeriodSelector, type PeriodSelectorProps, type PlatformMetadata, type PostAction, PostActions, type PostActionsProps, type PostAiAnalysis, type PostAiEntity, type PostAuthor, PostBody, type PostBodyData, type PostBodyProps, PostCard, type PostCardProps, type PostComment, type PostCommentAuthor, type PostData, type PostDensity, type PostDetails, PostDetailsModal, type PostDetailsModalProps, type PostDetailsTab, type PostEmotion, type PostEnrichmentFlags, PostHeader, type PostHeaderProps, type PostIntent, PostList, type PostListProps, type PostMediaItem, PostMetadata, type PostMetadataProps, type PostMetrics, type PostPlatform, type PostSentiment, type PostingFrequencyCell, PostingFrequencyHeatmap, type PostingFrequencyHeatmapProps, type PostingFrequencySummary, type PostingWeekStart, ProfileCard, type ProfileCardProps, ProfileInfo, type ProfileInfoProps, Progress, ProgressCell, type ProgressCellProps, type ProgressProps, type QuotaLevel, QuotaProgressBar, type QuotaProgressBarProps, type QuotaThresholds, RadioCardDescription, RadioCardItem, RadioCardTitle, RadioCards, RadioGroup, RadioGroupItem, RateLimitBanner, type RateLimitBannerProps, RegionPicker, type RegionPickerKey, type RegionPickerProps, RegisteredHotkey, ReportComposer, type ReportComposerProps, ReportSection, type ReportSectionProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RouteProgress, type RouteProgressHandle, type RouteProgressProps, SONNER_DEFAULT_DURATION, SafeImage, type SafeImageProps, type SankeyLink, type SankeyNode, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, type SectionItem, SectionNavigator, type SectionNavigatorProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectTriggerVariants, SelectValue, SentimentBadge, type SentimentBadgeProps, SentimentBreakdownSection, type SentimentBreakdownSectionProps, SentimentCell, type SentimentCellProps, SentimentData, Separator, SeverityBadge, type SeverityBadgeProps, SeverityKey, ShortcutsCheatsheet, type ShortcutsCheatsheetProps, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiteHeader, SiteHeaderActions, SiteHeaderEnd, type SiteHeaderProps, SiteHeaderSeparator, SiteHeaderStart, SiteHeaderSubtitle, SiteHeaderTitle, SiteHeaderTitleGroup, type SizeWithLegacy, Skeleton, type SkeletonProps, Slider, SocialPlatform, type SourceBreakdownEntry, SourceBreakdownSection, type SourceBreakdownSectionProps, SparklineCell, type SparklineCellProps, Spinner, type SpinnerProps, StageStatusKey, type StandardSize, StatDeltaCell, type StatDeltaCellProps, StatDisplay, type StatDisplayProps, StatusBadge, type StatusBadgeProps, StatusFlow, type StatusFlowOrientation, type StatusFlowProps, type StatusFlowSize, StatusFlowStage, type StatusFlowStageData, type StatusFlowStageProps, StatusKey, StatusPulseCell, type StatusPulseCellProps, Step, type StepProps, Stepper, type StepperProps, SupportedLocale, Switch, type SwitchProps, TIER_LABELS, Table, TableBody, TableCaption, TableCell, TableComparisonView, type TableComparisonViewProps, TableFooter, TableHead, TableHeader, TableRow, TableRowSkeleton, type TableRowSkeletonProps, TableSkeleton, type TableSkeletonProps, TableSortHeader, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, TaskList, type TaskListGroup, type TaskListProps, Textarea, TimelineSection, type TimelineSectionProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, TooltipContent, TopPostsSection, type TopPostsSectionProps, TrendCell, type TrendCellProps, TrendIndicator, type TrendIndicatorProps, type UseAsyncReturn, type UseClipboardOptions, type UseClipboardReturn, type UseFilterParamsOptions, type UseFilterPresetsOptions, type UseFilterPresetsReturn, type UseInfiniteScrollOptions, type UseInfiniteScrollReturn, type UseJobWizardOptions, UserAutocomplete, type UserAutocompleteProps, type UserItem, UserMenu, type UserMenuItem, type UserMenuProps, type UserMenuUser, type ViewMode, ViewToggle, type ViewToggleProps, type WordData, actionTypeChipVariants, appBarVariants, avatarGroupVariants, bannerVariants, buildCsv, buildPostingFrequencyRows, buildTsv, buttonGroupVariants, calloutVariants, computeComparisonWinners, countComparisonWins, countryFlag, defaultActions as defaultPostActions, downloadFile, findCountry, findProvince, findTierIndex, formatJalaliDate, formatPersianDateRange, getCountryLabel, getCriterionTier, getCurrentRangeIndex, getEngagementRanges, getEngagementRateBenchmarkTiers, getFollowerGroup, getPersianDay, getPersianMonth, getPersianMonthName, getPersianMonthNameShort, getPersianMonthsForDropdown, getPersianWeekdayName, getPersianYear, getPersianYearsForDropdown, getProvinceLabel, getScoreBenchmarkTiers, tagInputVariants as hashtagInputVariants, jalaliToGregorian, labelChipVariants, localeAwareCategoryTick, localeAwareNumberTick, navItemVariants, navigationMenuTriggerStyle, normalizeSize, normalizeUrlDigits, pageLoaderVariants, postCardVariants, postHeaderVariants, profileCardVariants, resolveLevel, siteHeaderVariants, spinnerVariants, statDisplayVariants, tagInputVariants, toEnglishDigits, toPersianDigits, toggleVariants, transformNivoLineData, useAsync, useBreakpoint, useChartTheme, useClipboard, useDebounce, useDocumentDirection, useFilterParams, useFilterPresets, useFormField, useInfiniteScroll, useIsMobile, useJobWizard, useJobWizardState, useLocalStorage, useMediaQuery, useNavRail, useNavTree, useOutsideClick, usePrevious, useRootStyles, useScrollLock, useSidebar };
|
|
6503
|
+
export { ACTION_TYPE_META, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionStatusKey, ActionTimeline, type ActionTimelineDensity, type ActionTimelineGroupBy, ActionTimelineItem, type ActionTimelineItemData, type ActionTimelineItemProps, type ActionTimelineProps, ActionTypeChip, type ActionTypeChipProps, ActionTypeKey, ActiveFiltersBar, type ActiveFiltersBarProps, ActiveFiltersClearAll, type ActiveFiltersClearAllProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AnimatedNumber, type AnimatedNumberProps, AppBar, type AppBarProps, AppLayout, AppLayoutContent, AspectRatio, type AsyncStatus, Autocomplete, type AutocompleteItem, type AutocompleteProps, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, AvatarTextSkeleton, type AvatarTextSkeletonProps, Banner, type BannerProps, type BenchmarkMarker, type BenchmarkTier, BlurBackdrop, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BulletinViewer, type BulletinViewerProps, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonProps, CENTERED_CONTAINER_CLS, CHART_FONT_FAMILY, COUNTRIES, CRITERION_TIER_KEYS, Callout, CalloutDescription, type CalloutProps, CalloutTitle, CardSkeleton, type CardSkeletonProps, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartGradientLegend, type ChartGradientLegendProps, ChartLegend, type ChartLegendItem, type ChartLegendProps, ChartLoadingSkeleton, ChartSkeleton, type ChartSkeletonProps$1 as ChartSkeletonProps, ChartTooltip, Checkbox, CircularProgress, type CircularProgressProps, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, type CommandPaletteRecentsConfig, CommandSeparator, CommandShortcut, CommentCard, type CommentCardProps, type CommentTag, ComparisonCard, type ComparisonCardProps, type ComparisonEntity, type ComparisonMetric, ComparisonRadar, type ComparisonRadarProps, type ComparisonWinner, type CompositionScale, type ConceptComposition, type ConceptPoint, ConceptPulseChart, type ConceptPulseChartProps, ConfirmDialog, type ConfirmDialogProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, type CopyButtonProps, type Country, type CountryCode, CountryPicker, type CountryPickerProps, type CriterionInputSpec, CriterionScoreCard, type CriterionScoreCardProps, type CriterionTierKey, type CriterionTierThresholds, type CriterionTrend, DEFAULT_CRITERION_THRESHOLDS, DEFAULT_PERIODS, DEFAULT_THRESHOLDS, DataTableColumn, DataTableColumnVisibility, DataTableColumnVisibilityToggle, type DataTableColumnVisibilityToggleProps, DataTableExportButton, type DataTableExportButtonProps, DatePicker, type DatePickerProps, DateRangePicker, DateRangePickerInline, type DateRangePickerProps, Dialog, 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, EmotionBadge, type EmotionBadgeProps, type EmotionData, EmotionDistribution, type EmotionDistributionProps, EmotionKey, Empty, EmptyAction, EmptyChart, type EmptyChartProps, type EmptyChartShape, EmptyDescription, EmptyIcon, EmptyTitle, type EngagementRange, type EngagementRangeWithDisplay, EngagementRate, EngagementRateBar, type EngagementRateBarProps, EngagementRateBenchmark, type EngagementRateBenchmarkProps, type EngagementRateProps, type EngagementTier, EntityHealthCard, EntityHealthCardActions, EntityHealthCardFooter, EntityHealthCardHeader, EntityHealthCardHeaderEnd, EntityHealthCardHeaderText, EntityHealthCardMeta, EntityHealthCardMetric, type EntityHealthCardMetricProps, EntityHealthCardMetrics, type EntityHealthCardMetricsProps, EntityHealthCardNarrative, EntityHealthCardPhase, type EntityHealthCardPhaseProps, type EntityHealthCardProps, EntityHealthCardScore, type EntityHealthCardScoreProps, EntityHealthCardSeverityBadge, type EntityHealthCardSeverityBadgeProps, EntityHealthCardSubtitle, EntityHealthCardTitle, type EntityHealthCardTitleProps, EntityHealthCardTrust, type EntityHealthCardTrustProps, EntityHealthKey, ErrorBoundary, type ErrorBoundaryProps, ErrorIllustration, ErrorState, type ErrorStateProps, type ExecutiveSummaryMetric, ExecutiveSummarySection, type ExecutiveSummarySectionProps, type ExportableColumn, type ExtendedPlatform, FOREGROUND_IMG_CLS, 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, FilterPanel, FilterPanelBody, FilterPanelClearAll, type FilterPanelClearAllProps, FilterPanelFooter, FilterPanelHeader, type FilterPanelProps, FilterPanelTitle, type FilterPanelTitleProps, FilterPanelTrigger, type FilterPanelTriggerProps, type FilterPreset, FilterSection, type FilterSectionProps, FilterStateShape, FirstRunIllustration, FlowBadge, type FlowBadgeProps, FlowCell, type FlowCellProps, FlowData, FlowDistributionSection, type FlowDistributionSectionProps, FlowKey, type FollowerGroup, ForbiddenIllustration, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormRowSkeleton, type FormRowSkeletonProps, GROUP_LABELS, HashtagInput, type TagInputProps as HashtagInputProps, type HashtagPerformanceData, HashtagPerformanceRow, type HashtagPerformanceRowProps, type HeatMapDatum, type HeatMapRow, HotkeyCombo, HoverCard, HoverCardContent, HoverCardTrigger, IRAN_PROVINCES, type Icon, Icons, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputProps, InputVariants, InputWithIcon, type InputWithIconProps, type IranProvince, type IranProvinceSlug, JobCard, JobCardActions, JobCardError, JobCardHeader, JobCardHeaderActions, JobCardHeaderText, JobCardMeta, JobCardMetaItem, type JobCardMetaItemProps, JobCardProgress, type JobCardProgressProps, type JobCardProps, JobCardStat, type JobCardStatProps, JobCardStats, type JobCardStatsProps, JobCardStatusBadge, type JobCardStatusBadgeProps, JobCardSubtitle, JobCardThumbnail, type JobCardThumbnailProps, JobCardTitle, type JobCardTitleProps, JobStatusKey, JobWizard, type JobWizardApi, JobWizardBack, type JobWizardBackProps, JobWizardBody, JobWizardCancel, type JobWizardCancelProps, JobWizardError, JobWizardFooter, JobWizardHeader, type JobWizardHeaderProps, JobWizardNext, type JobWizardNextProps, type JobWizardProps, JobWizardSkip, type JobWizardSkipProps, JobWizardSpacer, type JobWizardStep, JobWizardStepper, type JobWizardStepperProps, type JobWizardSubmitState, JobWizardSuccess, type JobWizardSuccessProps, type JobWizardValidationResult, Kbd, KbdGroup, Label, LabelChip, type LabelChipProps, LabelEditDialog, type LabelEditDialogProps, type LegacySize, MarkdownRenderer, type MarkdownRendererProps, 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, type MultiPlatformMetrics, MultiPlatformPostCard, type MultiPlatformPostCardProps, type MultiPlatformPostData, MultiSelect, type MultiSelectOption, type MultiSelectProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavGroup, type NavGroupProps, NavItem, type NavItemBaseProps, type NavItemProps, type NavMatchStrategy, NavPanel, NavPanelContent, NavPanelFooter, NavPanelHeader, NavRail, NavRailContent, NavRailFooter, NavRailHeader, NavRailItem, NavRailProvider, NavRailSeparator, NavRailTrigger, NavSeparator, NavTree, type NavTreeContextValue, NavTreeProvider, type NavTreeProviderProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, type NetworkLink, type NetworkNode, NoDataIllustration, NoResultsIllustration, NotificationCenter, type NotificationCenterProps, type NotificationFilter, type NotificationItem, type NotificationSeverity, NumberInputLocale, type NumberInputLocaleProps, 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, PartoHeatMap, type PartoHeatMapProps, PartoNetworkChart, type PartoNetworkChartProps, PartoRadarChart, type PartoRadarChartProps, PartoSankeyChart, type PartoSankeyChartProps, PartoScatterChart, type PartoScatterChartProps, type PartoToasterProps, PartoWordCloud, type PartoWordCloudProps, type PeriodOption, PeriodSelector, type PeriodSelectorProps, type PlatformMetadata, type PostAction, PostActions, type PostActionsProps, type PostAiAnalysis, type PostAiEntity, type PostAuthor, type PostAuthorityTier, PostBody, type PostBodyData, type PostBodyProps, type PostBulkAction, PostBulkActionBar, type PostBulkActionBarProps, PostCard, type PostCardProps, type PostCluster, type PostComment, type PostCommentAuthor, PostCrisisBanner, type PostCrisisBannerProps, type PostData, type PostDensity, type PostDetails, PostDetailsDrawer, type PostDetailsDrawerProps, PostDetailsModal, type PostDetailsModalProps, type PostDetailsTab$1 as PostDetailsTab, type PostEmotion, type PostEnrichmentFlags, type PostFlags, type PostFlow, type PostGroupBy, PostHeader, PostHeaderBroadcast, type PostHeaderBroadcastProps, PostHeaderEditorial, type PostHeaderEditorialProps, type PostHeaderProps, type PostIntent, PostList, type PostListProps, PostMedia, PostMediaAudio, PostMediaCarousel, PostMediaGrid, PostMediaHighlight, type PostMediaItem, PostMediaPlaceholder, type PostMediaPlaceholderProps, type PostMediaPlaceholderVariant, type PostMediaProps, PostMediaSensitiveOverlay, type PostMediaSensitivity, PostMediaSingle, PostMediaSourceRemoved, type PostMediaSourceRemovedProps, type PostMediaStatus, PostMediaStory, PostMediaVideo, PostMetadata, type PostMetadataProps, type PostMetrics, type PostOutlet, type PostPlatform, PostQuotedEmbed, type PostQuotedEmbedProps, PostRepostHeader, type PostRepostHeaderProps, type PostRepostInfo, type PostSentiment, type PostSeverity, PostSignals, type PostSignalsProps, type PostSortBy, type PostSource, type PostSourceCategory, type PostStatus, PostThreadConnector, type PostThreadConnectorProps, type PostThreadInfo, type PostUrlPreview, type PostUrlPreview as PostUrlPreviewData, type PostUrlPreviewProps, type PostView, type PostingFrequencyCell, PostingFrequencyHeatmap, type PostingFrequencyHeatmapProps, type PostingFrequencySummary, type PostingWeekStart, ProfileCard, type ProfileCardProps, ProfileInfo, type ProfileInfoProps, Progress, ProgressCell, type ProgressCellProps, type ProgressProps, type QuotaLevel, QuotaProgressBar, type QuotaProgressBarProps, type QuotaThresholds, RadioCardDescription, RadioCardItem, RadioCardTitle, RadioCards, RadioGroup, RadioGroupItem, RateLimitBanner, type RateLimitBannerProps, type ReactionBreakdown, RegionPicker, type RegionPickerKey, type RegionPickerProps, RegisteredHotkey, ReportComposer, type ReportComposerProps, ReportSection, type ReportSectionProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RouteProgress, type RouteProgressHandle, type RouteProgressProps, SENSITIVITY_LABEL, SONNER_DEFAULT_DURATION, SafeImage, type SafeImageProps, type SankeyLink, type SankeyNode, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, type SectionItem, SectionNavigator, type SectionNavigatorProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectTriggerVariants, SelectValue, SentimentBadge, type SentimentBadgeProps, SentimentBreakdownSection, type SentimentBreakdownSectionProps, SentimentCell, type SentimentCellProps, SentimentData, Separator, SeverityBadge, type SeverityBadgeProps, SeverityKey, ShortcutsCheatsheet, type ShortcutsCheatsheetProps, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiteHeader, SiteHeaderActions, SiteHeaderEnd, type SiteHeaderProps, SiteHeaderSeparator, SiteHeaderStart, SiteHeaderSubtitle, SiteHeaderTitle, SiteHeaderTitleGroup, type SizeWithLegacy, Skeleton, type SkeletonProps, Slider, SocialPlatform, type SourceBreakdownEntry, SourceBreakdownSection, type SourceBreakdownSectionProps, SparklineCell, type SparklineCellProps, Spinner, type SpinnerProps, StageStatusKey, type StandardSize, StatDeltaCell, type StatDeltaCellProps, StatDisplay, type StatDisplayProps, StatusBadge, type StatusBadgeProps, StatusFlow, type StatusFlowOrientation, type StatusFlowProps, type StatusFlowSize, StatusFlowStage, type StatusFlowStageData, type StatusFlowStageProps, StatusKey, StatusPulseCell, type StatusPulseCellProps, Step, type StepProps, Stepper, type StepperProps, SupportedLocale, Switch, type SwitchProps, TIER_LABELS, Table, TableBody, TableCaption, TableCell, TableComparisonView, type TableComparisonViewProps, TableFooter, TableHead, TableHeader, TableRow, TableRowSkeleton, type TableRowSkeletonProps, TableSkeleton, type TableSkeletonProps, TableSortHeader, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, TaskList, type TaskListGroup, type TaskListProps, Textarea, TimelineSection, type TimelineSectionProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, TooltipContent, TopPostsSection, type TopPostsSectionProps, TrendCell, type TrendCellProps, TrendIndicator, type TrendIndicatorProps, type UseAsyncReturn, type UseClipboardOptions, type UseClipboardReturn, type UseFilterParamsOptions, type UseFilterPresetsOptions, type UseFilterPresetsReturn, type UseInfiniteScrollOptions, type UseInfiniteScrollReturn, type UseJobWizardOptions, UserAutocomplete, type UserAutocompleteProps, type UserItem, UserMenu, type UserMenuItem, type UserMenuProps, type UserMenuUser, type ViewMode, ViewToggle, type ViewToggleProps, type WordData, actionTypeChipVariants, appBarVariants, avatarGroupVariants, bannerVariants, buildCsv, buildPostingFrequencyRows, buildTsv, buttonGroupVariants, calloutVariants, computeComparisonWinners, countComparisonWins, countryFlag, defaultActions as defaultPostActions, downloadFile, findCountry, findProvince, findTierIndex, formatJalaliDate, formatPersianDateRange, getCountryLabel, getCriterionTier, getCurrentRangeIndex, getEngagementRanges, getEngagementRateBenchmarkTiers, getFollowerGroup, getMetricLabel, getPersianDay, getPersianMonth, getPersianMonthName, getPersianMonthNameShort, getPersianMonthsForDropdown, getPersianWeekdayName, getPersianYear, getPersianYearsForDropdown, getPostSourceConfig, getProvinceLabel, getScoreBenchmarkTiers, getSourceColorVar, tagInputVariants as hashtagInputVariants, jalaliToGregorian, labelChipVariants, localeAwareCategoryTick, localeAwareNumberTick, navItemVariants, navigationMenuTriggerStyle, normalizeSize, normalizeUrlDigits, pageLoaderVariants, postCardVariants, postHeaderVariants, profileCardVariants, resolveLevel, siteHeaderVariants, sourceCategory, spinnerVariants, statDisplayVariants, tagInputVariants, toEnglishDigits, toPersianDigits, toggleVariants, transformNivoLineData, useAsync, useBreakpoint, useChartTheme, useClipboard, useDebounce, useDocumentDirection, useFilterParams, useFilterPresets, useFormField, useInfiniteScroll, useIsMobile, useJobWizard, useJobWizardState, useLocalStorage, useMediaQuery, useNavRail, useNavTree, useOutsideClick, usePrevious, useRootStyles, useScrollLock, useSidebar };
|