@mahatisystems/mahati-ui-components 4.5.0 → 5.0.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.
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import React__default from 'react';
4
4
  import { ChartData } from 'chart.js';
@@ -7,8 +7,11 @@ interface AccordionProps {
7
7
  title: string;
8
8
  children?: React__default.ReactNode;
9
9
  defaultOpen?: boolean;
10
+ accordionTestId?: string;
11
+ headerTestId?: string;
12
+ contentTestId?: string;
10
13
  }
11
- declare function Accordion({ title, children, defaultOpen, }: AccordionProps): _emotion_react_jsx_runtime.JSX.Element;
14
+ declare function Accordion({ title, children, defaultOpen, accordionTestId, headerTestId, contentTestId, }: AccordionProps): react_jsx_runtime.JSX.Element;
12
15
  declare namespace Accordion {
13
16
  var displayName: string;
14
17
  }
@@ -17,13 +20,7 @@ interface IconButtonGroupProps extends React__default.HTMLAttributes<HTMLDivElem
17
20
  direction?: "row" | "col";
18
21
  gapClass?: string;
19
22
  }
20
- /**
21
- * IconButtonGroup - Groups icon buttons with consistent spacing
22
- */
23
23
  declare const IconButtonGroup: React__default.ForwardRefExoticComponent<IconButtonGroupProps & React__default.RefAttributes<HTMLDivElement>>;
24
- /**
25
- * ButtonBase - Main button component
26
- */
27
24
  declare const ButtonBase: any;
