@mahatisystems/mahati-ui-components 4.4.0 → 4.6.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.
package/dist/index.js CHANGED
@@ -7548,15 +7548,17 @@ var AccordionContent = import_styled.default.div(_templateObject2());
7548
7548
  var ContentWrapper = import_styled.default.div(_templateObject3());
7549
7549
  var IconWrapper = import_styled.default.span(_templateObject4());
7550
7550
  function Accordion(param) {
7551
- var title = param.title, children = param.children, _param_defaultOpen = param.defaultOpen, defaultOpen = _param_defaultOpen === void 0 ? false : _param_defaultOpen;
7551
+ var title = param.title, children = param.children, _param_defaultOpen = param.defaultOpen, defaultOpen = _param_defaultOpen === void 0 ? false : _param_defaultOpen, accordionTestId = param.accordionTestId, headerTestId = param.headerTestId, contentTestId = param.contentTestId;
7552
7552
  var _ref = _sliced_to_array((0, import_react.useState)(defaultOpen), 2), open = _ref[0], setOpen = _ref[1];
7553
7553
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(AccordionContainer, {
7554
+ "data-testid": accordionTestId,
7554
7555
  children: [
7555
7556
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(AccordionButton, {
7556
7557
  onClick: function() {
7557
7558
  return setOpen(!open);
7558
7559
  },
7559
7560
  open: open,
7561
+ "data-testid": headerTestId,
7560
7562
  children: [
7561
7563
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
7562
7564
  children: title
@@ -7571,6 +7573,7 @@ function Accordion(param) {
7571
7573
  ]
7572
7574
  }),
7573
7575
  open && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionContent, {
7576
+ "data-testid": contentTestId,
7574
7577
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContentWrapper, {
7575
7578
  children: children
7576
7579
  })
@@ -7753,7 +7756,7 @@ var ButtonBase = import_react2.default.forwardRef(function(_0, _1) {
7753
7756
  var _ref = [
7754
7757
  _0,
7755
7758
  _1
7756
- ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), className = _ref2.className, _ref_variant = _ref2.variant, variant = _ref_variant === void 0 ? "default" : _ref_variant, _ref_size = _ref2.size, size = _ref_size === void 0 ? "default" : _ref_size, name = _ref2.name, _ref_iconButton = _ref2.iconButton, iconButton = _ref_iconButton === void 0 ? false : _ref_iconButton, iconButtonHeightClass = _ref2.iconButtonHeightClass, iconButtonWidthClass = _ref2.iconButtonWidthClass, iconButtonBgClass = _ref2.iconButtonBgClass, iconButtonRadiusClass = _ref2.iconButtonRadiusClass, iconButtonBgPaddingClass = _ref2.iconButtonBgPaddingClass, iconButtonHoverBgClass = _ref2.iconButtonHoverBgClass, iconButtonHoverIntensity = _ref2.iconButtonHoverIntensity, children = _ref2.children, props = _object_without_properties(_ref2, [
7759
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), className = _ref2.className, _ref_variant = _ref2.variant, variant = _ref_variant === void 0 ? "default" : _ref_variant, _ref_size = _ref2.size, size = _ref_size === void 0 ? "default" : _ref_size, name = _ref2.name, _ref_iconButton = _ref2.iconButton, iconButton = _ref_iconButton === void 0 ? false : _ref_iconButton, iconButtonHeightClass = _ref2.iconButtonHeightClass, iconButtonWidthClass = _ref2.iconButtonWidthClass, iconButtonBgClass = _ref2.iconButtonBgClass, iconButtonRadiusClass = _ref2.iconButtonRadiusClass, iconButtonBgPaddingClass = _ref2.iconButtonBgPaddingClass, iconButtonHoverBgClass = _ref2.iconButtonHoverBgClass, iconButtonHoverIntensity = _ref2.iconButtonHoverIntensity, children = _ref2.children, testId = _ref2.testId, props = _object_without_properties(_ref2, [
7757
7760
  "className",
7758
7761
  "variant",
7759
7762
  "size",
@@ -7766,7 +7769,8 @@ var ButtonBase = import_react2.default.forwardRef(function(_0, _1) {
7766
7769
  "iconButtonBgPaddingClass",
7767
7770
  "iconButtonHoverBgClass",
7768
7771
  "iconButtonHoverIntensity",
7769
- "children"
7772
+ "children",
7773
+ "testId"
7770
7774
  ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
7771
7775
  if (iconButton) {
7772
7776
  var height = parseHeightWidth(iconButtonHeightClass);
@@ -7793,6 +7797,7 @@ var ButtonBase = import_react2.default.forwardRef(function(_0, _1) {
7793
7797
  }));
7794
7798
  }
7795
7799
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(StyledButton, _object_spread_props(_object_spread({
7800
+ "data-testid": testId,
7796
7801
  $variant: variant,
7797
7802
  $size: size,
7798
7803
  $name: name,
@@ -7863,7 +7868,7 @@ var Card = import_react3.default.forwardRef(function(_0, _1) {
7863
7868
  var _ref = [
7864
7869
  _0,
7865
7870
  _1
7866
- ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), title = _ref2.title, cardContent = _ref2.cardContent, cardBackContent = _ref2.cardBackContent, _ref_collapsible = _ref2.collapsible, collapsible = _ref_collapsible === void 0 ? false : _ref_collapsible, _ref_flippable = _ref2.flippable, flippable = _ref_flippable === void 0 ? false : _ref_flippable, backgroundColor = _ref2.backgroundColor, borderRadius = _ref2.borderRadius, _ref_variant = _ref2.variant, variant = _ref_variant === void 0 ? "default" : _ref_variant, _ref_size = _ref2.size, size = _ref_size === void 0 ? "default" : _ref_size, _ref_className = _ref2.className, className = _ref_className === void 0 ? "" : _ref_className, children = _ref2.children, _ref_defaultOpen = _ref2.defaultOpen, defaultOpen = _ref_defaultOpen === void 0 ? true : _ref_defaultOpen, onFlip = _ref2.onFlip, style = _ref2.style, props = _object_without_properties(_ref2, [
7871
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), title = _ref2.title, cardContent = _ref2.cardContent, cardBackContent = _ref2.cardBackContent, _ref_collapsible = _ref2.collapsible, collapsible = _ref_collapsible === void 0 ? false : _ref_collapsible, _ref_flippable = _ref2.flippable, flippable = _ref_flippable === void 0 ? false : _ref_flippable, backgroundColor = _ref2.backgroundColor, borderRadius = _ref2.borderRadius, _ref_variant = _ref2.variant, variant = _ref_variant === void 0 ? "default" : _ref_variant, _ref_size = _ref2.size, size = _ref_size === void 0 ? "default" : _ref_size, _ref_className = _ref2.className, className = _ref_className === void 0 ? "" : _ref_className, children = _ref2.children, _ref_defaultOpen = _ref2.defaultOpen, defaultOpen = _ref_defaultOpen === void 0 ? true : _ref_defaultOpen, onFlip = _ref2.onFlip, style = _ref2.style, testId = _ref2.testId, props = _object_without_properties(_ref2, [
7867
7872
  "title",
7868
7873
  "cardContent",
7869
7874
  "cardBackContent",
@@ -7877,7 +7882,8 @@ var Card = import_react3.default.forwardRef(function(_0, _1) {
7877
7882
  "children",
7878
7883
  "defaultOpen",
7879
7884
  "onFlip",
7880
- "style"
7885
+ "style",
7886
+ "testId"
7881
7887
  ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
7882
7888
  var _ref3 = _sliced_to_array((0, import_react3.useState)(defaultOpen), 2), open = _ref3[0], setOpen = _ref3[1];
7883
7889
  var _ref4 = _sliced_to_array((0, import_react3.useState)(false), 2), isFlipped = _ref4[0], setIsFlipped = _ref4[1];
@@ -7893,6 +7899,7 @@ var Card = import_react3.default.forwardRef(function(_0, _1) {
7893
7899
  flippable: flippable,
7894
7900
  onClick: flippable ? handleFlip : void 0,
7895
7901
  children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(StyledCard, _object_spread_props(_object_spread({
7902
+ "data-testid": testId,
7896
7903
  ref: ref,
7897
7904
  variant: variant,
7898
7905
  size: size,
@@ -8014,7 +8021,7 @@ var PrimaryButton = import_styled4.default.button(_templateObject60(), function(
8014
8021
  return props.disabled ? "none" : "0 0 0 3px rgba(23, 97, 163, 0.2)";
8015
8022
  });
8016
8023
  function Modal(param) {
8017
- var isOpen = param.isOpen, onClose = param.onClose, title = param.title, subtitle = param.subtitle, children = param.children, _param_className = param.className, className = _param_className === void 0 ? "" : _param_className, customWidth = param.width, height = param.height, margin = param.margin, primaryAction = param.primaryAction, secondaryAction = param.secondaryAction, headerIcon = param.headerIcon, _param_showDivider = param.showDivider, showDivider = _param_showDivider === void 0 ? true : _param_showDivider, _param_position = param.position, position = _param_position === void 0 ? "center" : _param_position, _param_size = param.size, size = _param_size === void 0 ? "default" : _param_size;
8024
+ var testId = param.testId, isOpen = param.isOpen, onClose = param.onClose, title = param.title, subtitle = param.subtitle, children = param.children, _param_className = param.className, className = _param_className === void 0 ? "" : _param_className, customWidth = param.width, height = param.height, margin = param.margin, primaryAction = param.primaryAction, secondaryAction = param.secondaryAction, headerIcon = param.headerIcon, _param_showDivider = param.showDivider, showDivider = _param_showDivider === void 0 ? true : _param_showDivider, _param_position = param.position, position = _param_position === void 0 ? "center" : _param_position, _param_size = param.size, size = _param_size === void 0 ? "default" : _param_size;
8018
8025
  var _ref, _secondaryAction_label, _primaryAction_label;
8019
8026
  var width = (_ref = customWidth !== null && customWidth !== void 0 ? customWidth : MODAL_WIDTH_MAP[size]) !== null && _ref !== void 0 ? _ref : MODAL_WIDTH_MAP.default;
8020
8027
  React4.useEffect(function() {
@@ -8047,11 +8054,13 @@ function Modal(param) {
8047
8054
  children: [
8048
8055
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Overlay, {
8049
8056
  onClick: onClose,
8050
- "aria-hidden": "true"
8057
+ "aria-hidden": "true",
8058
+ "data-testid": testId ? "".concat(testId, "-overlay") : void 0
8051
8059
  }),
8052
8060
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ModalContainer, {
8053
8061
  position: position,
8054
8062
  children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(ModalContent, {
8063
+ "data-testid": testId,
8055
8064
  width: typeof width === "number" ? "".concat(width, "px") : width,
8056
8065
  height: height,
8057
8066
  margin: margin,
@@ -8064,6 +8073,7 @@ function Modal(param) {
8064
8073
  },
8065
8074
  children: [
8066
8075
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(ModalHeader, {
8076
+ "data-testid": testId ? "".concat(testId, "-header") : void 0,
8067
8077
  children: [
8068
8078
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(HeaderContent, {
8069
8079
  children: [
@@ -8073,9 +8083,11 @@ function Modal(param) {
8073
8083
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(HeaderTextWrapper, {
8074
8084
  children: [
8075
8085
  title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ModalTitle, {
8086
+ "data-testid": testId ? "".concat(testId, "-title") : void 0,
8076
8087
  children: title
8077
8088
  }),
8078
8089
  subtitle && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ModalSubtitle, {
8090
+ "data-testid": testId ? "".concat(testId, "-subtitle") : void 0,
8079
8091
  children: subtitle
8080
8092
  })
8081
8093
  ]
@@ -8085,6 +8097,7 @@ function Modal(param) {
8085
8097
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CloseButton, {
8086
8098
  onClick: onClose,
8087
8099
  "aria-label": "Close dialog",
8100
+ "data-testid": testId ? "".concat(testId, "-close-btn") : void 0,
8088
8101
  children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react3.X, {
8089
8102
  size: 20,
8090
8103
  strokeWidth: 2
@@ -8093,16 +8106,20 @@ function Modal(param) {
8093
8106
  ]
8094
8107
  }),
8095
8108
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ModalBody, {
8109
+ "data-testid": testId ? "".concat(testId, "-body") : void 0,
8096
8110
  children: children
8097
8111
  }),
8098
8112
  (primaryAction || secondaryAction) && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(ModalFooter, {
8113
+ "data-testid": testId ? "".concat(testId, "-footer") : void 0,
8099
8114
  children: [
8100
8115
  secondaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SecondaryButton, {
8116
+ "data-testid": testId ? "".concat(testId, "-secondary-btn") : void 0,
8101
8117
  onClick: secondaryAction.onClick,
8102
8118
  type: "button",
8103
8119
  children: (_secondaryAction_label = secondaryAction.label) !== null && _secondaryAction_label !== void 0 ? _secondaryAction_label : "Cancel"
8104
8120
  }),
8105
8121
  primaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(PrimaryButton, {
8122
+ "data-testid": testId ? "".concat(testId, "-primary-btn") : void 0,
8106
8123
  onClick: primaryAction.onClick,
8107
8124
  disabled: primaryAction.disabled,
8108
8125
  type: "button",
@@ -8122,8 +8139,9 @@ var import_styled5 = __toESM(require("@emotion/styled"));
8122
8139
  var import_jsx_runtime5 = require("@emotion/react/jsx-runtime");
8123
8140
  var StyledForm = import_styled5.default.form(_templateObject61());
8124
8141
  var FormContainer = function(param) {
8125
- var children = param.children, onSubmit = param.onSubmit, style = param.style, _param_className = param.className, className = _param_className === void 0 ? "" : _param_className;
8142
+ var children = param.children, onSubmit = param.onSubmit, style = param.style, testId = param.testId, _param_className = param.className, className = _param_className === void 0 ? "" : _param_className;
8126
8143
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StyledForm, {
8144
+ "data-testid": testId,
8127
8145
  onSubmit: onSubmit,
8128
8146
  className: className,
8129
8147
  children: children
@@ -8146,26 +8164,30 @@ var Input = import_react6.default.forwardRef(function(_0, _1) {
8146
8164
  var _ref = [
8147
8165
  _0,
8148
8166
  _1
8149
- ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), _ref_hasError = _ref2.hasError, hasError = _ref_hasError === void 0 ? false : _ref_hasError, _ref_errorMessage = _ref2.errorMessage, errorMessage = _ref_errorMessage === void 0 ? "" : _ref_errorMessage, _ref_className = _ref2.className, className = _ref_className === void 0 ? "" : _ref_className, onChange = _ref2.onChange, children = _ref2.children, props = _object_without_properties(_ref2, [
8167
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), _ref_hasError = _ref2.hasError, hasError = _ref_hasError === void 0 ? false : _ref_hasError, _ref_errorMessage = _ref2.errorMessage, errorMessage = _ref_errorMessage === void 0 ? "" : _ref_errorMessage, _ref_className = _ref2.className, className = _ref_className === void 0 ? "" : _ref_className, onChange = _ref2.onChange, children = _ref2.children, testId = _ref2.testId, props = _object_without_properties(_ref2, [
8150
8168
  "hasError",
8151
8169
  "errorMessage",
8152
8170
  "className",
8153
8171
  "onChange",
8154
- "children"
8172
+ "children",
8173
+ "testId"
8155
8174
  ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
8156
8175
  var handleChange = function(e) {
8157
8176
  if (props.disabled) return;
8158
8177
  onChange === null || onChange === void 0 ? void 0 : onChange(e);
8159
8178
  };
8160
8179
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(InputWrapper, {
8180
+ "data-testid": testId,
8161
8181
  children: [
8162
8182
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StyledInput, _object_spread({
8163
8183
  ref: ref,
8164
8184
  hasError: hasError,
8165
8185
  className: className,
8166
- onChange: handleChange
8186
+ onChange: handleChange,
8187
+ "data-testid": testId ? "".concat(testId, "-input") : void 0
8167
8188
  }, props)),
8168
8189
  hasError && errorMessage && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ErrorMessage, {
8190
+ "data-testid": testId ? "".concat(testId, "-error") : void 0,
8169
8191
  children: errorMessage
8170
8192
  })
8171
8193
  ]
@@ -8702,7 +8724,7 @@ var getDeviceScale = function() {
8702
8724
  return 1;
8703
8725
  };
8704
8726
  var Calendar = function(param) {
8705
- var value = param.value, onChange = param.onChange, _param_enableRangeSelection = param.enableRangeSelection, enableRangeSelection = _param_enableRangeSelection === void 0 ? false : _param_enableRangeSelection, rangeValue = param.rangeValue, onRangeChange = param.onRangeChange, _param_enableTimeSelection = param.enableTimeSelection, enableTimeSelection = _param_enableTimeSelection === void 0 ? false : _param_enableTimeSelection, timeValue = param.timeValue, onTimeChange = param.onTimeChange, _param_showTimeFormatToggle = param.showTimeFormatToggle, showTimeFormatToggle = _param_showTimeFormatToggle === void 0 ? false : _param_showTimeFormatToggle, _param_timeFormat = param.timeFormat, timeFormat = _param_timeFormat === void 0 ? "12h" : _param_timeFormat, onTimeFormatChange = param.onTimeFormatChange, _param_autoHide = param.autoHide, autoHide = _param_autoHide === void 0 ? false : _param_autoHide, _param_showTodayButton = param.showTodayButton, showTodayButton = _param_showTodayButton === void 0 ? false : _param_showTodayButton, _param_showClearButton = param.showClearButton, showClearButton = _param_showClearButton === void 0 ? false : _param_showClearButton, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "Select date" : _param_placeholder, className = param.className, _param_disabled = param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, onShow = param.onShow, onHide = param.onHide, icon = param.icon, _param_showIcon = param.showIcon, showIcon = _param_showIcon === void 0 ? true : _param_showIcon, _param_size = param.size, size = _param_size === void 0 ? "extra-large" : _param_size, _param_enableYearDropdown = param.enableYearDropdown, enableYearDropdown = _param_enableYearDropdown === void 0 ? false : _param_enableYearDropdown, _param_showDateFormatSelector = param.showDateFormatSelector, showDateFormatSelector = _param_showDateFormatSelector === void 0 ? false : _param_showDateFormatSelector, _param_dateFormat = param.dateFormat, dateFormat = _param_dateFormat === void 0 ? "none" : _param_dateFormat, onDateFormatChange = param.onDateFormatChange, _param_showTimeZoneSelector = param.showTimeZoneSelector, showTimeZoneSelector = _param_showTimeZoneSelector === void 0 ? false : _param_showTimeZoneSelector, _param_timeZoneFormat = param.timeZoneFormat, timeZoneFormat = _param_timeZoneFormat === void 0 ? "none" : _param_timeZoneFormat, onTimeZoneFormatChange = param.onTimeZoneFormatChange, blockDateConfig = param.blockDateConfig, _param_previewTextStyles = param.previewTextStyles, previewTextStyles = _param_previewTextStyles === void 0 ? {} : _param_previewTextStyles, _param_globalTypography = param.globalTypography, globalTypography = _param_globalTypography === void 0 ? {} : _param_globalTypography;
8727
+ var calendartestId = param.calendartestId, value = param.value, onChange = param.onChange, _param_enableRangeSelection = param.enableRangeSelection, enableRangeSelection = _param_enableRangeSelection === void 0 ? false : _param_enableRangeSelection, rangeValue = param.rangeValue, onRangeChange = param.onRangeChange, _param_enableTimeSelection = param.enableTimeSelection, enableTimeSelection = _param_enableTimeSelection === void 0 ? false : _param_enableTimeSelection, timeValue = param.timeValue, onTimeChange = param.onTimeChange, _param_showTimeFormatToggle = param.showTimeFormatToggle, showTimeFormatToggle = _param_showTimeFormatToggle === void 0 ? false : _param_showTimeFormatToggle, _param_timeFormat = param.timeFormat, timeFormat = _param_timeFormat === void 0 ? "12h" : _param_timeFormat, onTimeFormatChange = param.onTimeFormatChange, _param_autoHide = param.autoHide, autoHide = _param_autoHide === void 0 ? false : _param_autoHide, _param_showTodayButton = param.showTodayButton, showTodayButton = _param_showTodayButton === void 0 ? false : _param_showTodayButton, _param_showClearButton = param.showClearButton, showClearButton = _param_showClearButton === void 0 ? false : _param_showClearButton, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "Select date" : _param_placeholder, className = param.className, _param_disabled = param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, onShow = param.onShow, onHide = param.onHide, icon = param.icon, _param_showIcon = param.showIcon, showIcon = _param_showIcon === void 0 ? true : _param_showIcon, _param_size = param.size, size = _param_size === void 0 ? "extra-large" : _param_size, _param_enableYearDropdown = param.enableYearDropdown, enableYearDropdown = _param_enableYearDropdown === void 0 ? false : _param_enableYearDropdown, _param_showDateFormatSelector = param.showDateFormatSelector, showDateFormatSelector = _param_showDateFormatSelector === void 0 ? false : _param_showDateFormatSelector, _param_dateFormat = param.dateFormat, dateFormat = _param_dateFormat === void 0 ? "none" : _param_dateFormat, onDateFormatChange = param.onDateFormatChange, _param_showTimeZoneSelector = param.showTimeZoneSelector, showTimeZoneSelector = _param_showTimeZoneSelector === void 0 ? false : _param_showTimeZoneSelector, _param_timeZoneFormat = param.timeZoneFormat, timeZoneFormat = _param_timeZoneFormat === void 0 ? "none" : _param_timeZoneFormat, onTimeZoneFormatChange = param.onTimeZoneFormatChange, blockDateConfig = param.blockDateConfig, _param_previewTextStyles = param.previewTextStyles, previewTextStyles = _param_previewTextStyles === void 0 ? {} : _param_previewTextStyles, _param_globalTypography = param.globalTypography, globalTypography = _param_globalTypography === void 0 ? {} : _param_globalTypography;
8706
8728
  var _ref;
8707
8729
  var today = /* @__PURE__ */ new Date();
8708
8730
  var _ref1 = _sliced_to_array((0, import_react8.useState)((value === null || value === void 0 ? void 0 : value.year) || today.getFullYear()), 2), currentYear = _ref1[0], setCurrentYear = _ref1[1];
@@ -9406,6 +9428,7 @@ var Calendar = function(param) {
9406
9428
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(CalendarContainer, {
9407
9429
  ref: containerRef,
9408
9430
  className: className,
9431
+ "data-testid": calendartestId,
9409
9432
  children: [
9410
9433
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(InputWrapper2, {
9411
9434
  children: [
@@ -9775,7 +9798,7 @@ var DEFAULT_STATUS_OPTIONS = [
9775
9798
  }
9776
9799
  ];
9777
9800
  var Filter = function(param) {
9778
- var onApply = param.onApply, onReset = param.onReset, _param_activityOptions = param.activityOptions, activityOptions = _param_activityOptions === void 0 ? DEFAULT_ACTIVITY_OPTIONS : _param_activityOptions, _param_statusOptions = param.statusOptions, statusOptions = _param_statusOptions === void 0 ? DEFAULT_STATUS_OPTIONS : _param_statusOptions, _param_searchPlaceholder = param.searchPlaceholder, searchPlaceholder = _param_searchPlaceholder === void 0 ? "Search..." : _param_searchPlaceholder, _param_size = param.size, size = _param_size === void 0 ? "default" : _param_size;
9801
+ var onApply = param.onApply, onReset = param.onReset, _param_activityOptions = param.activityOptions, activityOptions = _param_activityOptions === void 0 ? DEFAULT_ACTIVITY_OPTIONS : _param_activityOptions, _param_statusOptions = param.statusOptions, statusOptions = _param_statusOptions === void 0 ? DEFAULT_STATUS_OPTIONS : _param_statusOptions, _param_searchPlaceholder = param.searchPlaceholder, searchPlaceholder = _param_searchPlaceholder === void 0 ? "Search..." : _param_searchPlaceholder, _param_size = param.size, size = _param_size === void 0 ? "default" : _param_size, testId = param.testId;
9779
9802
  var _ref = _sliced_to_array((0, import_react10.useState)(false), 2), open = _ref[0], setOpen = _ref[1];
9780
9803
  var _ref1 = _sliced_to_array((0, import_react10.useState)({
9781
9804
  date: {
@@ -9829,8 +9852,10 @@ var Filter = function(param) {
9829
9852
  setOpen(false);
9830
9853
  };
9831
9854
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(FilterContainer, {
9855
+ "data-testId": testId,
9832
9856
  children: [
9833
9857
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(FilterButton, {
9858
+ "data-testid": testId ? "".concat(testId, "-button") : void 0,
9834
9859
  onClick: function() {
9835
9860
  return setOpen(function(p) {
9836
9861
  return !p;
@@ -9839,6 +9864,7 @@ var Filter = function(param) {
9839
9864
  children: "Filter"
9840
9865
  }),
9841
9866
  open && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(FilterModalWrapper, {
9867
+ "data-testid": testId ? "".concat(testId, "-model") : void 0,
9842
9868
  children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(FilterCard, {
9843
9869
  children: [
9844
9870
  /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(FilterHeader, {
@@ -9847,6 +9873,7 @@ var Filter = function(param) {
9847
9873
  children: "Add Filter"
9848
9874
  }),
9849
9875
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CloseButton2, {
9876
+ "data-testid": testId ? "".concat(testId, "-close") : void 0,
9850
9877
  onClick: function() {
9851
9878
  return setOpen(false);
9852
9879
  },
@@ -9920,11 +9947,13 @@ var Filter = function(param) {
9920
9947
  /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(FilterFooter, {
9921
9948
  children: [
9922
9949
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ResetAllButton, {
9950
+ "data-testid": testId ? "".concat(testId, "-resetall") : void 0,
9923
9951
  onClick: resetAll,
9924
9952
  type: "button",
9925
9953
  children: "Reset all"
9926
9954
  }),
9927
9955
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ApplyButton, {
9956
+ "data-testid": testId ? "".concat(testId, "-apply") : void 0,
9928
9957
  onClick: applyFilters,
9929
9958
  type: "button",
9930
9959
  children: "Apply Now"
@@ -9957,7 +9986,7 @@ var Section = function(param) {
9957
9986
  });
9958
9987
  };
9959
9988
  var MahatiActivity = function(param) {
9960
- var value = param.value, onChange = param.onChange, _param_options = param.options, options = _param_options === void 0 ? DEFAULT_ACTIVITY_OPTIONS : _param_options, _param_size = param.size, size = _param_size === void 0 ? "medium" : _param_size;
9989
+ var value = param.value, onChange = param.onChange, _param_options = param.options, options = _param_options === void 0 ? DEFAULT_ACTIVITY_OPTIONS : _param_options, _param_size = param.size, size = _param_size === void 0 ? "medium" : _param_size, testId = param.testId;
9961
9990
  var _options_find;
9962
9991
  var _ref = _sliced_to_array((0, import_react10.useState)(false), 2), open = _ref[0], setOpen = _ref[1];
9963
9992
  var triggerRef = (0, import_react10.useRef)(null);
@@ -10003,6 +10032,7 @@ var MahatiActivity = function(param) {
10003
10032
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, {
10004
10033
  children: [
10005
10034
  /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(CustomSelectTrigger, {
10035
+ "data-testid": testId ? "".concat(testId, "-trigger") : void 0,
10006
10036
  ref: triggerRef,
10007
10037
  onClick: function() {
10008
10038
  return setOpen(function(p) {
@@ -10022,6 +10052,7 @@ var MahatiActivity = function(param) {
10022
10052
  ]
10023
10053
  }),
10024
10054
  open && pos && (0, import_react_dom.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CustomSelectDropdown, {
10055
+ "data-testid": testId ? "".concat(testId, "-dropdown") : void 0,
10025
10056
  ref: dropdownRef,
10026
10057
  style: {
10027
10058
  top: pos.top,
@@ -10030,6 +10061,7 @@ var MahatiActivity = function(param) {
10030
10061
  },
10031
10062
  children: options.map(function(opt) {
10032
10063
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CustomSelectOption, {
10064
+ "data-testid": testId ? "".concat(testId, "-option-").concat(String(opt.value)) : void 0,
10033
10065
  onClick: function() {
10034
10066
  onChange(opt.value);
10035
10067
  setOpen(false);
@@ -10042,7 +10074,7 @@ var MahatiActivity = function(param) {
10042
10074
  });
10043
10075
  };
10044
10076
  var MahatiStatus = function(param) {
10045
- var value = param.value, onChange = param.onChange, _param_options = param.options, options = _param_options === void 0 ? DEFAULT_STATUS_OPTIONS : _param_options, _param_size = param.size, size = _param_size === void 0 ? "medium" : _param_size;
10077
+ var value = param.value, onChange = param.onChange, _param_options = param.options, options = _param_options === void 0 ? DEFAULT_STATUS_OPTIONS : _param_options, _param_size = param.size, size = _param_size === void 0 ? "medium" : _param_size, testId = param.testId;
10046
10078
  var _options_find;
10047
10079
  var _ref = _sliced_to_array((0, import_react10.useState)(false), 2), open = _ref[0], setOpen = _ref[1];
10048
10080
  var triggerRef = (0, import_react10.useRef)(null);
@@ -10088,6 +10120,7 @@ var MahatiStatus = function(param) {
10088
10120
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, {
10089
10121
  children: [
10090
10122
  /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(CustomSelectTrigger, {
10123
+ "data-testid": testId ? "".concat(testId, "-trigger") : void 0,
10091
10124
  ref: triggerRef,
10092
10125
  onClick: function() {
10093
10126
  return setOpen(function(p) {
@@ -10107,6 +10140,7 @@ var MahatiStatus = function(param) {
10107
10140
  ]
10108
10141
  }),
10109
10142
  open && pos && (0, import_react_dom.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CustomSelectDropdown, {
10143
+ "data-testid": testId ? "".concat(testId, "-dropdown") : void 0,
10110
10144
  ref: dropdownRef,
10111
10145
  style: {
10112
10146
  top: pos.top,
@@ -10127,8 +10161,9 @@ var MahatiStatus = function(param) {
10127
10161
  });
10128
10162
  };
10129
10163
  var MahatiSearch = function(param) {
10130
- var value = param.value, onChange = param.onChange, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "Search..." : _param_placeholder, _param_size = param.size, size = _param_size === void 0 ? "medium" : _param_size;
10164
+ var value = param.value, onChange = param.onChange, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "Search..." : _param_placeholder, _param_size = param.size, size = _param_size === void 0 ? "medium" : _param_size, testId = param.testId;
10131
10165
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CustomInput, {
10166
+ "data-testid": testId,
10132
10167
  type: "text",
10133
10168
  value: value,
10134
10169
  placeholder: placeholder,
@@ -10225,7 +10260,7 @@ var ContentPanel = import_styled9.default.div(_templateObject200(), function(pro
10225
10260
  return props.active ? import_react12.css(_templateObject198(), fadeIn2) : import_react12.css(_templateObject199());
10226
10261
  });
10227
10262
  var TabbedInterface = function(param) {
10228
- var tabs = param.tabs, _param_variant = param.variant, variant = _param_variant === void 0 ? "underline" : _param_variant, _param_defaultActiveTab = param.defaultActiveTab, defaultActiveTab = _param_defaultActiveTab === void 0 ? 0 : _param_defaultActiveTab, onTabChange = param.onTabChange, _param_draggableTabs = param.draggableTabs, draggableTabs = _param_draggableTabs === void 0 ? false : _param_draggableTabs, onReorderTabs = param.onReorderTabs, _param_orientation = param.orientation, orientation = _param_orientation === void 0 ? "horizontal" : _param_orientation, _param_verticalPosition = param.verticalPosition, verticalPosition = _param_verticalPosition === void 0 ? "left" : _param_verticalPosition, _param_showTabCloseIconInHeader = param.showTabCloseIconInHeader, showTabCloseIconInHeader = _param_showTabCloseIconInHeader === void 0 ? false : _param_showTabCloseIconInHeader, _param_tabCloseIconPosition = param.tabCloseIconPosition, tabCloseIconPosition = _param_tabCloseIconPosition === void 0 ? "right" : _param_tabCloseIconPosition, tabCloseIconContent = param.tabCloseIconContent, onCloseTab = param.onCloseTab, tabHeaderFont = param.tabHeaderFont, tabContentFont = param.tabContentFont, sectionTitleFont = param.sectionTitleFont, sectionDescriptionFont = param.sectionDescriptionFont;
10263
+ var tabs = param.tabs, _param_variant = param.variant, variant = _param_variant === void 0 ? "underline" : _param_variant, _param_defaultActiveTab = param.defaultActiveTab, defaultActiveTab = _param_defaultActiveTab === void 0 ? 0 : _param_defaultActiveTab, onTabChange = param.onTabChange, _param_draggableTabs = param.draggableTabs, draggableTabs = _param_draggableTabs === void 0 ? false : _param_draggableTabs, onReorderTabs = param.onReorderTabs, _param_orientation = param.orientation, orientation = _param_orientation === void 0 ? "horizontal" : _param_orientation, _param_verticalPosition = param.verticalPosition, verticalPosition = _param_verticalPosition === void 0 ? "left" : _param_verticalPosition, _param_showTabCloseIconInHeader = param.showTabCloseIconInHeader, showTabCloseIconInHeader = _param_showTabCloseIconInHeader === void 0 ? false : _param_showTabCloseIconInHeader, _param_tabCloseIconPosition = param.tabCloseIconPosition, tabCloseIconPosition = _param_tabCloseIconPosition === void 0 ? "right" : _param_tabCloseIconPosition, tabCloseIconContent = param.tabCloseIconContent, onCloseTab = param.onCloseTab, tabHeaderFont = param.tabHeaderFont, tabContentFont = param.tabContentFont, sectionTitleFont = param.sectionTitleFont, sectionDescriptionFont = param.sectionDescriptionFont, testId = param.testId;
10229
10264
  var _ref = _sliced_to_array((0, import_react11.useState)(defaultActiveTab), 2), activeIndex = _ref[0], setActiveIndex = _ref[1];
10230
10265
  var _ref1 = _sliced_to_array((0, import_react11.useState)(null), 2), draggingIndex = _ref1[0], setDraggingIndex = _ref1[1];
10231
10266
  var effectiveCloseIconContent = tabCloseIconContent !== null && tabCloseIconContent !== void 0 ? tabCloseIconContent : "\xD7";
@@ -10362,6 +10397,7 @@ var TabbedInterface = function(param) {
10362
10397
  });
10363
10398
  if (orientation === "horizontal") {
10364
10399
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Container, {
10400
+ "data-testid": testId,
10365
10401
  variant: variant,
10366
10402
  children: [
10367
10403
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(HorizontalHeader, {
@@ -10372,6 +10408,7 @@ var TabbedInterface = function(param) {
10372
10408
  });
10373
10409
  }
10374
10410
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Container, {
10411
+ "data-testid": testId,
10375
10412
  variant: variant,
10376
10413
  children: verticalPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(VerticalGridLeft, {
10377
10414
  children: [
@@ -10439,7 +10476,7 @@ var DropdownItem = import_styled10.default.div(_templateObject216(), function(pr
10439
10476
  return props.variant === "glass" && import_react14.css(_templateObject215());
10440
10477
  });
10441
10478
  var Dropdown = function(param) {
10442
- var options = param.options, value = param.value, onSelect = param.onSelect, _param_variant = param.variant, variant = _param_variant === void 0 ? "basic" : _param_variant, _param_className = param.className, className = _param_className === void 0 ? "" : _param_className, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "Select an option" : _param_placeholder, _param_disabled = param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled;
10479
+ var options = param.options, value = param.value, onSelect = param.onSelect, _param_variant = param.variant, variant = _param_variant === void 0 ? "basic" : _param_variant, _param_className = param.className, className = _param_className === void 0 ? "" : _param_className, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "Select an option" : _param_placeholder, _param_disabled = param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, testId = param.testId;
10443
10480
  var _ref = _sliced_to_array((0, import_react13.useState)(false), 2), open = _ref[0], setOpen = _ref[1];
10444
10481
  var _ref1 = _sliced_to_array((0, import_react13.useState)(null), 2), internalSelected = _ref1[0], setInternalSelected = _ref1[1];
10445
10482
  var dropdownRef = (0, import_react13.useRef)(null);
@@ -10475,6 +10512,7 @@ var Dropdown = function(param) {
10475
10512
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(DropdownContainer, {
10476
10513
  ref: dropdownRef,
10477
10514
  className: className,
10515
+ "data-testid": testId,
10478
10516
  children: [
10479
10517
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(DropdownButton, {
10480
10518
  onClick: handleButtonClick,
@@ -10589,7 +10627,7 @@ function DefaultTabContent(param) {
10589
10627
  });
10590
10628
  }
10591
10629
  function TableWithTab(param) {
10592
- var tableProps = param.tableProps, tabProps = param.tabProps, _param_rearrange = param.rearrange, rearrange = _param_rearrange === void 0 ? false : _param_rearrange, getRowId = param.getRowId, renderTabContent = param.renderTabContent, onRowOpenInTab = param.onRowOpenInTab, title = param.title, description = param.description, tabLabelKey = param.tabLabelKey, sectionTitleFont = param.sectionTitleFont, sectionDescriptionFont = param.sectionDescriptionFont;
10630
+ var tableProps = param.tableProps, tabProps = param.tabProps, _param_rearrange = param.rearrange, rearrange = _param_rearrange === void 0 ? false : _param_rearrange, getRowId = param.getRowId, renderTabContent = param.renderTabContent, onRowOpenInTab = param.onRowOpenInTab, title = param.title, description = param.description, tabLabelKey = param.tabLabelKey, sectionTitleFont = param.sectionTitleFont, sectionDescriptionFont = param.sectionDescriptionFont, testId = param.testId;
10593
10631
  var _ref;
10594
10632
  var _headers_;
10595
10633
  var headers = tableProps.headers, data = tableProps.data;
@@ -10694,6 +10732,7 @@ function TableWithTab(param) {
10694
10732
  });
10695
10733
  var effectiveShowHeaderClose = (_ref = tabProps === null || tabProps === void 0 ? void 0 : tabProps.showTabCloseIconInHeader) !== null && _ref !== void 0 ? _ref : true;
10696
10734
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Container2, {
10735
+ "data-testid": testId,
10697
10736
  children: [
10698
10737
  (title || description) && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Header, {
10699
10738
  children: [
@@ -10848,7 +10887,7 @@ var Table = function(param) {
10848
10887
  var headers = param.headers, data = param.data, page = param.page, setPage = param.setPage, limit = param.limit, setLimit = param.setLimit, totalCount = param.totalCount, highlightRowColor = param.highlightRowColor, actions = param.actions, paginationRequired = param.paginationRequired, _param_paginationPosition = param.paginationPosition, paginationPosition = _param_paginationPosition === void 0 ? "bottom-center" : _param_paginationPosition, onDownloadPDF = param.onDownloadPDF, onDownloadExcel = param.onDownloadExcel, _param_searchable = param.searchable, searchable = _param_searchable === void 0 ? false : _param_searchable, _param_searchTerm = param.searchTerm, searchTerm = _param_searchTerm === void 0 ? "" : _param_searchTerm, onResetSearch = param.onResetSearch, onSearch = param.onSearch, _param_searchModeOptions = param.searchModeOptions, searchModeOptions = _param_searchModeOptions === void 0 ? [
10849
10888
  "includes",
10850
10889
  "startsWith"
10851
- ] : _param_searchModeOptions, summary = param.summary, _param_summaryKey = param.summaryKey, summaryKey = _param_summaryKey === void 0 ? "summary" : _param_summaryKey, _param_summaryTitleField = param.summaryTitleField, summaryTitleField = _param_summaryTitleField === void 0 ? "name" : _param_summaryTitleField, _param_summaryColumn = param.summaryColumn, summaryColumn = _param_summaryColumn === void 0 ? false : _param_summaryColumn, summaryColumnKey = param.summaryColumnKey, _param_summaryColumnMaxLength = param.summaryColumnMaxLength, summaryColumnMaxLength = _param_summaryColumnMaxLength === void 0 ? 120 : _param_summaryColumnMaxLength, textWrapColumns = param.textWrapColumns, _param_textWrapMaxLength = param.textWrapMaxLength, textWrapMaxLength = _param_textWrapMaxLength === void 0 ? 120 : _param_textWrapMaxLength, textWrapColumnMaxLengths = param.textWrapColumnMaxLengths;
10890
+ ] : _param_searchModeOptions, summary = param.summary, _param_summaryKey = param.summaryKey, summaryKey = _param_summaryKey === void 0 ? "summary" : _param_summaryKey, _param_summaryTitleField = param.summaryTitleField, summaryTitleField = _param_summaryTitleField === void 0 ? "name" : _param_summaryTitleField, _param_summaryColumn = param.summaryColumn, summaryColumn = _param_summaryColumn === void 0 ? false : _param_summaryColumn, summaryColumnKey = param.summaryColumnKey, _param_summaryColumnMaxLength = param.summaryColumnMaxLength, summaryColumnMaxLength = _param_summaryColumnMaxLength === void 0 ? 120 : _param_summaryColumnMaxLength, textWrapColumns = param.textWrapColumns, _param_textWrapMaxLength = param.textWrapMaxLength, textWrapMaxLength = _param_textWrapMaxLength === void 0 ? 120 : _param_textWrapMaxLength, textWrapColumnMaxLengths = param.textWrapColumnMaxLengths, tableTestId = param.tableTestId;
10852
10891
  var _ref = _sliced_to_array((0, import_react17.useState)(searchModeOptions[0]), 2), searchMode = _ref[0], setSearchMode = _ref[1];
10853
10892
  var _ref1 = _sliced_to_array((0, import_react17.useState)(null), 2), expandedRowIndex = _ref1[0], setExpandedRowIndex = _ref1[1];
10854
10893
  var _ref2 = _sliced_to_array((0, import_react17.useState)(/* @__PURE__ */ new Set()), 2), expandedRowIndexes = _ref2[0], setExpandedRowIndexes = _ref2[1];
@@ -11031,6 +11070,7 @@ var Table = function(param) {
11031
11070
  }),
11032
11071
  paginationPosition.startsWith("top") && data.length > 0 && renderPagination(),
11033
11072
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TableContainer, {
11073
+ "data-testid": tableTestId,
11034
11074
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(StyledTable2, {
11035
11075
  children: [
11036
11076
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TableHead2, {
@@ -11303,7 +11343,7 @@ var DropdownOption = import_styled13.default.button(_templateObject294(), functi
11303
11343
  });
11304
11344
  var ArrowIcon = import_styled13.default.img(_templateObject295());
11305
11345
  var ChartDropdown = function(param) {
11306
- var options = param.options, value = param.value, onSelect = param.onSelect, label = param.label, _param_variant = param.variant, variant = _param_variant === void 0 ? "basic" : _param_variant, className = param.className;
11346
+ var options = param.options, value = param.value, onSelect = param.onSelect, label = param.label, _param_variant = param.variant, variant = _param_variant === void 0 ? "basic" : _param_variant, className = param.className, testId = param.testId;
11307
11347
  var _ref = _sliced_to_array((0, import_react19.useState)(false), 2), isOpen = _ref[0], setIsOpen = _ref[1];
11308
11348
  var dropdownRef = (0, import_react19.useRef)(null);
11309
11349
  var selectedOption = (0, import_react19.useMemo)(function() {
@@ -11332,6 +11372,7 @@ var ChartDropdown = function(param) {
11332
11372
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(DropdownContainer2, {
11333
11373
  ref: dropdownRef,
11334
11374
  className: className,
11375
+ "data-testid": testId,
11335
11376
  children: [
11336
11377
  label && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DropdownLabel, {
11337
11378
  children: label
@@ -11532,8 +11573,9 @@ var AxisLabel = import_styled15.default.span(_templateObject310(), function(prop
11532
11573
  });
11533
11574
  var PercentageText = import_styled15.default.div(_templateObject311());
11534
11575
  var BulletChart = function(param) {
11535
- var title = param.title, bullets = param.bullets;
11576
+ var title = param.title, bullets = param.bullets, testId = param.testId;
11536
11577
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Container3, {
11578
+ "data-testid": testId,
11537
11579
  children: [
11538
11580
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Title2, {
11539
11581
  children: title
@@ -11544,6 +11586,7 @@ var BulletChart = function(param) {
11544
11586
  var achievedWidth = Math.min(b.achieved / b.target * 100, 100);
11545
11587
  var markerPosition = Math.min(b.marker / b.target * 100, 100);
11546
11588
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(BulletItem, {
11589
+ "data-testid": testId ? "".concat(testId, "-item-").concat(b.name) : void 0,
11547
11590
  children: [
11548
11591
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(BulletName, {
11549
11592
  children: b.name
@@ -11555,10 +11598,12 @@ var BulletChart = function(param) {
11555
11598
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(BarBackground, {
11556
11599
  children: [
11557
11600
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(BarFill, {
11558
- $width: achievedWidth
11601
+ $width: achievedWidth,
11602
+ "data-testid": testId ? "".concat(testId, "-bar-").concat(b.name) : void 0
11559
11603
  }),
11560
11604
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Marker, {
11561
- $position: markerPosition
11605
+ $position: markerPosition,
11606
+ "data-testid": testId ? "".concat(testId, "-marker-").concat(b.name) : void 0
11562
11607
  })
11563
11608
  ]
11564
11609
  }),
@@ -11602,6 +11647,7 @@ var BulletChart = function(param) {
11602
11647
  ]
11603
11648
  }),
11604
11649
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(PercentageText, {
11650
+ "data-testid": testId ? "".concat(testId, "-percentage-").concat(b.name) : void 0,
11605
11651
  children: [
11606
11652
  percentageAchieved,
11607
11653
  "% of target achieved"
@@ -11650,8 +11696,9 @@ var StatLabel = import_styled16.default.div(_templateObject326());
11650
11696
  var StatValue = import_styled16.default.div(_templateObject327());
11651
11697
  var Separator = import_styled16.default.div(_templateObject328());
11652
11698
  var GaugeChart = function(param) {
11653
- var title = param.title, gauges = param.gauges;
11699
+ var title = param.title, gauges = param.gauges, testId = param.testId;
11654
11700
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Container4, {
11701
+ "data-testid": testId,
11655
11702
  children: [
11656
11703
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Title3, {
11657
11704
  children: title
@@ -11911,16 +11958,18 @@ var Bar2 = import_styled17.default.div(_templateObject347(), function(props) {
11911
11958
  var XAxisLabels = import_styled17.default.div(_templateObject348());
11912
11959
  var XAxisLabel = import_styled17.default.span(_templateObject349());
11913
11960
  var HorizontalBarChart = function(param) {
11914
- var title = param.title, bars = param.bars, selectedYear = param.selectedYear, selectedMonth = param.selectedMonth, selectedType = param.selectedType, xAxisConfig = param.xAxisConfig, topPerformer = param.topPerformer;
11961
+ var title = param.title, bars = param.bars, selectedYear = param.selectedYear, selectedMonth = param.selectedMonth, selectedType = param.selectedType, xAxisConfig = param.xAxisConfig, topPerformer = param.topPerformer, testId = param.testId;
11915
11962
  var _Math;
11916
11963
  var safeBars = bars || [];
11917
11964
  var maxValue = safeBars.length > 0 ? (_Math = Math).max.apply(_Math, _to_consumable_array(safeBars.map(function(b) {
11918
11965
  return b.value;
11919
11966
  }))) : 0;
11920
11967
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Container5, {
11968
+ "data-testid": testId,
11921
11969
  children: [
11922
11970
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(HeaderRow, {
11923
11971
  children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MenuButton, {
11972
+ "data-testid": testId ? "".concat(testId, "-menu-button") : void 0,
11924
11973
  children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(MenuDots, {
11925
11974
  children: [
11926
11975
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Dot, {}),
@@ -11931,6 +11980,7 @@ var HorizontalBarChart = function(param) {
11931
11980
  })
11932
11981
  }),
11933
11982
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Title4, {
11983
+ "data-testid": testId ? "".concat(testId, "-title") : void 0,
11934
11984
  children: title
11935
11985
  }),
11936
11986
  /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(ChartContent, {
@@ -11938,6 +11988,7 @@ var HorizontalBarChart = function(param) {
11938
11988
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LabelsColumn, {
11939
11989
  children: safeBars.map(function(bar, index) {
11940
11990
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LabelRow, {
11991
+ "data-testid": testId ? "".concat(testId, "-label-").concat(index) : void 0,
11941
11992
  $height: "45px",
11942
11993
  $marginBottom: index < safeBars.length - 1 ? "10px" : "0",
11943
11994
  children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Label, {
@@ -11971,10 +12022,12 @@ var HorizontalBarChart = function(param) {
11971
12022
  var maxValue2 = (xAxisConfig === null || xAxisConfig === void 0 ? void 0 : xAxisConfig.max) || 250;
11972
12023
  var barLengthPercentage = bar.value / maxValue2 * 100;
11973
12024
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BarRow, {
12025
+ "data-testid": testId ? "".concat(testId, "-row-").concat(index) : void 0,
11974
12026
  $height: "45px",
11975
12027
  $marginBottom: index < safeBars.length - 1 ? "10px" : "0",
11976
12028
  children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BarWrapper, {
11977
12029
  children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Bar2, {
12030
+ "data-testid": testId ? "".concat(testId, "-bar-").concat(index) : void 0,
11978
12031
  $width: barLengthPercentage,
11979
12032
  $color: bar.color
11980
12033
  })
@@ -12043,7 +12096,7 @@ var GANTT_COLORS = {
12043
12096
  emerald: "rgba(16, 185, 129, 1)"
12044
12097
  };
12045
12098
  var GanttChart = function(param) {
12046
- var data = param.data, selectedYear = param.selectedYear, selectedMonth = param.selectedMonth, selectedProject = param.selectedProject, onProjectChange = param.onProjectChange;
12099
+ var data = param.data, selectedYear = param.selectedYear, selectedMonth = param.selectedMonth, selectedProject = param.selectedProject, onProjectChange = param.onProjectChange, testId = param.testId;
12047
12100
  var _import_react21_default_useState = _sliced_to_array(import_react21.default.useState(false), 2), isProjectDropdownOpen = _import_react21_default_useState[0], setIsProjectDropdownOpen = _import_react21_default_useState[1];
12048
12101
  var projects = [
12049
12102
  "Project 1",
@@ -12261,6 +12314,7 @@ var GanttChart = function(param) {
12261
12314
  });
12262
12315
  };
12263
12316
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Container6, {
12317
+ "data-testid": testId,
12264
12318
  children: [
12265
12319
  /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(HeaderRow2, {
12266
12320
  children: [
@@ -12773,7 +12827,7 @@ var TooltipColorBox = import_styled19.default.div(_templateObject399(), function
12773
12827
  });
12774
12828
  var TooltipText = import_styled19.default.span(_templateObject400());
12775
12829
  var CalendarHeatmapChart = function(param) {
12776
- var data = param.data, selectedProject = param.selectedProject, selectedYear = param.selectedYear, selectedType = param.selectedType, onProjectChange = param.onProjectChange, calendarheatmapData = param.calendarheatmapData;
12830
+ var data = param.data, selectedProject = param.selectedProject, selectedYear = param.selectedYear, selectedType = param.selectedType, onProjectChange = param.onProjectChange, calendarheatmapData = param.calendarheatmapData, testId = param.testId;
12777
12831
  var _import_react22_default_useState = _sliced_to_array(import_react22.default.useState(false), 2), isProjectDropdownOpen = _import_react22_default_useState[0], setIsProjectDropdownOpen = _import_react22_default_useState[1];
12778
12832
  var _import_react22_default_useState1 = _sliced_to_array(import_react22.default.useState(null), 2), hoveredCell = _import_react22_default_useState1[0], setHoveredCell = _import_react22_default_useState1[1];
12779
12833
  var _import_react22_default_useState2 = _sliced_to_array(import_react22.default.useState({
@@ -12904,6 +12958,7 @@ var CalendarHeatmapChart = function(param) {
12904
12958
  return "rgba(23, 97, 163, 1)";
12905
12959
  };
12906
12960
  return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Container7, {
12961
+ "data-testid": testId,
12907
12962
  children: [
12908
12963
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(HeaderRow3, {
12909
12964
  children: [
@@ -14946,7 +15001,7 @@ var TooltipArrow = import_styled21.default.div(_templateObject594(), function(pr
14946
15001
  });
14947
15002
  var TooltipImage = import_styled21.default.img(_templateObject595());
14948
15003
  var Tooltip2 = function(param) {
14949
- var text = param.text, _param_position = param.position, position = _param_position === void 0 ? "top" : _param_position, children = param.children, _param_variant = param.variant, variant = _param_variant === void 0 ? "default" : _param_variant, _param_className = param.className, className = _param_className === void 0 ? "" : _param_className, textColor = param.textColor, backgroundColor = param.backgroundColor, image = param.image, animation = param.animation;
15004
+ var text = param.text, _param_position = param.position, position = _param_position === void 0 ? "top" : _param_position, children = param.children, _param_variant = param.variant, variant = _param_variant === void 0 ? "default" : _param_variant, _param_className = param.className, className = _param_className === void 0 ? "" : _param_className, textColor = param.textColor, backgroundColor = param.backgroundColor, image = param.image, testId = param.testId, animation = param.animation;
14950
15005
  var _ref = _sliced_to_array((0, import_react24.useState)(false), 2), visible = _ref[0], setVisible = _ref[1];
14951
15006
  var _ref1 = _sliced_to_array((0, import_react24.useState)(false), 2), isReady = _ref1[0], setIsReady = _ref1[1];
14952
15007
  var _ref2 = _sliced_to_array((0, import_react24.useState)(false), 2), showAnimation = _ref2[0], setShowAnimation = _ref2[1];
@@ -15084,6 +15139,7 @@ var Tooltip2 = function(param) {
15084
15139
  });
15085
15140
  }
15086
15141
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(TooltipWrapper, {
15142
+ "data-testid": testId,
15087
15143
  ref: triggerRef,
15088
15144
  className: className,
15089
15145
  onMouseEnter: showTooltip,
@@ -15399,7 +15455,7 @@ var ToastMessage = import_react25.default.forwardRef(function(_0, _1) {
15399
15455
  var _ref = [
15400
15456
  _0,
15401
15457
  _1
15402
- ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), _ref_type = _ref2.type, type = _ref_type === void 0 ? "notification" : _ref_type, customTitle = _ref2.title, message = _ref2.message, onClose = _ref2.onClose, _ref_showClose = _ref2.showClose, showClose = _ref_showClose === void 0 ? true : _ref_showClose, _ref_duration = _ref2.duration, duration = _ref_duration === void 0 ? 5e3 : _ref_duration, _ref_background = _ref2.background, background = _ref_background === void 0 ? "solid" : _ref_background, custom = _ref2.custom, action = _ref2.action, className = _ref2.className, rest = _object_without_properties(_ref2, [
15458
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), _ref_type = _ref2.type, type = _ref_type === void 0 ? "notification" : _ref_type, customTitle = _ref2.title, message = _ref2.message, onClose = _ref2.onClose, _ref_showClose = _ref2.showClose, showClose = _ref_showClose === void 0 ? true : _ref_showClose, _ref_duration = _ref2.duration, duration = _ref_duration === void 0 ? 5e3 : _ref_duration, _ref_background = _ref2.background, background = _ref_background === void 0 ? "solid" : _ref_background, custom = _ref2.custom, action = _ref2.action, className = _ref2.className, testId = _ref2.testId, rest = _object_without_properties(_ref2, [
15403
15459
  "type",
15404
15460
  "title",
15405
15461
  "message",
@@ -15409,7 +15465,8 @@ var ToastMessage = import_react25.default.forwardRef(function(_0, _1) {
15409
15465
  "background",
15410
15466
  "custom",
15411
15467
  "action",
15412
- "className"
15468
+ "className",
15469
+ "testId"
15413
15470
  ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
15414
15471
  var displayTitle = customTitle !== null && customTitle !== void 0 ? customTitle : type.charAt(0).toUpperCase() + type.slice(1);
15415
15472
  var hasActions = action && action.length > 0;
@@ -15435,6 +15492,7 @@ var ToastMessage = import_react25.default.forwardRef(function(_0, _1) {
15435
15492
  }
15436
15493
  }) : getIcon(type, background);
15437
15494
  var content = /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(ToastContainer, _object_spread_props(_object_spread({
15495
+ "data-testId": testId,
15438
15496
  ref: ref,
15439
15497
  $type: type,
15440
15498
  $background: background,
@@ -15488,7 +15546,7 @@ var ToastMessage = import_react25.default.forwardRef(function(_0, _1) {
15488
15546
  ]
15489
15547
  }),
15490
15548
  hasActions && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ActionsContainer, {
15491
- children: action.map(function(btn, index) {
15549
+ children: action === null || action === void 0 ? void 0 : action.map(function(btn, index) {
15492
15550
  return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ActionButtonStyled, {
15493
15551
  onClick: btn.onClick,
15494
15552
  $variant: btn.variant,
@@ -15536,7 +15594,7 @@ var ParticleElement = import_styled23.default.div(_templateObject607(), function
15536
15594
  return props.shape === "star" && "\n clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);\n background: conic-gradient(from 0deg, ".concat(props.color, " 0% 20%, transparent 20% 40%, ").concat(props.color, " 40% 60%, transparent 60% 80%, ").concat(props.color, " 80% 100%);\n ");
15537
15595
  });
15538
15596
  var ConfettiExplosion = function(param) {
15539
- var isActive = param.isActive, _param_particleCount = param.particleCount, particleCount = _param_particleCount === void 0 ? 150 : _param_particleCount, _param_duration = param.duration, duration = _param_duration === void 0 ? 4e3 : _param_duration, _param_colors = param.colors, colors = _param_colors === void 0 ? [
15597
+ var testId = param.testId, isActive = param.isActive, _param_particleCount = param.particleCount, particleCount = _param_particleCount === void 0 ? 150 : _param_particleCount, _param_duration = param.duration, duration = _param_duration === void 0 ? 4e3 : _param_duration, _param_colors = param.colors, colors = _param_colors === void 0 ? [
15540
15598
  "#FF0000",
15541
15599
  "#00FF00",
15542
15600
  "#0000FF",
@@ -15645,6 +15703,7 @@ var ConfettiExplosion = function(param) {
15645
15703
  if (!isActive || particles.length === 0) return null;
15646
15704
  return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Container8, {
15647
15705
  stageHeight: stageHeight,
15706
+ "data-testid": testId,
15648
15707
  children: particles.map(function(particle) {
15649
15708
  return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ParticleElement, {
15650
15709
  x: particle.x,
@@ -15719,7 +15778,7 @@ var createParticles = function(count, force, wind, colors) {
15719
15778
  });
15720
15779
  };
15721
15780
  var RealisticConfetti = function(param) {
15722
- var _param_isActive = param.isActive, isActive = _param_isActive === void 0 ? true : _param_isActive, _param_particleCount = param.particleCount, particleCount = _param_particleCount === void 0 ? 200 : _param_particleCount, _param_duration = param.duration, duration = _param_duration === void 0 ? 5e3 : _param_duration, _param_colors = param.colors, colors = _param_colors === void 0 ? [
15781
+ var _param_isActive = param.isActive, isActive = _param_isActive === void 0 ? true : _param_isActive, testId = param.testId, _param_particleCount = param.particleCount, particleCount = _param_particleCount === void 0 ? 200 : _param_particleCount, _param_duration = param.duration, duration = _param_duration === void 0 ? 5e3 : _param_duration, _param_colors = param.colors, colors = _param_colors === void 0 ? [
15723
15782
  "#FF6B6B",
15724
15783
  "#4ECDC4",
15725
15784
  "#45B7D1",
@@ -15799,6 +15858,7 @@ var RealisticConfetti = function(param) {
15799
15858
  ]);
15800
15859
  if (!isActive || particles.length === 0) return null;
15801
15860
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Container9, {
15861
+ "data-testid": testId,
15802
15862
  children: particles.map(function(particle) {
15803
15863
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ParticleElement2, {
15804
15864
  x: particle.x,
@@ -15841,8 +15901,9 @@ var SpinnerContainer = import_styled25.default.div(_templateObject620(), functio
15841
15901
  return props.speed;
15842
15902
  });
15843
15903
  var Spinner = function(param) {
15844
- var _param_size = param.size, size = _param_size === void 0 ? 24 : _param_size, _param_borderWidth = param.borderWidth, borderWidth = _param_borderWidth === void 0 ? 4 : _param_borderWidth, _param_borderRadius = param.borderRadius, borderRadius = _param_borderRadius === void 0 ? 10 : _param_borderRadius, _param_primaryColor = param.primaryColor, primaryColor = _param_primaryColor === void 0 ? "#007bff" : _param_primaryColor, _param_backgroundColor = param.backgroundColor, backgroundColor = _param_backgroundColor === void 0 ? "rgba(0, 123, 255, 0.2)" : _param_backgroundColor, _param_speed = param.speed, speed = _param_speed === void 0 ? 1 : _param_speed;
15904
+ var _param_size = param.size, size = _param_size === void 0 ? 24 : _param_size, testId = param.testId, _param_borderWidth = param.borderWidth, borderWidth = _param_borderWidth === void 0 ? 4 : _param_borderWidth, _param_borderRadius = param.borderRadius, borderRadius = _param_borderRadius === void 0 ? 10 : _param_borderRadius, _param_primaryColor = param.primaryColor, primaryColor = _param_primaryColor === void 0 ? "#007bff" : _param_primaryColor, _param_backgroundColor = param.backgroundColor, backgroundColor = _param_backgroundColor === void 0 ? "rgba(0, 123, 255, 0.2)" : _param_backgroundColor, _param_speed = param.speed, speed = _param_speed === void 0 ? 1 : _param_speed;
15845
15905
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SpinnerContainer, {
15906
+ "data-testId": testId,
15846
15907
  role: "status",
15847
15908
  "aria-live": "polite",
15848
15909
  size: size,
@@ -15879,11 +15940,12 @@ var CircularSpinnerRing = import_styled25.default.span(_templateObject622(), fun
15879
15940
  return props.speed;
15880
15941
  });
15881
15942
  var CircularSpinner = function(param) {
15882
- var _param_size = param.size, size = _param_size === void 0 ? 48 : _param_size, _param_color = param.color, color = _param_color === void 0 ? "rgba(37, 99, 235, 1)" : _param_color, _param_speed = param.speed, speed = _param_speed === void 0 ? 1.5 : _param_speed, _param_ringCount = param.ringCount, ringCount = _param_ringCount === void 0 ? 1 : _param_ringCount;
15943
+ var _param_size = param.size, size = _param_size === void 0 ? 48 : _param_size, _param_color = param.color, color = _param_color === void 0 ? "rgba(37, 99, 235, 1)" : _param_color, _param_speed = param.speed, speed = _param_speed === void 0 ? 1.5 : _param_speed, _param_ringCount = param.ringCount, ringCount = _param_ringCount === void 0 ? 1 : _param_ringCount, testId = param.testId;
15883
15944
  var rings = Array.from({
15884
15945
  length: Math.max(1, ringCount)
15885
15946
  });
15886
15947
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(CircularSpinnerContainer, {
15948
+ "data-testid": testId,
15887
15949
  role: "status",
15888
15950
  "aria-live": "polite",
15889
15951
  size: size,
@@ -15893,6 +15955,7 @@ var CircularSpinner = function(param) {
15893
15955
  var offset = (size - ringSize) / 2;
15894
15956
  var opacity = 1 - i * 0.3;
15895
15957
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CircularSpinnerRing, {
15958
+ "data-testid": testId,
15896
15959
  ringSize: ringSize,
15897
15960
  offset: offset,
15898
15961
  opacity: opacity,
@@ -15913,9 +15976,10 @@ var OverlayContainer = import_styled25.default.div(_templateObject623(), functio
15913
15976
  var OverlayContent = import_styled25.default.div(_templateObject624());
15914
15977
  var OverlayLabel = import_styled25.default.span(_templateObject625());
15915
15978
  var CardOverlayLoader = function(param) {
15916
- var _param_show = param.show, show = _param_show === void 0 ? true : _param_show, _param_spinnerSize = param.spinnerSize, spinnerSize = _param_spinnerSize === void 0 ? 32 : _param_spinnerSize, _param_spinnerBorderWidth = param.spinnerBorderWidth, spinnerBorderWidth = _param_spinnerBorderWidth === void 0 ? 4 : _param_spinnerBorderWidth, _param_spinnerPrimary = param.spinnerPrimary, spinnerPrimary = _param_spinnerPrimary === void 0 ? "rgba(37, 99, 235, 1)" : _param_spinnerPrimary, _param_spinnerTrack = param.spinnerTrack, spinnerTrack = _param_spinnerTrack === void 0 ? "rgba(229, 231, 235, 1)" : _param_spinnerTrack, _param_backdrop = param.backdrop, backdrop = _param_backdrop === void 0 ? "rgba(255, 255, 255, 0.65)" : _param_backdrop, _param_label = param.label, label = _param_label === void 0 ? "Loading..." : _param_label;
15979
+ var _param_show = param.show, show = _param_show === void 0 ? true : _param_show, testId = param.testId, _param_spinnerSize = param.spinnerSize, spinnerSize = _param_spinnerSize === void 0 ? 32 : _param_spinnerSize, _param_spinnerBorderWidth = param.spinnerBorderWidth, spinnerBorderWidth = _param_spinnerBorderWidth === void 0 ? 4 : _param_spinnerBorderWidth, _param_spinnerPrimary = param.spinnerPrimary, spinnerPrimary = _param_spinnerPrimary === void 0 ? "rgba(37, 99, 235, 1)" : _param_spinnerPrimary, _param_spinnerTrack = param.spinnerTrack, spinnerTrack = _param_spinnerTrack === void 0 ? "rgba(229, 231, 235, 1)" : _param_spinnerTrack, _param_backdrop = param.backdrop, backdrop = _param_backdrop === void 0 ? "rgba(255, 255, 255, 0.65)" : _param_backdrop, _param_label = param.label, label = _param_label === void 0 ? "Loading..." : _param_label;
15917
15980
  if (!show) return null;
15918
15981
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(OverlayContainer, {
15982
+ "data-testId": String,
15919
15983
  backdrop: backdrop,
15920
15984
  role: "status",
15921
15985
  "aria-live": "polite",
@@ -15951,11 +16015,12 @@ var Dot2 = import_styled25.default.span(_templateObject627(), function(props) {
15951
16015
  return props.animationDelay;
15952
16016
  });
15953
16017
  var LoadingDots = function(param) {
15954
- var _param_size = param.size, size = _param_size === void 0 ? 8 : _param_size, _param_color = param.color, color = _param_color === void 0 ? "rgba(55, 65, 81, 1)" : _param_color, _param_gap = param.gap, gap = _param_gap === void 0 ? 6 : _param_gap, _param_speed = param.speed, speed = _param_speed === void 0 ? 1.2 : _param_speed, _param_count = param.count, count = _param_count === void 0 ? 3 : _param_count;
16018
+ var _param_size = param.size, size = _param_size === void 0 ? 8 : _param_size, _param_color = param.color, color = _param_color === void 0 ? "rgba(55, 65, 81, 1)" : _param_color, _param_gap = param.gap, gap = _param_gap === void 0 ? 6 : _param_gap, _param_speed = param.speed, speed = _param_speed === void 0 ? 1.2 : _param_speed, _param_count = param.count, count = _param_count === void 0 ? 3 : _param_count, testId = param.testId;
15955
16019
  var dots = Array.from({
15956
16020
  length: Math.max(0, count)
15957
16021
  });
15958
16022
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(DotsContainer, {
16023
+ "data-testid": testId,
15959
16024
  role: "status",
15960
16025
  "aria-label": "Loading",
15961
16026
  children: [
@@ -15989,12 +16054,13 @@ var DotLinear = import_styled25.default.span(_templateObject628(), function(prop
15989
16054
  return props.animationDelay;
15990
16055
  });
15991
16056
  var LoadingDotsLinear = function(param) {
15992
- var _param_size = param.size, size = _param_size === void 0 ? 8 : _param_size, _param_color = param.color, color = _param_color === void 0 ? "rgba(55, 65, 81, 1)" : _param_color, _param_gap = param.gap, gap = _param_gap === void 0 ? 6 : _param_gap, _param_speed = param.speed, speed = _param_speed === void 0 ? 1.2 : _param_speed, _param_count = param.count, count = _param_count === void 0 ? 5 : _param_count;
16057
+ var _param_size = param.size, size = _param_size === void 0 ? 8 : _param_size, _param_color = param.color, color = _param_color === void 0 ? "rgba(55, 65, 81, 1)" : _param_color, _param_gap = param.gap, gap = _param_gap === void 0 ? 6 : _param_gap, _param_speed = param.speed, speed = _param_speed === void 0 ? 1.2 : _param_speed, _param_count = param.count, count = _param_count === void 0 ? 5 : _param_count, testId = param.testId;
15993
16058
  var dots = Array.from({
15994
16059
  length: Math.max(1, count)
15995
16060
  });
15996
16061
  var animationDelay = speed / count;
15997
16062
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(DotsContainer, {
16063
+ "data-testid": testId,
15998
16064
  role: "status",
15999
16065
  "aria-label": "Loading",
16000
16066
  children: [
@@ -16028,8 +16094,9 @@ var SkeletonLine = import_styled25.default.div(_templateObject639(), function(pr
16028
16094
  return props.width;
16029
16095
  }, shimmerAnimation);
16030
16096
  var CardWithLoading = function(param) {
16031
- var _param_loading = param.loading, loading = _param_loading === void 0 ? true : _param_loading, _param_imageUrl = param.imageUrl, imageUrl = _param_imageUrl === void 0 ? "https://upload.wikimedia.org/wikipedia/commons/c/cb/Adirondacks_2016_Cascade_mountain_hike.jpg" : _param_imageUrl, _param_title = param.title, title = _param_title === void 0 ? "Amazing Landscape" : _param_title, _param_content = param.content, content = _param_content === void 0 ? "Discover breathtaking views and natural wonders from around the world. Experience the beauty of nature through stunning photography." : _param_content;
16097
+ var _param_loading = param.loading, loading = _param_loading === void 0 ? true : _param_loading, testId = param.testId, _param_imageUrl = param.imageUrl, imageUrl = _param_imageUrl === void 0 ? "https://upload.wikimedia.org/wikipedia/commons/c/cb/Adirondacks_2016_Cascade_mountain_hike.jpg" : _param_imageUrl, _param_title = param.title, title = _param_title === void 0 ? "Amazing Landscape" : _param_title, _param_content = param.content, content = _param_content === void 0 ? "Discover breathtaking views and natural wonders from around the world. Experience the beauty of nature through stunning photography." : _param_content;
16032
16098
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(Card3, {
16099
+ "data-testid": testId,
16033
16100
  children: [
16034
16101
  /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(ImageContainer, {
16035
16102
  children: [
@@ -16105,7 +16172,7 @@ var Empty = import_styled26.default.div(_templateObject658());
16105
16172
  var Tags = import_styled26.default.div(_templateObject659());
16106
16173
  var Tag = import_styled26.default.div(_templateObject660());
16107
16174
  function SearchableDropdown(param) {
16108
- var label = param.label, options = param.options, value = param.value, onChange = param.onChange, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "search here" : _param_placeholder;
16175
+ var label = param.label, options = param.options, value = param.value, onChange = param.onChange, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "search here" : _param_placeholder, testId = param.testId;
16109
16176
  var _find;
16110
16177
  var _ref = _sliced_to_array((0, import_react30.useState)(false), 2), open = _ref[0], setOpen = _ref[1];
16111
16178
  var _ref1 = _sliced_to_array((0, import_react30.useState)(""), 2), search = _ref1[0], setSearch = _ref1[1];
@@ -16124,6 +16191,7 @@ function SearchableDropdown(param) {
16124
16191
  });
16125
16192
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Wrapper, {
16126
16193
  ref: ref,
16194
+ "data-testid": testId,
16127
16195
  children: [
16128
16196
  label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Label2, {
16129
16197
  children: label
@@ -16560,14 +16628,17 @@ var TexttoAudio = function(param) {
16560
16628
  text
16561
16629
  ]);
16562
16630
  return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Container10, {
16631
+ "data-testid": "text-to-audio-container",
16563
16632
  children: [
16564
16633
  /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Card5, {
16634
+ "data-testid": "text-to-audio-card",
16565
16635
  children: [
16566
16636
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Header2, {
16567
16637
  children: "Text to Speech"
16568
16638
  }),
16569
16639
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Body, {
16570
16640
  children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TextArea, {
16641
+ "data-testid": "text-to-audio-textarea",
16571
16642
  ref: textAreaRef,
16572
16643
  placeholder: "Enter text here...",
16573
16644
  value: text,
@@ -16581,6 +16652,7 @@ var TexttoAudio = function(param) {
16581
16652
  /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Player, {
16582
16653
  children: [
16583
16654
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconBtn, {
16655
+ "data-testid": "10 sec backward",
16584
16656
  onClick: function() {
16585
16657
  return skip(-10);
16586
16658
  },
@@ -16589,6 +16661,7 @@ var TexttoAudio = function(param) {
16589
16661
  })
16590
16662
  }),
16591
16663
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconBtn, {
16664
+ "data-testid": "skip-backward-btn",
16592
16665
  onClick: function() {
16593
16666
  return skip(-5);
16594
16667
  },
@@ -16597,12 +16670,14 @@ var TexttoAudio = function(param) {
16597
16670
  })
16598
16671
  }),
16599
16672
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconBtn, {
16673
+ "data-testid": "play-pause-btn",
16600
16674
  onClick: togglePlay,
16601
16675
  children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ControlIcon, {
16602
16676
  src: playing ? icons.pause : icons.play
16603
16677
  })
16604
16678
  }),
16605
16679
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconBtn, {
16680
+ "data-testid": "10-sec-forward-skip",
16606
16681
  onClick: function() {
16607
16682
  return skip(10);
16608
16683
  },
@@ -16611,6 +16686,7 @@ var TexttoAudio = function(param) {
16611
16686
  })
16612
16687
  }),
16613
16688
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconBtn, {
16689
+ "data-testid": "5-sec-forward-skip",
16614
16690
  onClick: function() {
16615
16691
  return skip(5);
16616
16692
  },
@@ -16627,12 +16703,14 @@ var TexttoAudio = function(param) {
16627
16703
  })
16628
16704
  }),
16629
16705
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconBtn, {
16706
+ "data-testid": "force-stop",
16630
16707
  onClick: stop,
16631
16708
  children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ControlIcon, {
16632
16709
  src: icons.stop
16633
16710
  })
16634
16711
  }),
16635
16712
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconBtn, {
16713
+ "data-testid": "on-loop-btn",
16636
16714
  onClick: function() {
16637
16715
  setLoopMode(function(prev) {
16638
16716
  return prev === 2 ? 0 : prev + 1;
@@ -16677,6 +16755,7 @@ var TexttoAudio = function(param) {
16677
16755
  /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(SeekWrapper, {
16678
16756
  children: [
16679
16757
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Seek, {
16758
+ "data-testid": "seek-bar",
16680
16759
  type: "range",
16681
16760
  min: 0,
16682
16761
  max: duration,
@@ -16709,6 +16788,7 @@ var TexttoAudio = function(param) {
16709
16788
  ]
16710
16789
  }),
16711
16790
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(GenerateBtn, {
16791
+ "data-testid": "reads-entire-page-btn",
16712
16792
  onClick: function() {
16713
16793
  var pageText = getPageContent();
16714
16794
  loopCountRef.current = 0;
@@ -16720,6 +16800,7 @@ var TexttoAudio = function(param) {
16720
16800
  children: "Reads Entire page"
16721
16801
  }),
16722
16802
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(GenerateBtn, {
16803
+ "data-testid": "reads-given-input",
16723
16804
  onClick: function() {
16724
16805
  loopCountRef.current = 0;
16725
16806
  setMode("textarea");
@@ -16752,6 +16833,7 @@ var TexttoAudio = function(param) {
16752
16833
  }),
16753
16834
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SliderBox, {
16754
16835
  children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(StyledSlider, {
16836
+ "data-testid": "text-to-audio-volume",
16755
16837
  type: "range",
16756
16838
  min: 0,
16757
16839
  max: 1,
@@ -16784,6 +16866,7 @@ var TexttoAudio = function(param) {
16784
16866
  }),
16785
16867
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SliderWrap, {
16786
16868
  children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(StyledSlider, {
16869
+ "data-testid": "test-to-audio-playbackspeed",
16787
16870
  type: "range",
16788
16871
  min: 0.5,
16789
16872
  max: 2,
@@ -16820,6 +16903,7 @@ var TexttoAudio = function(param) {
16820
16903
  children: [
16821
16904
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SideHeader, {
16822
16905
  children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", {
16906
+ "data-testid": "quick-summary",
16823
16907
  children: "Quick Summary"
16824
16908
  })
16825
16909
  }),
@@ -16854,7 +16938,7 @@ var Desc = import_styled28.default.p(_templateObject687());
16854
16938
  var PrimaryBtn = import_styled28.default.button(_templateObject688());
16855
16939
  var SecondaryBtn = import_styled28.default.button(_templateObject689());
16856
16940
  var MahatiLocationAccessModal = function(param) {
16857
- var isOpen = param.isOpen, onClose = param.onClose, title = param.title, description = param.description, image = param.image, allowText = param.allowText, denyText = param.denyText, onAllow = param.onAllow, onDeny = param.onDeny;
16941
+ var isOpen = param.isOpen, onClose = param.onClose, title = param.title, description = param.description, image = param.image, allowText = param.allowText, denyText = param.denyText, onAllow = param.onAllow, onDeny = param.onDeny, testId = param.testId;
16858
16942
  var ref = (0, import_react32.useRef)(null);
16859
16943
  var _ref = _sliced_to_array((0, import_react32.useState)("prompt"), 2), status = _ref[0], setStatus = _ref[1];
16860
16944
  var _ref1 = _sliced_to_array((0, import_react32.useState)(null), 2), location = _ref1[0], setLocation = _ref1[1];
@@ -16905,6 +16989,7 @@ var MahatiLocationAccessModal = function(param) {
16905
16989
  return (0, import_react_dom3.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Overlay2, {
16906
16990
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Card6, {
16907
16991
  ref: ref,
16992
+ "data-testid": testId,
16908
16993
  children: [
16909
16994
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(CloseBtn, {
16910
16995
  onClick: onClose,
@@ -16940,7 +17025,7 @@ var MahatiLocationAccessModal = function(param) {
16940
17025
  }), document.body);
16941
17026
  };
16942
17027
  var MahatiCameraAccessModal = function(param) {
16943
- var isOpen = param.isOpen, onClose = param.onClose, title = param.title, description = param.description, image = param.image, allowText = param.allowText, denyText = param.denyText, onAllow = param.onAllow, onDeny = param.onDeny;
17028
+ var isOpen = param.isOpen, onClose = param.onClose, title = param.title, description = param.description, image = param.image, allowText = param.allowText, denyText = param.denyText, onAllow = param.onAllow, onDeny = param.onDeny, testId = param.testId;
16944
17029
  var cardRef = (0, import_react32.useRef)(null);
16945
17030
  var _ref = _sliced_to_array((0, import_react32.useState)("prompt"), 2), status = _ref[0], setStatus = _ref[1];
16946
17031
  var requestCamera = function() {
@@ -17007,6 +17092,7 @@ var MahatiCameraAccessModal = function(param) {
17007
17092
  return (0, import_react_dom3.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Overlay2, {
17008
17093
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Card6, {
17009
17094
  ref: cardRef,
17095
+ "data-testid": testId,
17010
17096
  onClick: function(e) {
17011
17097
  return e.stopPropagation();
17012
17098
  },
@@ -17046,7 +17132,7 @@ var MahatiCameraAccessModal = function(param) {
17046
17132
  }), document.body);
17047
17133
  };
17048
17134
  var MahatiMicrophoneAccessModal = function(param) {
17049
- var isOpen = param.isOpen, onClose = param.onClose, title = param.title, description = param.description, image = param.image, allowText = param.allowText, denyText = param.denyText, onAllow = param.onAllow, onDeny = param.onDeny;
17135
+ var isOpen = param.isOpen, onClose = param.onClose, title = param.title, description = param.description, image = param.image, allowText = param.allowText, denyText = param.denyText, onAllow = param.onAllow, onDeny = param.onDeny, testId = param.testId;
17050
17136
  var cardRef = (0, import_react32.useRef)(null);
17051
17137
  var _ref = _sliced_to_array((0, import_react32.useState)("prompt"), 2), status = _ref[0], setStatus = _ref[1];
17052
17138
  var requestMic = function() {
@@ -17113,6 +17199,7 @@ var MahatiMicrophoneAccessModal = function(param) {
17113
17199
  return (0, import_react_dom3.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Overlay2, {
17114
17200
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Card6, {
17115
17201
  ref: cardRef,
17202
+ "data-testid": testId,
17116
17203
  onClick: function(e) {
17117
17204
  return e.stopPropagation();
17118
17205
  },
@@ -17162,8 +17249,9 @@ var PromoDesc = import_styled28.default.p(_templateObject697());
17162
17249
  var PromoInput = import_styled28.default.input(_templateObject698());
17163
17250
  var PromoCtaBtn = import_styled28.default.button(_templateObject699());
17164
17251
  var MahatiPromotionCard = function(param) {
17165
- var headerTitle = param.headerTitle, title = param.title, description = param.description, ctaText = param.ctaText, onCtaClick = param.onCtaClick, _param_showInput = param.showInput, showInput = _param_showInput === void 0 ? false : _param_showInput, inputPlaceholder = param.inputPlaceholder, onInputChange = param.onInputChange, onClose = param.onClose;
17252
+ var headerTitle = param.headerTitle, title = param.title, testId = param.testId, description = param.description, ctaText = param.ctaText, onCtaClick = param.onCtaClick, _param_showInput = param.showInput, showInput = _param_showInput === void 0 ? false : _param_showInput, inputPlaceholder = param.inputPlaceholder, onInputChange = param.onInputChange, onClose = param.onClose;
17166
17253
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(PromoCard, {
17254
+ "data-testid": testId,
17167
17255
  children: [
17168
17256
  /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(PromoHeader, {
17169
17257
  children: [
@@ -17204,12 +17292,13 @@ var MahatiPromotionCard = function(param) {
17204
17292
  });
17205
17293
  };
17206
17294
  var MahatiPromotionModal = function(_0) {
17207
- var isOpen = _0.isOpen, onClose = _0.onClose, ctaLink = _0.ctaLink, openInNewTab = _0.openInNewTab, onCtaClick = _0.onCtaClick, cardProps = _object_without_properties(_0, [
17295
+ var isOpen = _0.isOpen, onClose = _0.onClose, ctaLink = _0.ctaLink, openInNewTab = _0.openInNewTab, onCtaClick = _0.onCtaClick, testId = _0.testId, cardProps = _object_without_properties(_0, [
17208
17296
  "isOpen",
17209
17297
  "onClose",
17210
17298
  "ctaLink",
17211
17299
  "openInNewTab",
17212
- "onCtaClick"
17300
+ "onCtaClick",
17301
+ "testId"
17213
17302
  ]);
17214
17303
  var ref = (0, import_react32.useRef)(null);
17215
17304
  var _ref = _sliced_to_array((0, import_react32.useState)(""), 2), email = _ref[0], setEmail = _ref[1];
@@ -17240,6 +17329,7 @@ var MahatiPromotionModal = function(_0) {
17240
17329
  return (0, import_react_dom3.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(PromoOverlay, {
17241
17330
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", {
17242
17331
  ref: ref,
17332
+ "data-testid": testId,
17243
17333
  onClick: function(e) {
17244
17334
  return e.stopPropagation();
17245
17335
  },
@@ -17262,7 +17352,7 @@ var PromoV2Desc = import_styled28.default.p(_templateObject707());
17262
17352
  var PromoV2CtaBtn = import_styled28.default.button(_templateObject708());
17263
17353
  var PromoV2Badge = import_styled28.default.img(_templateObject709());
17264
17354
  var MahatiPromotionModalV2Modal = function(param) {
17265
- var isOpen = param.isOpen, onClose = param.onClose, headerTitle = param.headerTitle, title = param.title, description = param.description, ctaText = param.ctaText, onCtaClick = param.onCtaClick, ctaLink = param.ctaLink, _param_openInNewTab = param.openInNewTab, openInNewTab = _param_openInNewTab === void 0 ? false : _param_openInNewTab, _param_showBadgeImage = param.showBadgeImage, showBadgeImage = _param_showBadgeImage === void 0 ? false : _param_showBadgeImage, badgeImageSrc = param.badgeImageSrc;
17355
+ var isOpen = param.isOpen, testId = param.testId, onClose = param.onClose, headerTitle = param.headerTitle, title = param.title, description = param.description, ctaText = param.ctaText, onCtaClick = param.onCtaClick, ctaLink = param.ctaLink, _param_openInNewTab = param.openInNewTab, openInNewTab = _param_openInNewTab === void 0 ? false : _param_openInNewTab, _param_showBadgeImage = param.showBadgeImage, showBadgeImage = _param_showBadgeImage === void 0 ? false : _param_showBadgeImage, badgeImageSrc = param.badgeImageSrc;
17266
17356
  var ref = (0, import_react32.useRef)(null);
17267
17357
  (0, import_react32.useEffect)(function() {
17268
17358
  if (!isOpen) return;
@@ -17290,6 +17380,7 @@ var MahatiPromotionModalV2Modal = function(param) {
17290
17380
  };
17291
17381
  return (0, import_react_dom3.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(PromoV2Overlay, {
17292
17382
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(PromoV2Card, {
17383
+ "data-testid": testId,
17293
17384
  ref: ref,
17294
17385
  onClick: function(e) {
17295
17386
  return e.stopPropagation();
@@ -17341,7 +17432,7 @@ var PromoV3Desc = import_styled28.default.p(_templateObject716());
17341
17432
  var PromoV3CtaBtn = import_styled28.default.button(_templateObject717());
17342
17433
  var PromoV3SecondaryBtn = import_styled28.default.button(_templateObject718());
17343
17434
  var MahatiPromotionModalV3Modal = function(param) {
17344
- var isOpen = param.isOpen, onClose = param.onClose, title = param.title, description = param.description, ctaText = param.ctaText, onCtaClick = param.onCtaClick, _param_secondaryText = param.secondaryText, secondaryText = _param_secondaryText === void 0 ? "Later" : _param_secondaryText, onSecondaryClick = param.onSecondaryClick, imageSrc = param.imageSrc, ctaLink = param.ctaLink, _param_openInNewTab = param.openInNewTab, openInNewTab = _param_openInNewTab === void 0 ? false : _param_openInNewTab;
17435
+ var isOpen = param.isOpen, testId = param.testId, onClose = param.onClose, title = param.title, description = param.description, ctaText = param.ctaText, onCtaClick = param.onCtaClick, _param_secondaryText = param.secondaryText, secondaryText = _param_secondaryText === void 0 ? "Later" : _param_secondaryText, onSecondaryClick = param.onSecondaryClick, imageSrc = param.imageSrc, ctaLink = param.ctaLink, _param_openInNewTab = param.openInNewTab, openInNewTab = _param_openInNewTab === void 0 ? false : _param_openInNewTab;
17345
17436
  var ref = (0, import_react32.useRef)(null);
17346
17437
  (0, import_react32.useEffect)(function() {
17347
17438
  if (!isOpen) return;
@@ -17369,6 +17460,7 @@ var MahatiPromotionModalV3Modal = function(param) {
17369
17460
  };
17370
17461
  return (0, import_react_dom3.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(PromoV3Overlay, {
17371
17462
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(PromoV3Card, {
17463
+ "data-testid": testId,
17372
17464
  ref: ref,
17373
17465
  onClick: function(e) {
17374
17466
  return e.stopPropagation();
@@ -17435,8 +17527,9 @@ var BADGE_BG_MAP = {
17435
17527
  add: "linear-gradient(to bottom right, #1761A3, #4DAF83)"
17436
17528
  };
17437
17529
  var MahatiNotificationCard = function(param) {
17438
- var title = param.title, description = param.description, time = param.time, iconSrc = param.iconSrc, avatarSrc = param.avatarSrc, badgeIconSrc = param.badgeIconSrc, badgeType = param.badgeType, primaryActionText = param.primaryActionText, onPrimaryAction = param.onPrimaryAction, secondaryActionText = param.secondaryActionText, onSecondaryAction = param.onSecondaryAction, onClose = param.onClose;
17530
+ var title = param.title, testId = param.testId, description = param.description, time = param.time, iconSrc = param.iconSrc, avatarSrc = param.avatarSrc, badgeIconSrc = param.badgeIconSrc, badgeType = param.badgeType, primaryActionText = param.primaryActionText, onPrimaryAction = param.onPrimaryAction, secondaryActionText = param.secondaryActionText, onSecondaryAction = param.onSecondaryAction, onClose = param.onClose;
17439
17531
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(NotificationWrapper, {
17532
+ "data-testid": testId,
17440
17533
  children: [
17441
17534
  /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(LeftVisual, {
17442
17535
  children: [