@mahatisystems/mahati-ui-components 5.1.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,877 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import React__default from 'react';
4
+ import { ChartData } from 'chart.js';
5
+
6
+ interface AccordionProps {
7
+ title: string;
8
+ children?: React__default.ReactNode;
9
+ defaultOpen?: boolean;
10
+ accordionTestId?: string;
11
+ headerTestId?: string;
12
+ contentTestId?: string;
13
+ }
14
+ declare function Accordion({ title, children, defaultOpen, accordionTestId, headerTestId, contentTestId, }: AccordionProps): react_jsx_runtime.JSX.Element;
15
+ declare namespace Accordion {
16
+ var displayName: string;
17
+ }
18
+
19
+ interface IconButtonGroupProps extends React__default.HTMLAttributes<HTMLDivElement> {
20
+ direction?: "row" | "col";
21
+ gapClass?: string;
22
+ }
23
+ declare const IconButtonGroup: React__default.ForwardRefExoticComponent<IconButtonGroupProps & React__default.RefAttributes<HTMLDivElement>>;
24
+ declare const ButtonBase: any;
25
+ type ButtonWithGroup = typeof ButtonBase & {
26
+ IconButtonGroup: typeof IconButtonGroup;
27
+ };
28
+ declare const Button: ButtonWithGroup;
29
+
30
+ declare const Card: any;
31
+
32
+ type MahatiModalSize = "default" | "sm" | "md" | "lg" | "xl";
33
+ type MahatiModalProps = {
34
+ isOpen: boolean;
35
+ testId?: string;
36
+ onOpenChange?: (open: boolean) => void;
37
+ onClose: () => void;
38
+ title?: string;
39
+ subtitle?: string;
40
+ size?: MahatiModalSize;
41
+ children?: React.ReactNode;
42
+ className?: string;
43
+ width?: string | number;
44
+ height?: string | number;
45
+ margin?: string | number;
46
+ position?: "center" | "top-left" | "top-right" | "top-center" | "bottom-left" | "bottom-right" | "bottom-center" | "center-left" | "center-right";
47
+ primaryAction?: {
48
+ label?: React.ReactNode;
49
+ onClick?: () => void;
50
+ disabled?: boolean;
51
+ };
52
+ secondaryAction?: {
53
+ label?: React.ReactNode;
54
+ onClick?: () => void;
55
+ };
56
+ headerIcon?: React.ReactNode;
57
+ showDivider?: boolean;
58
+ };
59
+ declare function Modal({ testId, isOpen, onClose, title, subtitle, children, className, width: customWidth, height, margin, primaryAction, secondaryAction, headerIcon, showDivider, position, size, }: MahatiModalProps): react_jsx_runtime.JSX.Element | null;
60
+ declare namespace Modal {
61
+ var displayName: string;
62
+ }
63
+
64
+ interface FormContainerProps {
65
+ children: React__default.ReactNode;
66
+ onSubmit?: (e: React__default.FormEvent) => void;
67
+ className?: string;
68
+ style?: React__default.CSSProperties;
69
+ testId?: string;
70
+ }
71
+ declare const FormContainer: {
72
+ ({ children, onSubmit, style, testId, className, }: FormContainerProps): react_jsx_runtime.JSX.Element;
73
+ displayName: string;
74
+ };
75
+
76
+ declare const Input: any;
77
+
78
+ interface CalendarDate {
79
+ year: number;
80
+ month: number;
81
+ day: number;
82
+ }
83
+ interface CalendarTime {
84
+ hour: number;
85
+ minute: number;
86
+ period: "AM" | "PM";
87
+ }
88
+ interface CalendarDateRange {
89
+ start: CalendarDate | null;
90
+ end: CalendarDate | null;
91
+ }
92
+ type CalendarSize = "small" | "medium" | "large" | "extra-large";
93
+ interface CalendarProps {
94
+ calendartestId?: string;
95
+ value?: CalendarDate | null;
96
+ onChange?: (date: CalendarDate | null, dateString?: string) => void;
97
+ enableRangeSelection?: boolean;
98
+ rangeValue?: CalendarDateRange;
99
+ previewTextStyles?: React__default.CSSProperties;
100
+ globalTypography?: React__default.CSSProperties;
101
+ onRangeChange?: (range: CalendarDateRange) => void;
102
+ enableTimeSelection?: boolean;
103
+ timeValue?: CalendarTime | null;
104
+ onTimeChange?: (time: CalendarTime) => void;
105
+ showTimeFormatToggle?: boolean;
106
+ timeFormat?: "12h" | "24h";
107
+ onTimeFormatChange?: (format: "12h" | "24h") => void;
108
+ autoHide?: boolean;
109
+ showTodayButton?: boolean;
110
+ showClearButton?: boolean;
111
+ placeholder?: string;
112
+ className?: string;
113
+ disabled?: boolean;
114
+ onShow?: () => void;
115
+ onHide?: () => void;
116
+ icon?: React__default.ReactNode;
117
+ showIcon?: boolean;
118
+ size?: CalendarSize;
119
+ enableYearDropdown?: boolean;
120
+ showDateFormatSelector?: boolean;
121
+ dateFormat?: string;
122
+ onDateFormatChange?: (format: string) => void;
123
+ showTimeZoneSelector?: boolean;
124
+ timeZoneFormat?: string;
125
+ onTimeZoneFormatChange?: (format: string) => void;
126
+ blockDateConfig?: {
127
+ startDate: CalendarDate;
128
+ days: number;
129
+ };
130
+ }
131
+ declare const Calendar: {
132
+ ({ calendartestId, value, onChange, enableRangeSelection, rangeValue, onRangeChange, enableTimeSelection, timeValue, onTimeChange, showTimeFormatToggle, timeFormat, onTimeFormatChange, autoHide, showTodayButton, showClearButton, placeholder, className, disabled, onShow, onHide, icon, showIcon, size, enableYearDropdown, showDateFormatSelector, dateFormat, onDateFormatChange, showTimeZoneSelector, timeZoneFormat, onTimeZoneFormatChange, blockDateConfig, previewTextStyles, globalTypography }: CalendarProps): react_jsx_runtime.JSX.Element;
133
+ displayName: string;
134
+ };
135
+
136
+ type FilterValues = {
137
+ date: CalendarDateRange;
138
+ activity: string;
139
+ status: string;
140
+ keyword: string;
141
+ };
142
+ type FieldSize = "small" | "medium";
143
+ interface SelectOption {
144
+ label: string;
145
+ value: string | number;
146
+ }
147
+ interface MahatiActivityProps {
148
+ value: string | number;
149
+ onChange: (v: string | number) => void;
150
+ options?: SelectOption[];
151
+ size?: FieldSize;
152
+ testId?: string;
153
+ }
154
+ interface MahatiStatusProps {
155
+ value: string | number;
156
+ onChange: (v: string | number) => void;
157
+ options?: SelectOption[];
158
+ size?: FieldSize;
159
+ testId?: string;
160
+ }
161
+ interface MahatiSearchProps {
162
+ value: string;
163
+ onChange: (v: string) => void;
164
+ placeholder?: string;
165
+ size?: FieldSize;
166
+ testId?: string;
167
+ }
168
+ declare const DEFAULT_ACTIVITY_OPTIONS: SelectOption[];
169
+ declare const DEFAULT_STATUS_OPTIONS: SelectOption[];
170
+ interface FilterProps {
171
+ onApply?: (filters: FilterValues) => void;
172
+ onReset?: () => void;
173
+ activityOptions?: SelectOption[];
174
+ statusOptions?: SelectOption[];
175
+ searchPlaceholder?: string;
176
+ testId?: string;
177
+ }
178
+ declare const Filter$1: {
179
+ ({ onApply, onReset, activityOptions, statusOptions, searchPlaceholder, testId, }: FilterProps): react_jsx_runtime.JSX.Element;
180
+ displayName: string;
181
+ };
182
+ /** ================= MAHATI ACTIVITY ================= */
183
+ declare const MahatiActivity: {
184
+ ({ value, onChange, options, size, testId, }: MahatiActivityProps): react_jsx_runtime.JSX.Element;
185
+ displayName: string;
186
+ };
187
+ /** ================= MAHATI STATUS ================= */
188
+ declare const MahatiStatus: {
189
+ ({ value, onChange, options, size, testId, }: MahatiStatusProps): react_jsx_runtime.JSX.Element;
190
+ displayName: string;
191
+ };
192
+ /** ================= MAHATI SEARCH ================= */
193
+ declare const MahatiSearch: {
194
+ ({ value, onChange, placeholder, size, testId, }: MahatiSearchProps): react_jsx_runtime.JSX.Element;
195
+ displayName: string;
196
+ };
197
+
198
+ interface Tab {
199
+ label: string;
200
+ content: React__default.ReactNode;
201
+ icon?: React__default.ReactNode;
202
+ }
203
+ interface TabbedInterfaceProps {
204
+ tabs: Tab[];
205
+ variant?: "underline" | "pill" | "outline" | "filled" | "gradient" | "shadow" | "glass" | "dark";
206
+ testId?: string;
207
+ defaultActiveTab?: number;
208
+ onTabChange?: (index: number) => void;
209
+ draggableTabs?: boolean;
210
+ onReorderTabs?: (fromIndex: number, toIndex: number) => void;
211
+ orientation?: "horizontal" | "vertical";
212
+ verticalPosition?: "left" | "right";
213
+ showTabCloseIconInHeader?: boolean;
214
+ tabCloseIconPosition?: "left" | "right";
215
+ tabCloseIconContent?: React__default.ReactNode;
216
+ onCloseTab?: (index: number) => void;
217
+ tabHeaderFont?: string;
218
+ tabContentFont?: string;
219
+ sectionTitleFont?: string;
220
+ sectionDescriptionFont?: string;
221
+ }
222
+ declare const TabbedInterface: {
223
+ ({ tabs, variant, defaultActiveTab, onTabChange, draggableTabs, onReorderTabs, orientation, verticalPosition, showTabCloseIconInHeader, tabCloseIconPosition, tabCloseIconContent, onCloseTab, tabHeaderFont, tabContentFont, sectionTitleFont, sectionDescriptionFont, testId }: TabbedInterfaceProps): any;
224
+ displayName: string;
225
+ };
226
+
227
+ interface DropdownOption {
228
+ key: string;
229
+ value: string | number;
230
+ }
231
+ interface DropdownProps {
232
+ options: DropdownOption[];
233
+ value?: string | number;
234
+ onSelect: (value: string | number) => void;
235
+ variant?: "basic" | "outline" | "pill" | "dark" | "underline" | "shadow" | "glass" | "gradient";
236
+ className?: string;
237
+ placeholder?: string;
238
+ disabled?: boolean;
239
+ testId?: string;
240
+ }
241
+ declare const Dropdown: {
242
+ ({ options, value, onSelect, variant, className, placeholder, disabled, testId }: DropdownProps): react_jsx_runtime.JSX.Element;
243
+ displayName: string;
244
+ };
245
+
246
+ interface TableProps {
247
+ headers: {
248
+ label: React__default.ReactNode;
249
+ key: string;
250
+ }[];
251
+ data: {
252
+ [key: string]: unknown;
253
+ }[];
254
+ tableTestId?: string;
255
+ page?: number;
256
+ setPage?: (page: number) => void;
257
+ limit?: number;
258
+ setLimit?: (limit: number) => void;
259
+ totalCount?: number;
260
+ paginationRequired?: boolean;
261
+ paginationPosition?: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
262
+ highlightRowColor?: string;
263
+ actions?: (row: unknown) => React__default.ReactNode;
264
+ onDownloadPDF?: (data: any[], headers: any[]) => void;
265
+ onDownloadExcel?: (data: any[], headers: any[]) => void;
266
+ searchable?: boolean;
267
+ searchTerm?: string;
268
+ onSearch?: (term: string, mode?: "startsWith" | "includes") => void;
269
+ searchModeOptions?: ("startsWith" | "includes")[];
270
+ onResetSearch?: () => void;
271
+ summary?: "single" | "multi";
272
+ summaryKey?: string;
273
+ summaryTitleField?: string;
274
+ summaryColumn?: boolean;
275
+ summaryColumnKey?: string;
276
+ summaryColumnMaxLength?: number;
277
+ textWrapColumns?: string[];
278
+ textWrapMaxLength?: number;
279
+ textWrapColumnMaxLengths?: Record<string, number>;
280
+ }
281
+ declare const Table: ({ headers, data, page, setPage, limit, setLimit, totalCount, highlightRowColor, actions, paginationRequired, paginationPosition, onDownloadPDF, onDownloadExcel, searchable, searchTerm, onResetSearch, onSearch, searchModeOptions, summary, summaryKey, summaryTitleField, summaryColumn, summaryColumnKey, summaryColumnMaxLength, textWrapColumns, textWrapMaxLength, textWrapColumnMaxLengths, tableTestId, }: TableProps) => react_jsx_runtime.JSX.Element;
282
+
283
+ type BaseTableProps = React__default.ComponentProps<typeof Table>;
284
+ type BaseTabProps = React__default.ComponentProps<typeof TabbedInterface>;
285
+ type AllowedTabProps = Omit<BaseTabProps, "tabs" | "onTabChange" | "draggableTabs" | "onReorderTabs" | "onCloseTab">;
286
+ interface TableWithTabProps<RowType extends Record<string, any>> {
287
+ tableProps: Pick<BaseTableProps, "headers" | "data">;
288
+ tabProps?: AllowedTabProps;
289
+ rearrange?: boolean;
290
+ getRowId?: (row: RowType, index: number) => string | number;
291
+ renderTabContent?: (row: RowType) => React__default.ReactNode;
292
+ onRowOpenInTab?: (row: RowType) => void;
293
+ title?: string;
294
+ description?: string;
295
+ testId?: string;
296
+ tabLabelKey?: string;
297
+ sectionTitleFont?: string;
298
+ sectionDescriptionFont?: string;
299
+ }
300
+ declare function TableWithTab<RowType extends Record<string, any>>({ tableProps, tabProps, rearrange, getRowId, renderTabContent, onRowOpenInTab, title, description, tabLabelKey, sectionTitleFont, sectionDescriptionFont, testId, }: TableWithTabProps<RowType>): react_jsx_runtime.JSX.Element;
301
+ declare namespace TableWithTab {
302
+ var displayName: string;
303
+ }
304
+
305
+ interface LollipopData {
306
+ title: string;
307
+ [year: string]: any;
308
+ }
309
+
310
+ interface ColumnChartYAxisConfig {
311
+ min: number;
312
+ max: number;
313
+ step: number;
314
+ labels: number[];
315
+ }
316
+ interface ColumnChartData {
317
+ title: string;
318
+ yAxis?: Record<string, ColumnChartYAxisConfig>;
319
+ [year: string]: string | Record<string, any> | undefined;
320
+ }
321
+
322
+ interface KPIChartData {
323
+ title: string;
324
+ value: string;
325
+ change?: number;
326
+ timeLabel: string;
327
+ timePeriod: string;
328
+ data: number[];
329
+ labels?: string[];
330
+ timePeriods?: string[];
331
+ timestamps?: string[];
332
+ }
333
+
334
+ interface GroupBarLegendItem {
335
+ key: string;
336
+ label: string;
337
+ color: string;
338
+ }
339
+ interface GroupBarChartYAxisConfig {
340
+ min: number;
341
+ max: number;
342
+ step: number;
343
+ labels: number[];
344
+ }
345
+ interface GroupBarChartData {
346
+ title: string;
347
+ legends?: GroupBarLegendItem[];
348
+ yAxis?: Record<string, GroupBarChartYAxisConfig>;
349
+ [year: string]: string | Record<string, any> | undefined;
350
+ }
351
+
352
+ interface StackBarLegendItem {
353
+ key: string;
354
+ label: string;
355
+ color: string;
356
+ }
357
+ interface StackBarChartYAxisConfig {
358
+ min: number;
359
+ max: number;
360
+ step: number;
361
+ labels: number[];
362
+ }
363
+ interface StackBarChartData {
364
+ title: string;
365
+ legends?: StackBarLegendItem[];
366
+ yAxis?: Record<string, StackBarChartYAxisConfig>;
367
+ [year: string]: string | Record<string, any> | undefined;
368
+ }
369
+
370
+ interface BulletItem {
371
+ name: string;
372
+ achieved: number;
373
+ target: number;
374
+ marker: number;
375
+ }
376
+ interface BulletData {
377
+ title: string;
378
+ bullets: BulletItem[];
379
+ }
380
+
381
+ interface GaugeItem {
382
+ name: string;
383
+ value: number;
384
+ max: number;
385
+ }
386
+ interface GaugeData {
387
+ title: string;
388
+ gauges: GaugeItem[];
389
+ [key: string]: any;
390
+ }
391
+
392
+ interface HorizontalBarData {
393
+ title: string;
394
+ xAxis?: Record<string, {
395
+ min: number;
396
+ max: number;
397
+ step: number;
398
+ labels: number[];
399
+ }>;
400
+ [year: string]: string | Record<string, any> | undefined;
401
+ }
402
+
403
+ declare const GANTT_COLORS: {
404
+ readonly green: "rgba(44, 160, 44, 1)";
405
+ readonly blue: "rgba(37, 99, 235, 1)";
406
+ readonly orange: "rgba(255, 127, 14, 1)";
407
+ readonly red: "rgba(239, 68, 68, 1)";
408
+ readonly purple: "rgba(147, 51, 234, 1)";
409
+ readonly teal: "rgba(20, 184, 166, 1)";
410
+ readonly pink: "rgba(236, 72, 153, 1)";
411
+ readonly yellow: "rgba(234, 179, 8, 1)";
412
+ readonly indigo: "rgba(99, 102, 241, 1)";
413
+ readonly emerald: "rgba(16, 185, 129, 1)";
414
+ };
415
+ interface GanttTask {
416
+ id: string;
417
+ name: string;
418
+ startDate: string;
419
+ endDate: string;
420
+ progress: number;
421
+ status: "In Progress" | "On Target" | "Overdue" | "Completed";
422
+ color: keyof typeof GANTT_COLORS;
423
+ }
424
+ interface GanttData {
425
+ title: string;
426
+ projectName: string;
427
+ tasks: GanttTask[];
428
+ }
429
+
430
+ interface HeatmapDayData {
431
+ date: string;
432
+ value: number;
433
+ label?: string;
434
+ }
435
+ interface HeatmapData {
436
+ year: number;
437
+ month: string;
438
+ data: HeatmapDayData[];
439
+ project?: string;
440
+ }
441
+
442
+ type ChartType = "pie" | "doughnut" | "line" | "area" | "bar" | "bullet" | "gauge" | "gantt" | "calendarheatmap" | "horizontalbar" | "columnchart" | "groupbar" | "lollipop" | "kpi" | "riskgauge" | "stackbar";
443
+ interface Filter {
444
+ id: string;
445
+ label: string;
446
+ options: string[];
447
+ }
448
+ interface ChartFiltersConfig {
449
+ pie?: Filter[];
450
+ doughnut?: Filter[];
451
+ line?: Filter[];
452
+ area?: Filter[];
453
+ bar?: Filter[];
454
+ bullet?: Filter[];
455
+ gauge?: Filter[];
456
+ gantt?: Filter[];
457
+ heatmap?: Filter[];
458
+ calendarheatmap?: Filter[];
459
+ horizontalbar?: Filter[];
460
+ columnchart?: Filter[];
461
+ groupbar?: Filter[];
462
+ stackbar?: Filter[];
463
+ lollipop?: Filter[];
464
+ kpi?: Filter[];
465
+ riskgauge?: Filter[];
466
+ }
467
+ interface DetailItem {
468
+ label: string;
469
+ value: string;
470
+ color: string;
471
+ description: string;
472
+ status?: "In Progress" | "Overdue" | "On Target";
473
+ }
474
+ interface MahatiChartAnalyticsWidgetProps {
475
+ title: string;
476
+ chartTypes: ChartType[];
477
+ initialChartType: ChartType;
478
+ filters: Filter[];
479
+ chartFilters?: ChartFiltersConfig;
480
+ selectedFilters: Record<string, string>;
481
+ chartDataMap: Record<ChartType, ChartData<any>>;
482
+ bulletData?: BulletData;
483
+ gaugeData?: GaugeData;
484
+ horizontalBarData?: HorizontalBarData;
485
+ columnChartData?: ColumnChartData;
486
+ groupBarData?: GroupBarChartData;
487
+ stackBarData?: StackBarChartData;
488
+ lollipopData?: LollipopData;
489
+ kpiData?: Record<string, KPIChartData>;
490
+ riskGaugeData?: any;
491
+ ganttData?: Record<string, Record<string, GanttData>>;
492
+ heatmapData?: Record<string, HeatmapData>;
493
+ calendarheatmapData?: Record<string, any>;
494
+ onApplyFilters?: (filters: Record<string, string>) => void;
495
+ onChartTypeChange?: (chartType: ChartType) => void;
496
+ onFiltersChange: (filters: Record<string, string>) => void;
497
+ details: DetailItem[];
498
+ quickStats: {
499
+ totalVolume: {
500
+ value: string;
501
+ change: string;
502
+ description: string;
503
+ };
504
+ transactions: {
505
+ value: string;
506
+ description: string;
507
+ };
508
+ };
509
+ actionButtons: {
510
+ label: string;
511
+ style: "danger" | "primary" | "success" | "mahati";
512
+ onClick: () => void;
513
+ }[];
514
+ }
515
+ declare const MahatiChartAnalyticsWidget: {
516
+ ({ title, chartTypes, initialChartType, filters, chartFilters, selectedFilters, chartDataMap, bulletData, gaugeData, horizontalBarData, columnChartData, groupBarData, stackBarData, lollipopData, kpiData, riskGaugeData, ganttData, heatmapData, calendarheatmapData, onApplyFilters, quickStats, actionButtons, onChartTypeChange, onFiltersChange, details, }: MahatiChartAnalyticsWidgetProps): react_jsx_runtime.JSX.Element;
517
+ displayName: string;
518
+ };
519
+
520
+ interface TooltipProps {
521
+ text?: string | React__default.ReactNode;
522
+ testId?: string;
523
+ position?: "top" | "right" | "bottom" | "left";
524
+ children: React__default.ReactNode;
525
+ variant?: "default" | "transparent";
526
+ className?: string;
527
+ textColor?: string;
528
+ backgroundColor?: string;
529
+ image?: {
530
+ src: string;
531
+ alt?: string;
532
+ width?: number;
533
+ height?: number;
534
+ };
535
+ animation?: {
536
+ component: React__default.ComponentType<any>;
537
+ props?: any;
538
+ triggerDelay?: number;
539
+ };
540
+ }
541
+ declare const Tooltip: {
542
+ ({ text, position, children, variant, className, textColor, backgroundColor, image, testId, animation }: TooltipProps): any;
543
+ displayName: string;
544
+ };
545
+
546
+ type ToastType = "success" | "error" | "warning" | "notification";
547
+ type BackgroundType = "solid" | "transparent";
548
+ interface CustomToastStyles {
549
+ containerBackground?: string;
550
+ containerBorderRadius?: string;
551
+ containerBoxShadow?: string;
552
+ containerWidth?: string;
553
+ containerHeight?: string;
554
+ containerPaddingLeft?: string;
555
+ stripBackground?: string;
556
+ stripWidth?: string;
557
+ stripLeft?: string;
558
+ stripBorderRadius?: string;
559
+ titleColor?: string;
560
+ titleFontFamily?: string;
561
+ titleFontSize?: string;
562
+ titleFontWeight?: string;
563
+ titleFontStyle?: string;
564
+ titleLineHeight?: string;
565
+ messageColor?: string;
566
+ messageFontFamily?: string;
567
+ messageFontSize?: string;
568
+ messageFontWeight?: string;
569
+ messageFontStyle?: string;
570
+ messageLineHeight?: string;
571
+ messageOpacity?: string;
572
+ messageMarginTop?: string;
573
+ iconSrc?: string;
574
+ iconWidth?: string;
575
+ iconHeight?: string;
576
+ iconMarginRight?: string;
577
+ closeIconSrc?: string;
578
+ closeIconWidth?: string;
579
+ closeIconHeight?: string;
580
+ closeButtonOpacity?: string;
581
+ closeButtonMarginLeft?: string;
582
+ }
583
+ interface ActionButton {
584
+ label: string;
585
+ onClick: () => void;
586
+ variant?: 'primary' | 'secondary';
587
+ backgroundColor?: string;
588
+ textColor?: string;
589
+ borderColor?: string;
590
+ hoverBackgroundColor?: string;
591
+ fontSize?: string;
592
+ fontWeight?: string;
593
+ padding?: string;
594
+ borderRadius?: string;
595
+ }
596
+ interface ToastMessageProps extends React__default.HTMLAttributes<HTMLDivElement> {
597
+ type?: ToastType;
598
+ title?: string;
599
+ message?: string;
600
+ onClose?: () => void;
601
+ showClose?: boolean;
602
+ duration?: number;
603
+ background?: BackgroundType;
604
+ custom?: CustomToastStyles;
605
+ action?: ActionButton[];
606
+ testId?: string;
607
+ }
608
+ declare const ToastMessage: React__default.ForwardRefExoticComponent<ToastMessageProps & React__default.RefAttributes<HTMLDivElement>>;
609
+
610
+ interface ConfettiExplosionProps$1 {
611
+ isActive: boolean;
612
+ particleCount?: number;
613
+ duration?: number;
614
+ colors?: string[];
615
+ force?: number;
616
+ particleSize?: number;
617
+ stageHeight?: number;
618
+ testId?: string;
619
+ }
620
+ declare const ConfettiExplosion: React__default.FC<ConfettiExplosionProps$1>;
621
+
622
+ interface ConfettiExplosionProps {
623
+ isActive: boolean;
624
+ particleCount?: number;
625
+ duration?: number;
626
+ colors?: string[];
627
+ force?: number;
628
+ particleSize?: number;
629
+ stageHeight?: number;
630
+ testId?: string;
631
+ }
632
+ declare const RealisticConfetti: React__default.FC<ConfettiExplosionProps>;
633
+
634
+ interface SpinnerProps {
635
+ size?: number;
636
+ borderWidth?: number;
637
+ borderRadius?: number | string;
638
+ primaryColor?: string;
639
+ backgroundColor?: string;
640
+ speed?: number;
641
+ testId?: string;
642
+ }
643
+ declare const Spinner: ({ size, borderWidth, borderRadius, primaryColor, backgroundColor, speed, testId, }: SpinnerProps) => any;
644
+ interface CircularSpinnerProps {
645
+ size?: number;
646
+ color?: string;
647
+ speed?: number;
648
+ ringCount?: number;
649
+ testId?: string;
650
+ }
651
+ declare const CircularSpinner: ({ size, color, speed, ringCount, testId, }: CircularSpinnerProps) => any;
652
+ interface CardOverlayLoaderProps {
653
+ show?: boolean;
654
+ spinnerSize?: number;
655
+ spinnerBorderWidth?: number;
656
+ spinnerPrimary?: string;
657
+ spinnerTrack?: string;
658
+ backdrop?: string;
659
+ label?: string;
660
+ testId?: string;
661
+ }
662
+ declare const CardOverlayLoader: ({ show, spinnerSize, spinnerBorderWidth, spinnerPrimary, spinnerTrack, backdrop, label, testId, }: CardOverlayLoaderProps) => any;
663
+ interface LoadingDotsProps {
664
+ size?: number;
665
+ color?: string;
666
+ gap?: number;
667
+ speed?: number;
668
+ count?: number;
669
+ testId?: string;
670
+ }
671
+ declare const LoadingDots: ({ size, color, gap, speed, count, testId, }: LoadingDotsProps) => any;
672
+ interface LoadingDotsLinearProps {
673
+ size?: number;
674
+ color?: string;
675
+ gap?: number;
676
+ speed?: number;
677
+ count?: number;
678
+ testId?: string;
679
+ }
680
+ declare const LoadingDotsLinear: ({ size, color, gap, speed, count, testId, }: LoadingDotsLinearProps) => any;
681
+ interface CardWithLoadingProps {
682
+ loading?: boolean;
683
+ imageUrl?: string;
684
+ title?: string;
685
+ content?: string;
686
+ testId?: string;
687
+ }
688
+ declare const CardWithLoading: ({ loading, imageUrl, title, content, testId, }: CardWithLoadingProps) => any;
689
+
690
+ declare function SearchableDropdown({ label, options, value, onChange, placeholder, testId }: any): react_jsx_runtime.JSX.Element;
691
+ declare function MultiSelectDropdown({ label, options, values, onChange, testId }: {
692
+ testId?: string;
693
+ label?: string;
694
+ options: {
695
+ label: string;
696
+ value: string;
697
+ }[];
698
+ values: string[];
699
+ onChange: (values: string[]) => void;
700
+ }): react_jsx_runtime.JSX.Element;
701
+ type CascadeOption = {
702
+ label: string;
703
+ value: string;
704
+ children?: CascadeOption[];
705
+ testId?: string;
706
+ };
707
+ interface CascadingValue {
708
+ level1?: string;
709
+ level2?: string;
710
+ level3?: string;
711
+ }
712
+ interface CascadingDropdownProps {
713
+ label?: string;
714
+ data: CascadeOption[];
715
+ testId?: string;
716
+ value: CascadingValue;
717
+ onChange: (val: CascadingValue) => void;
718
+ }
719
+ declare function CascadingDropdown({ label, data, value, testId, onChange, }: CascadingDropdownProps): react_jsx_runtime.JSX.Element;
720
+ type GroupedOption = {
721
+ label: string;
722
+ value: string;
723
+ };
724
+ type GroupedGroup = {
725
+ label: string;
726
+ options: GroupedOption[];
727
+ };
728
+ type GroupValue = {
729
+ section: string;
730
+ values: string[];
731
+ } | null;
732
+ type GroupedDropdownProps = {
733
+ label?: string;
734
+ testId?: string;
735
+ groups: GroupedGroup[];
736
+ values: GroupValue;
737
+ onChange: (val: GroupValue) => void;
738
+ };
739
+ declare function GroupedDropdown({ label, groups, values, onChange, testId }: GroupedDropdownProps): react_jsx_runtime.JSX.Element;
740
+ interface AvatarDropdownProps {
741
+ label?: string;
742
+ string?: string;
743
+ placeholder?: string;
744
+ options: AvatarOption[];
745
+ value?: string;
746
+ testId?: string;
747
+ onChange: (value: string) => void;
748
+ }
749
+ declare function AvatarDropdown({ label, placeholder, options, value, testId, onChange, }: AvatarDropdownProps): react_jsx_runtime.JSX.Element;
750
+ interface AvatarOption {
751
+ label: string;
752
+ value: string;
753
+ subtitle?: string;
754
+ image: string;
755
+ }
756
+ interface AvatarOption {
757
+ label: string;
758
+ value: string;
759
+ subtitle?: string;
760
+ image: string;
761
+ }
762
+ interface AvatarMultiSelectProps {
763
+ label?: string;
764
+ placeholder?: string;
765
+ options: AvatarOption[];
766
+ values: string[];
767
+ testId?: string;
768
+ onChange: (values: string[]) => void;
769
+ }
770
+ declare function AvatarMultiSelectDropdown({ label, placeholder, options, values, testId, onChange, }: AvatarMultiSelectProps): react_jsx_runtime.JSX.Element;
771
+ interface AsyncDropdownProps {
772
+ label?: string;
773
+ placeholder?: string;
774
+ value?: string;
775
+ disabled?: boolean;
776
+ testId?: string;
777
+ loadOptions: (search: string) => Promise<{
778
+ label: string;
779
+ value: string;
780
+ }[]>;
781
+ onChange: (value: string) => void;
782
+ }
783
+ declare function AsyncDropdown({ label, placeholder, value, disabled, testId, loadOptions, onChange, }: AsyncDropdownProps): react_jsx_runtime.JSX.Element;
784
+
785
+ type IconSet = {
786
+ play: string;
787
+ pause: string;
788
+ stop: string;
789
+ repeat: string;
790
+ skipForward: string;
791
+ skipBackward: string;
792
+ tenForward: string;
793
+ tenBackward: string;
794
+ };
795
+ declare const TexttoAudio: ({ icons }: {
796
+ icons?: IconSet;
797
+ }) => react_jsx_runtime.JSX.Element;
798
+
799
+ declare const MahatiLocationAccessModal: ({ isOpen, onClose, title, description, image, allowText, denyText, onAllow, onDeny, testId, }: any) => any;
800
+ interface MahatiCameraAccessModalProps {
801
+ testId?: string;
802
+ isOpen: boolean;
803
+ onClose: () => void;
804
+ title: string;
805
+ description: string;
806
+ image?: string;
807
+ allowText: string;
808
+ denyText?: string;
809
+ onAllow?: (stream?: MediaStream) => void;
810
+ onDeny?: () => void;
811
+ }
812
+ declare const MahatiCameraAccessModal: ({ isOpen, onClose, title, description, image, allowText, denyText, onAllow, onDeny, testId }: MahatiCameraAccessModalProps) => any;
813
+ declare const MahatiMicrophoneAccessModal: ({ isOpen, onClose, title, description, image, allowText, denyText, onAllow, onDeny, testId }: any) => any;
814
+ interface MahatiPromotionModalProps {
815
+ isOpen: boolean;
816
+ onClose: () => void;
817
+ headerTitle: string;
818
+ title: string;
819
+ description: string;
820
+ ctaText: string;
821
+ onCtaClick?: (value?: string) => void;
822
+ ctaLink?: string;
823
+ openInNewTab?: boolean;
824
+ showInput?: boolean;
825
+ inputPlaceholder?: string;
826
+ testId?: string;
827
+ }
828
+ declare const MahatiPromotionModal: ({ isOpen, onClose, ctaLink, openInNewTab, onCtaClick, testId, ...cardProps }: MahatiPromotionModalProps) => any;
829
+ interface MahatiPromotionModalV2Props {
830
+ isOpen: boolean;
831
+ testId?: string;
832
+ onClose: () => void;
833
+ headerTitle: string;
834
+ title: string;
835
+ description: string;
836
+ ctaText: string;
837
+ onCtaClick?: () => void;
838
+ ctaLink?: string;
839
+ openInNewTab?: boolean;
840
+ showBadgeImage?: boolean;
841
+ badgeImageSrc?: string;
842
+ }
843
+ declare const MahatiPromotionModalV2Modal: ({ isOpen, testId, onClose, headerTitle, title, description, ctaText, onCtaClick, ctaLink, openInNewTab, showBadgeImage, badgeImageSrc, }: MahatiPromotionModalV2Props) => any;
844
+ interface MahatiPromotionModalV3Props {
845
+ isOpen: boolean;
846
+ onClose: () => void;
847
+ testId?: string;
848
+ title: string;
849
+ description: string;
850
+ ctaText: string;
851
+ onCtaClick?: () => void;
852
+ secondaryText?: string;
853
+ onSecondaryClick?: () => void;
854
+ imageSrc?: string;
855
+ ctaLink?: string;
856
+ openInNewTab?: boolean;
857
+ }
858
+ declare const MahatiPromotionModalV3Modal: ({ isOpen, testId, onClose, title, description, ctaText, onCtaClick, secondaryText, onSecondaryClick, imageSrc, ctaLink, openInNewTab, }: MahatiPromotionModalV3Props) => any;
859
+ type BadgeType = "like" | "mention" | "follow" | "comment" | "add";
860
+ interface MahatiNotificationCardProps {
861
+ title: string;
862
+ description?: string;
863
+ time?: string;
864
+ testId?: string;
865
+ iconSrc?: string;
866
+ avatarSrc?: string;
867
+ badgeIconSrc?: string;
868
+ badgeType?: BadgeType;
869
+ primaryActionText?: string;
870
+ onPrimaryAction?: () => void;
871
+ secondaryActionText?: string;
872
+ onSecondaryAction?: () => void;
873
+ onClose?: () => void;
874
+ }
875
+ declare const MahatiNotificationCard: ({ title, testId, description, time, iconSrc, avatarSrc, badgeIconSrc, badgeType, primaryActionText, onPrimaryAction, secondaryActionText, onSecondaryAction, onClose, }: MahatiNotificationCardProps) => react_jsx_runtime.JSX.Element;
876
+
877
+ export { Accordion, type AccordionProps, type AvatarOption, type CalendarDate, type CalendarDateRange, type CalendarProps, type CalendarTime, CardOverlayLoader, CardWithLoading, CircularSpinner, DEFAULT_ACTIVITY_OPTIONS, DEFAULT_STATUS_OPTIONS, type FieldSize, Filter$1 as Filter, type FilterValues, LoadingDots, LoadingDotsLinear, MahatiActivity, type MahatiActivityProps, AsyncDropdown as MahatiAsyncDropdown, AvatarDropdown as MahatiAvatarDropdown, AvatarMultiSelectDropdown as MahatiAvatarMultiSelectDropdown, Button as MahatiButton, Calendar as MahatiCalendar, MahatiCameraAccessModal, Card as MahatiCard, CascadingDropdown as MahatiCascadingDropdown, MahatiChartAnalyticsWidget, ConfettiExplosion as MahatiConfettiExplosion, Dropdown as MahatiDropdown, FormContainer as MahatiFormContainer, GroupedDropdown as MahatiGroupedDropdown, Input as MahatiInput, MahatiLocationAccessModal, MahatiMicrophoneAccessModal, Modal as MahatiModal, MultiSelectDropdown as MahatiMultiSelectDropdown, MahatiNotificationCard, MahatiPromotionModal as MahatiPromotionModal_V1, MahatiPromotionModalV2Modal as MahatiPromotionModal_V2, MahatiPromotionModalV3Modal as MahatiPromotionModal_V3, RealisticConfetti as MahatiRealisticConfetti, MahatiSearch, type MahatiSearchProps, SearchableDropdown as MahatiSearchableDropdown, MahatiStatus, type MahatiStatusProps, TabbedInterface as MahatiTabbedInterface, Table as MahatiTable, TableWithTab as MahatiTableWithTab, TexttoAudio as MahatiTexttoAudio, ToastMessage as MahatiToastMessage, Tooltip as MahatiTooltip, type SelectOption, Spinner };