28
25
  type ButtonWithGroup = typeof ButtonBase & {
29
26
  IconButtonGroup: typeof IconButtonGroup;
@@ -35,6 +32,7 @@ declare const Card: any;
35
32
  type MahatiModalSize = "default" | "sm" | "md" | "lg" | "xl";
36
33
  type MahatiModalProps = {
37
34
  isOpen: boolean;
35
+ testId?: string;
38
36
  onOpenChange?: (open: boolean) => void;
39
37
  onClose: () => void;
40
38
  title?: string;
@@ -58,7 +56,7 @@ type MahatiModalProps = {
58
56
  headerIcon?: React.ReactNode;
59
57
  showDivider?: boolean;
60
58
  };
61
- declare function Modal({ isOpen, onClose, title, subtitle, children, className, width: customWidth, height, margin, primaryAction, secondaryAction, headerIcon, showDivider, position, size, }: MahatiModalProps): _emotion_react_jsx_runtime.JSX.Element | null;
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;
62
60
  declare namespace Modal {
63
61
  var displayName: string;
64
62
  }
@@ -68,9 +66,10 @@ interface FormContainerProps {
68
66
  onSubmit?: (e: React__default.FormEvent) => void;
69
67
  className?: string;
70
68
  style?: React__default.CSSProperties;
69
+ testId?: string;
71
70
  }
72
71
  declare const FormContainer: {
73
- ({ children, onSubmit, style, className }: FormContainerProps): _emotion_react_jsx_runtime.JSX.Element;
72
+ ({ children, onSubmit, style, testId, className, }: FormContainerProps): react_jsx_runtime.JSX.Element;
74
73
  displayName: string;
75
74
  };
76
75
 
@@ -92,6 +91,7 @@ interface CalendarDateRange {
92
91
  }
93
92
  type CalendarSize = "small" | "medium" | "large" | "extra-large";
94
93
  interface CalendarProps {
94
+ calendartestId?: string;
95
95
  value?: CalendarDate | null;
96
96
  onChange?: (date: CalendarDate | null, dateString?: string) => void;
97
97
  enableRangeSelection?: boolean;
@@ -129,7 +129,7 @@ interface CalendarProps {
129
129
  };
130
130
  }
131
131
  declare const Calendar: {
132
- ({ 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): _emotion_react_jsx_runtime.JSX.Element;
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
133
  displayName: string;
134
134
  };
135
135
 
@@ -149,18 +149,21 @@ interface MahatiActivityProps {
149
149
  onChange: (v: string | number) => void;
150
150
  options?: SelectOption[];
151
151
  size?: FieldSize;
152
+ testId?: string;
152
153
  }
153
154
  interface MahatiStatusProps {
154
155
  value: string | number;
155
156
  onChange: (v: string | number) => void;
156
157
  options?: SelectOption[];
157
158
  size?: FieldSize;
159
+ testId?: string;
158
160
  }
159
161
  interface MahatiSearchProps {
160
162
  value: string;
161
163
  onChange: (v: string) => void;
162
164
  placeholder?: string;
163
165
  size?: FieldSize;
166
+ testId?: string;
164
167
  }
165
168
  declare const DEFAULT_ACTIVITY_OPTIONS: SelectOption[];
166
169
  declare const DEFAULT_STATUS_OPTIONS: SelectOption[];
@@ -170,25 +173,25 @@ interface FilterProps {
170
173
  activityOptions?: SelectOption[];
171
174
  statusOptions?: SelectOption[];
172
175
  searchPlaceholder?: string;
173
- size?: any;
176
+ testId?: string;
174
177
  }
175
178
  declare const Filter$1: {
176
- ({ onApply, onReset, activityOptions, statusOptions, searchPlaceholder, size }: FilterProps): _emotion_react_jsx_runtime.JSX.Element;
179
+ ({ onApply, onReset, activityOptions, statusOptions, searchPlaceholder, testId, }: FilterProps): react_jsx_runtime.JSX.Element;
177
180
  displayName: string;
178
181
  };
179
- /** MAHATI ACTIVITY */
182
+ /** ================= MAHATI ACTIVITY ================= */
180
183
  declare const MahatiActivity: {
181
- ({ value, onChange, options, size, }: MahatiActivityProps): _emotion_react_jsx_runtime.JSX.Element;
184
+ ({ value, onChange, options, size, testId, }: MahatiActivityProps): react_jsx_runtime.JSX.Element;
182
185
  displayName: string;
183
186
  };
184
- /** MAHATI STATUS */
187
+ /** ================= MAHATI STATUS ================= */
185
188
  declare const MahatiStatus: {
186
- ({ value, onChange, options, size, }: MahatiStatusProps): _emotion_react_jsx_runtime.JSX.Element;
189
+ ({ value, onChange, options, size, testId, }: MahatiStatusProps): react_jsx_runtime.JSX.Element;
187
190
  displayName: string;
188
191
  };
189
- /** MAHATI SEARCH */
192
+ /** ================= MAHATI SEARCH ================= */
190
193
  declare const MahatiSearch: {
191
- ({ value, onChange, placeholder, size, }: MahatiSearchProps): _emotion_react_jsx_runtime.JSX.Element;
194
+ ({ value, onChange, placeholder, size, testId, }: MahatiSearchProps): react_jsx_runtime.JSX.Element;
192
195
  displayName: string;
193
196
  };
194
197
 
@@ -200,6 +203,7 @@ interface Tab {
200
203
  interface TabbedInterfaceProps {
201
204
  tabs: Tab[];
202
205
  variant?: "underline" | "pill" | "outline" | "filled" | "gradient" | "shadow" | "glass" | "dark";
206
+ testId?: string;
203
207
  defaultActiveTab?: number;
204
208
  onTabChange?: (index: number) => void;
205
209
  draggableTabs?: boolean;
@@ -216,7 +220,7 @@ interface TabbedInterfaceProps {
216
220
  sectionDescriptionFont?: string;
217
221
  }
218
222
  declare const TabbedInterface: {
219
- ({ tabs, variant, defaultActiveTab, onTabChange, draggableTabs, onReorderTabs, orientation, verticalPosition, showTabCloseIconInHeader, tabCloseIconPosition, tabCloseIconContent, onCloseTab, tabHeaderFont, tabContentFont, sectionTitleFont, sectionDescriptionFont, }: TabbedInterfaceProps): any;
223
+ ({ tabs, variant, defaultActiveTab, onTabChange, draggableTabs, onReorderTabs, orientation, verticalPosition, showTabCloseIconInHeader, tabCloseIconPosition, tabCloseIconContent, onCloseTab, tabHeaderFont, tabContentFont, sectionTitleFont, sectionDescriptionFont, testId }: TabbedInterfaceProps): any;
220
224
  displayName: string;
221
225
  };
222
226
 
@@ -232,9 +236,10 @@ interface DropdownProps {
232
236
  className?: string;
233
237
  placeholder?: string;
234
238
  disabled?: boolean;
239
+ testId?: string;
235
240
  }
236
241
  declare const Dropdown: {
237
- ({ options, value, onSelect, variant, className, placeholder, disabled }: DropdownProps): _emotion_react_jsx_runtime.JSX.Element;
242
+ ({ options, value, onSelect, variant, className, placeholder, disabled, testId }: DropdownProps): react_jsx_runtime.JSX.Element;
238
243
  displayName: string;
239
244
  };
240
245
 
@@ -246,6 +251,7 @@ interface TableProps {
246
251
  data: {
247
252
  [key: string]: unknown;
248
253
  }[];
254
+ tableTestId?: string;
249
255
  page?: number;
250
256
  setPage?: (page: number) => void;
251
257
  limit?: number;
@@ -272,66 +278,95 @@ interface TableProps {
272
278
  textWrapMaxLength?: number;
273
279
  textWrapColumnMaxLengths?: Record<string, number>;
274
280
  }
275
- declare const Table: {
276
- ({ 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, }: TableProps): any;
277
- displayName: string;
278
- };
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;
279
282
 
280
283
  type BaseTableProps = React__default.ComponentProps<typeof Table>;
281
284
  type BaseTabProps = React__default.ComponentProps<typeof TabbedInterface>;
282
285
  type AllowedTabProps = Omit<BaseTabProps, "tabs" | "onTabChange" | "draggableTabs" | "onReorderTabs" | "onCloseTab">;
283
286
  interface TableWithTabProps<RowType extends Record<string, any>> {
284
- /**
285
- * Props that describe how the table should look.
286
- * We reuse the Table's interface, but here we only require headers + data.
287
- */
288
287
  tableProps: Pick<BaseTableProps, "headers" | "data">;
289
- /**
290
- * Props that describe how the tab container should look.
291
- * We reuse TabbedInterface's props but we control tabs & tab state.
292
- */
293
288
  tabProps?: AllowedTabProps;
294
- /**
295
- * If true, user can rearrange tabs by dragging.
296
- * If false/undefined, tabs cannot be rearranged.
297
- */
298
289
  rearrange?: boolean;
299
- /**
300
- * Optional custom row id. Defaults to the row index.
301
- */
302
290
  getRowId?: (row: RowType, index: number) => string | number;
303
- /**
304
- * Optional custom content renderer for the tab body.
305
- * If not provided, a simple key/value layout is shown.
306
- */
307
291
  renderTabContent?: (row: RowType) => React__default.ReactNode;
308
- /**
309
- * Optional callback when a row is opened as a tab.
310
- */
311
292
  onRowOpenInTab?: (row: RowType) => void;
312
- /**
313
- * Optional title/description displayed above the table.
314
- */
315
293
  title?: string;
316
294
  description?: string;
317
- /**
318
- * Key of the column to use as the tab header label.
319
- * For example: "name", "email", "policyNumber", etc.
320
- * If not provided, the first column in headers is used.
321
- */
295
+ testId?: string;
322
296
  tabLabelKey?: string;
323
- /**
324
- * Optional font configuration for the section title/description.
325
- * Values like "sans", "serif", "mono", "Poppins", or a custom font name.
326
- */
327
297
  sectionTitleFont?: string;
328
298
  sectionDescriptionFont?: string;
329
299
  }
330
- declare function TableWithTab<RowType extends Record<string, any>>({ tableProps, tabProps, rearrange, getRowId, renderTabContent, onRowOpenInTab, title, description, tabLabelKey, sectionTitleFont, sectionDescriptionFont, }: TableWithTabProps<RowType>): _emotion_react_jsx_runtime.JSX.Element;
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;
331
301
  declare namespace TableWithTab {
332
302
  var displayName: string;
333
303
  }
334
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
+
335
370
  interface BulletItem {
336
371
  name: string;
337
372
  achieved: number;
@@ -351,7 +386,7 @@ interface GaugeItem {
351
386
  interface GaugeData {
352
387
  title: string;
353
388
  gauges: GaugeItem[];
354
- [year: string]: any;
389
+ [key: string]: any;
355
390
  }
356
391
 
357
392
  interface HorizontalBarData {
@@ -404,7 +439,7 @@ interface HeatmapData {
404
439
  project?: string;
405
440
  }
406
441
 
407
- type ChartType = "pie" | "doughnut" | "line" | "area" | "bar" | "bullet" | "gauge" | "gantt" | "calendarheatmap" | "horizontalbar";
442
+ type ChartType = "pie" | "doughnut" | "line" | "area" | "bar" | "bullet" | "gauge" | "gantt" | "calendarheatmap" | "horizontalbar" | "columnchart" | "groupbar" | "lollipop" | "kpi" | "riskgauge" | "stackbar";
408
443
  interface Filter {
409
444
  id: string;
410
445
  label: string;
@@ -419,8 +454,15 @@ interface ChartFiltersConfig {
419
454
  bullet?: Filter[];
420
455
  gauge?: Filter[];
421
456
  gantt?: Filter[];
457
+ heatmap?: Filter[];
422
458
  calendarheatmap?: Filter[];
423
459
  horizontalbar?: Filter[];
460
+ columnchart?: Filter[];
461
+ groupbar?: Filter[];
462
+ stackbar?: Filter[];
463
+ lollipop?: Filter[];
464
+ kpi?: Filter[];
465
+ riskgauge?: Filter[];
424
466
  }
425
467
  interface DetailItem {
426
468
  label: string;
@@ -440,6 +482,12 @@ interface MahatiChartAnalyticsWidgetProps {
440
482
  bulletData?: BulletData;
441
483
  gaugeData?: GaugeData;
442
484
  horizontalBarData?: HorizontalBarData;
485
+ columnChartData?: ColumnChartData;
486
+ groupBarData?: GroupBarChartData;
487
+ stackBarData?: StackBarChartData;
488
+ lollipopData?: LollipopData;
489
+ kpiData?: Record<string, KPIChartData>;
490
+ riskGaugeData?: any;
443
491
  ganttData?: Record<string, Record<string, GanttData>>;
444
492
  heatmapData?: Record<string, HeatmapData>;
445
493
  calendarheatmapData?: Record<string, any>;
@@ -465,12 +513,13 @@ interface MahatiChartAnalyticsWidgetProps {
465
513
  }[];
466
514
  }
467
515
  declare const MahatiChartAnalyticsWidget: {
468
- ({ title, chartTypes, initialChartType, filters, chartFilters, selectedFilters, chartDataMap, bulletData, gaugeData, horizontalBarData, ganttData, heatmapData, calendarheatmapData, onApplyFilters, quickStats, actionButtons, onChartTypeChange, onFiltersChange, details, }: MahatiChartAnalyticsWidgetProps): _emotion_react_jsx_runtime.JSX.Element;
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;
469
517
  displayName: string;
470
518
  };
471
519
 
472
520
  interface TooltipProps {
473
521
  text?: string | React__default.ReactNode;
522
+ testId?: string;
474
523
  position?: "top" | "right" | "bottom" | "left";
475
524
  children: React__default.ReactNode;
476
525
  variant?: "default" | "transparent";
@@ -490,7 +539,7 @@ interface TooltipProps {
490
539
  };
491
540
  }
492
541
  declare const Tooltip: {
493
- ({ text, position, children, variant, className, textColor, backgroundColor, image, animation }: TooltipProps): any;
542
+ ({ text, position, children, variant, className, textColor, backgroundColor, image, testId, animation }: TooltipProps): any;
494
543
  displayName: string;
495
544
  };
496
545
 
@@ -554,10 +603,11 @@ interface ToastMessageProps extends React__default.HTMLAttributes<HTMLDivElement
554
603
  background?: BackgroundType;
555
604
  custom?: CustomToastStyles;
556
605
  action?: ActionButton[];
606
+ testId?: string;
557
607
  }
558
608
  declare const ToastMessage: React__default.ForwardRefExoticComponent<ToastMessageProps & React__default.RefAttributes<HTMLDivElement>>;
559
609
 
560
- interface ConfettiExplosionProps {
610
+ interface ConfettiExplosionProps$1 {
561
611
  isActive: boolean;
562
612
  particleCount?: number;
563
613
  duration?: number;
@@ -565,18 +615,21 @@ interface ConfettiExplosionProps {
565
615
  force?: number;
566
616
  particleSize?: number;
567
617
  stageHeight?: number;
618
+ testId?: string;
568
619
  }
569
- declare const ConfettiExplosion: React__default.FC<ConfettiExplosionProps>;
620
+ declare const ConfettiExplosion: React__default.FC<ConfettiExplosionProps$1>;
570
621
 
571
- interface RealisticConfettiProps {
572
- isActive?: boolean;
622
+ interface ConfettiExplosionProps {
623
+ isActive: boolean;
573
624
  particleCount?: number;
574
625
  duration?: number;
575
626
  colors?: string[];
576
- explosionForce?: number;
577
- wind?: number;
627
+ force?: number;
628
+ particleSize?: number;
629
+ stageHeight?: number;
630
+ testId?: string;
578
631
  }
579
- declare const RealisticConfetti: React__default.FC<RealisticConfettiProps>;
632
+ declare const RealisticConfetti: React__default.FC<ConfettiExplosionProps>;
580
633
 
581
634
  interface SpinnerProps {
582
635
  size?: number;
@@ -585,15 +638,17 @@ interface SpinnerProps {
585
638
  primaryColor?: string;
586
639
  backgroundColor?: string;
587
640
  speed?: number;
641
+ testId?: string;
588
642
  }
589
- declare const Spinner: ({ size, borderWidth, borderRadius, primaryColor, backgroundColor, speed }: SpinnerProps) => any;
643
+ declare const Spinner: ({ size, borderWidth, borderRadius, primaryColor, backgroundColor, speed, testId, }: SpinnerProps) => any;
590
644
  interface CircularSpinnerProps {
591
645
  size?: number;
592
646
  color?: string;
593
647
  speed?: number;
594
648
  ringCount?: number;
649
+ testId?: string;
595
650
  }
596
- declare const CircularSpinner: ({ size, color, speed, ringCount, }: CircularSpinnerProps) => any;
651
+ declare const CircularSpinner: ({ size, color, speed, ringCount, testId, }: CircularSpinnerProps) => any;
597
652
  interface CardOverlayLoaderProps {
598
653
  show?: boolean;
599
654
  spinnerSize?: number;
@@ -602,33 +657,37 @@ interface CardOverlayLoaderProps {
602
657
  spinnerTrack?: string;
603
658
  backdrop?: string;
604
659
  label?: string;
660
+ testId?: string;
605
661
  }
606
- declare const CardOverlayLoader: ({ show, spinnerSize, spinnerBorderWidth, spinnerPrimary, spinnerTrack, backdrop, label }: CardOverlayLoaderProps) => any;
662
+ declare const CardOverlayLoader: ({ show, spinnerSize, spinnerBorderWidth, spinnerPrimary, spinnerTrack, backdrop, label, testId, }: CardOverlayLoaderProps) => any;
607
663
  interface LoadingDotsProps {
608
664
  size?: number;
609
665
  color?: string;
610
666
  gap?: number;
611
667
  speed?: number;
612
668
  count?: number;
669
+ testId?: string;
613
670
  }
614
- declare const LoadingDots: ({ size, color, gap, speed, count, }: LoadingDotsProps) => any;
671
+ declare const LoadingDots: ({ size, color, gap, speed, count, testId, }: LoadingDotsProps) => any;
615
672
  interface LoadingDotsLinearProps {
616
673
  size?: number;
617
674
  color?: string;
618
675
  gap?: number;
619
676
  speed?: number;
620
677
  count?: number;
678
+ testId?: string;
621
679
  }
622
- declare const LoadingDotsLinear: ({ size, color, gap, speed, count, }: LoadingDotsLinearProps) => any;
680
+ declare const LoadingDotsLinear: ({ size, color, gap, speed, count, testId, }: LoadingDotsLinearProps) => any;
623
681
  interface CardWithLoadingProps {
624
682
  loading?: boolean;
625
683
  imageUrl?: string;
626
684
  title?: string;
627
685
  content?: string;
686
+ testId?: string;
628
687
  }
629
- declare const CardWithLoading: ({ loading, imageUrl, title, content, }: CardWithLoadingProps) => any;
688
+ declare const CardWithLoading: ({ loading, imageUrl, title, content, testId, }: CardWithLoadingProps) => any;
630
689
 
631
- declare function SearchableDropdown({ label, options, value, onChange, placeholder, }: any): _emotion_react_jsx_runtime.JSX.Element;
690
+ declare function SearchableDropdown({ label, options, value, onChange, placeholder, testId }: any): react_jsx_runtime.JSX.Element;
632
691
 
633
692
  type IconSet = {
634
693
  play: string;
@@ -642,10 +701,11 @@ type IconSet = {
642
701
  };
643
702
  declare const TexttoAudio: ({ icons }: {
644
703
  icons?: IconSet;
645
- }) => _emotion_react_jsx_runtime.JSX.Element;
704
+ }) => react_jsx_runtime.JSX.Element;
646
705
 
647
- declare const MahatiLocationAccessModal: ({ isOpen, onClose, title, description, image, allowText, denyText, onAllow, onDeny, }: any) => any;
706
+ declare const MahatiLocationAccessModal: ({ isOpen, onClose, title, description, image, allowText, denyText, onAllow, onDeny, testId, }: any) => any;
648
707
  interface MahatiCameraAccessModalProps {
708
+ testId?: string;
649
709
  isOpen: boolean;
650
710
  onClose: () => void;
651
711
  title: string;
@@ -656,8 +716,8 @@ interface MahatiCameraAccessModalProps {
656
716
  onAllow?: (stream?: MediaStream) => void;
657
717
  onDeny?: () => void;
658
718
  }
659
- declare const MahatiCameraAccessModal: ({ isOpen, onClose, title, description, image, allowText, denyText, onAllow, onDeny, }: MahatiCameraAccessModalProps) => any;
660
- declare const MahatiMicrophoneAccessModal: ({ isOpen, onClose, title, description, image, allowText, denyText, onAllow, onDeny, }: any) => any;
719
+ declare const MahatiCameraAccessModal: ({ isOpen, onClose, title, description, image, allowText, denyText, onAllow, onDeny, testId }: MahatiCameraAccessModalProps) => any;
720
+ declare const MahatiMicrophoneAccessModal: ({ isOpen, onClose, title, description, image, allowText, denyText, onAllow, onDeny, testId }: any) => any;
661
721
  interface MahatiPromotionModalProps {
662
722
  isOpen: boolean;
663
723
  onClose: () => void;
@@ -670,10 +730,12 @@ interface MahatiPromotionModalProps {
670
730
  openInNewTab?: boolean;
671
731
  showInput?: boolean;
672
732
  inputPlaceholder?: string;
733
+ testId?: string;
673
734
  }
674
- declare const MahatiPromotionModal: ({ isOpen, onClose, ctaLink, openInNewTab, onCtaClick, ...cardProps }: MahatiPromotionModalProps) => any;
735
+ declare const MahatiPromotionModal: ({ isOpen, onClose, ctaLink, openInNewTab, onCtaClick, testId, ...cardProps }: MahatiPromotionModalProps) => any;
675
736
  interface MahatiPromotionModalV2Props {
676
737
  isOpen: boolean;
738
+ testId?: string;
677
739
  onClose: () => void;
678
740
  headerTitle: string;
679
741
  title: string;
@@ -685,10 +747,11 @@ interface MahatiPromotionModalV2Props {
685
747
  showBadgeImage?: boolean;
686
748
  badgeImageSrc?: string;
687
749
  }
688
- declare const MahatiPromotionModalV2Modal: ({ isOpen, onClose, headerTitle, title, description, ctaText, onCtaClick, ctaLink, openInNewTab, showBadgeImage, badgeImageSrc, }: MahatiPromotionModalV2Props) => any;
750
+ declare const MahatiPromotionModalV2Modal: ({ isOpen, testId, onClose, headerTitle, title, description, ctaText, onCtaClick, ctaLink, openInNewTab, showBadgeImage, badgeImageSrc, }: MahatiPromotionModalV2Props) => any;
689
751
  interface MahatiPromotionModalV3Props {
690
752
  isOpen: boolean;
691
753
  onClose: () => void;
754
+ testId?: string;
692
755
  title: string;
693
756
  description: string;
694
757
  ctaText: string;
@@ -699,12 +762,13 @@ interface MahatiPromotionModalV3Props {
699
762
  ctaLink?: string;
700
763
  openInNewTab?: boolean;
701
764
  }
702
- declare const MahatiPromotionModalV3Modal: ({ isOpen, onClose, title, description, ctaText, onCtaClick, secondaryText, onSecondaryClick, imageSrc, ctaLink, openInNewTab, }: MahatiPromotionModalV3Props) => any;
765
+ declare const MahatiPromotionModalV3Modal: ({ isOpen, testId, onClose, title, description, ctaText, onCtaClick, secondaryText, onSecondaryClick, imageSrc, ctaLink, openInNewTab, }: MahatiPromotionModalV3Props) => any;
703
766
  type BadgeType = "like" | "mention" | "follow" | "comment" | "add";
704
767
  interface MahatiNotificationCardProps {
705
768
  title: string;
706
769
  description?: string;
707
770
  time?: string;
771
+ testId?: string;
708
772
  iconSrc?: string;
709
773
  avatarSrc?: string;
710
774
  badgeIconSrc?: string;
@@ -715,6 +779,6 @@ interface MahatiNotificationCardProps {
715
779
  onSecondaryAction?: () => void;
716
780
  onClose?: () => void;
717
781
  }
718
- declare const MahatiNotificationCard: ({ title, description, time, iconSrc, avatarSrc, badgeIconSrc, badgeType, primaryActionText, onPrimaryAction, secondaryActionText, onSecondaryAction, onClose, }: MahatiNotificationCardProps) => _emotion_react_jsx_runtime.JSX.Element;
782
+ declare const MahatiNotificationCard: ({ title, testId, description, time, iconSrc, avatarSrc, badgeIconSrc, badgeType, primaryActionText, onPrimaryAction, secondaryActionText, onSecondaryAction, onClose, }: MahatiNotificationCardProps) => react_jsx_runtime.JSX.Element;
719
783
 
720
784
  export { Accordion, type AccordionProps, 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, Button as MahatiButton, Calendar as MahatiCalendar, MahatiCameraAccessModal, Card as MahatiCard, MahatiChartAnalyticsWidget, ConfettiExplosion as MahatiConfettiExplosion, Dropdown as MahatiDropdown, FormContainer as MahatiFormContainer, Input as MahatiInput, MahatiLocationAccessModal, MahatiMicrophoneAccessModal, Modal as MahatiModal, 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 };