dhre-ui-kit 3.0.0 → 3.0.2

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/lib/index.js CHANGED
@@ -222,6 +222,8 @@ var Theme = /* @__PURE__ */ ((Theme2) => {
222
222
  Theme2["STROKE_INFO"] = "STROKE_INFO";
223
223
  Theme2["STROKE_DISABLED_DARK"] = "STROKE_DISABLED_DARK";
224
224
  Theme2["STROKE_DISABLED_DARK2"] = "STROKE_DISABLED_DARK2";
225
+ Theme2["STROKE_ACTIVE"] = "STROKE_ACTIVE";
226
+ Theme2["STROKE_DISABLED_SELECTED"] = "STROKE_DISABLED_SELECTED";
225
227
  return Theme2;
226
228
  })(Theme || {});
227
229
 
@@ -485,6 +487,14 @@ const DHRE_RED_ERROR = {
485
487
  TRANSPARENT_400_60: "rgba(235, 5, 66, 0.60)",
486
488
  TRANSPARENT_400_10: "rgba(235, 5, 66, 0.10)"
487
489
  };
490
+ const DHRE_CONFIRMATION_ERROR_GRADIENT = {
491
+ light: ["#F0809E", "#FFFFFF"],
492
+ dark: ["#EB0542", "#000A28"]
493
+ };
494
+ const DHRE_CONFIRMATION_BASE_GRADIENT = {
495
+ light: ["rgba(165, 233, 255, 0)", "#52C5E8"],
496
+ dark: ["rgba(165, 233, 255, 0)", "#279DC1"]
497
+ };
488
498
 
489
499
  const theme = {
490
500
  [Theme.SURFACE_PRIMARY]: {
@@ -565,7 +575,7 @@ const theme = {
565
575
  },
566
576
  [Theme.SURFACE_SUCCESS]: {
567
577
  light: "#89C798",
568
- dark: "#347243"
578
+ dark: "#4EAB65"
569
579
  },
570
580
  [Theme.SURFACE_SUCCESS_TRANSPARENT]: {
571
581
  light: "rgba(137, 199, 152, 0.10)",
@@ -573,7 +583,7 @@ const theme = {
573
583
  },
574
584
  [Theme.SURFACE_INFO]: {
575
585
  light: "#52C5E8",
576
- dark: "#07556C"
586
+ dark: "#279DC1"
577
587
  },
578
588
  [Theme.SURFACE_INFO_TRANSPARENT]: {
579
589
  light: "rgba(233, 248, 255, 0.35)",
@@ -588,8 +598,8 @@ const theme = {
588
598
  dark: "rgba(238, 170, 106, 0.60)"
589
599
  },
590
600
  [Theme.SURFACE_ERROR]: {
591
- light: "#FFF2F5",
592
- dark: "#9D032C"
601
+ light: "#F0809E",
602
+ dark: "#EB0542"
593
603
  },
594
604
  [Theme.SURFACE_ERROR_TRANSPARENT]: {
595
605
  light: "rgba(235, 5, 66, 0.10)",
@@ -604,8 +614,8 @@ const theme = {
604
614
  dark: "#BFC7DB"
605
615
  },
606
616
  [Theme.CONTENT_TERTIARY]: {
607
- light: "#4D5F86",
608
- dark: "#8994AF"
617
+ light: "#6F7681",
618
+ dark: "#9FA4AB"
609
619
  },
610
620
  [Theme.CONTENT_SECONDARY_TEXT]: {
611
621
  light: "#686868",
@@ -822,6 +832,15 @@ const theme = {
822
832
  [Theme.STROKE_DISABLED_DARK2]: {
823
833
  dark: DHRE_DEEP_SPACE_BLUE[800],
824
834
  light: DHRE_DEEP_SPACE_BLUE[200]
835
+ },
836
+ [Theme.STROKE_ACTIVE]: {
837
+ dark: "#009db3",
838
+ light: "#009db3"
839
+ // light-theme value pending DHDS Figma spec
840
+ },
841
+ [Theme.STROKE_DISABLED_SELECTED]: {
842
+ dark: "#003f48",
843
+ light: "#9ADFE8"
825
844
  }
826
845
  };
827
846
 
@@ -853,64 +872,65 @@ const horizontalScale = (size) => width / guidelineBaseWidth * size;
853
872
  const verticalScale = (size) => height / guidelineBaseHeight * size;
854
873
  const moderateScale = (size, factor = 0.5) => size + (horizontalScale(size) - size) * factor;
855
874
 
856
- const createFontStyle = (fontFamily, fontSize, lineHeight) => ({
875
+ const createFontStyle = (fontFamily, fontSize, lineHeight, fontWeight) => ({
857
876
  fontSize: moderateScale(fontSize),
858
877
  lineHeight: verticalScale(lineHeight),
859
- fontFamily
878
+ fontFamily,
879
+ fontWeight
860
880
  });
861
881
  const InterBold = "Inter-Bold";
862
882
  const InterLight = "Inter-Light";
863
883
  const InterMedium = "Inter-Medium";
864
884
  const FONT_STYLES = {
865
- [FontStyle.H1_BOLD]: createFontStyle(InterBold, 48, 56),
866
- [FontStyle.H2_BOLD]: createFontStyle(InterBold, 40, 48),
867
- [FontStyle.H3_BOLD]: createFontStyle(InterBold, 32, 40),
868
- [FontStyle.H4_BOLD]: createFontStyle(InterBold, 24, 32),
869
- [FontStyle.H5_BOLD]: createFontStyle(InterBold, 20, 28),
870
- [FontStyle.H6_BOLD]: createFontStyle(InterBold, 16, 20),
871
- [FontStyle.H7_BOLD]: createFontStyle(InterBold, 20, 28),
872
- [FontStyle.H8_BOLD]: createFontStyle(InterBold, 18, 25.2),
873
- [FontStyle.H1_MEDIUM]: createFontStyle(InterMedium, 48, 56),
874
- [FontStyle.H2_MEDIUM]: createFontStyle(InterMedium, 40, 48),
875
- [FontStyle.H3_MEDIUM]: createFontStyle(InterMedium, 32, 40),
876
- [FontStyle.H4_MEDIUM]: createFontStyle(InterMedium, 24, 32),
877
- [FontStyle.H5_MEDIUM]: createFontStyle(InterMedium, 20, 28),
878
- [FontStyle.H6_MEDIUM]: createFontStyle(InterMedium, 16, 20),
879
- [FontStyle.H7_MEDIUM]: createFontStyle(InterMedium, 20, 28),
880
- [FontStyle.H8_MEDIUM]: createFontStyle(InterMedium, 18, 25.2),
881
- [FontStyle.H1_LIGHT]: createFontStyle(InterLight, 48, 56),
882
- [FontStyle.H2_LIGHT]: createFontStyle(InterLight, 40, 48),
883
- [FontStyle.H3_LIGHT]: createFontStyle(InterLight, 32, 40),
884
- [FontStyle.H4_LIGHT]: createFontStyle(InterLight, 24, 32),
885
- [FontStyle.H5_LIGHT]: createFontStyle(InterLight, 20, 28),
886
- [FontStyle.H6_LIGHT]: createFontStyle(InterLight, 16, 20),
887
- [FontStyle.H7_LIGHT]: createFontStyle(InterLight, 20, 28),
888
- [FontStyle.H8_LIGHT]: createFontStyle(InterLight, 18, 25.2),
889
- [FontStyle.H1_LINK]: createFontStyle(InterLight, 48, 56),
890
- [FontStyle.H2_LINK]: createFontStyle(InterLight, 40, 48),
891
- [FontStyle.H3_LINK]: createFontStyle(InterLight, 32, 40),
892
- [FontStyle.H4_LINK]: createFontStyle(InterLight, 24, 32),
893
- [FontStyle.H5_LINK]: createFontStyle(InterLight, 20, 28),
894
- [FontStyle.H6_LINK]: createFontStyle(InterLight, 16, 20),
895
- [FontStyle.H7_LINK]: createFontStyle(InterLight, 20, 28),
896
- [FontStyle.H8_LINK]: createFontStyle(InterLight, 18, 25.2),
885
+ [FontStyle.H1_BOLD]: createFontStyle(InterBold, 48, 56, "700"),
886
+ [FontStyle.H2_BOLD]: createFontStyle(InterBold, 40, 48, "700"),
887
+ [FontStyle.H3_BOLD]: createFontStyle(InterBold, 32, 40, "700"),
888
+ [FontStyle.H4_BOLD]: createFontStyle(InterBold, 24, 32, "700"),
889
+ [FontStyle.H5_BOLD]: createFontStyle(InterBold, 20, 28, "700"),
890
+ [FontStyle.H6_BOLD]: createFontStyle(InterBold, 16, 20, "700"),
891
+ [FontStyle.H7_BOLD]: createFontStyle(InterBold, 20, 28, "700"),
892
+ [FontStyle.H8_BOLD]: createFontStyle(InterBold, 18, 25.2, "700"),
893
+ [FontStyle.H1_MEDIUM]: createFontStyle(InterMedium, 48, 56, "500"),
894
+ [FontStyle.H2_MEDIUM]: createFontStyle(InterMedium, 40, 48, "500"),
895
+ [FontStyle.H3_MEDIUM]: createFontStyle(InterMedium, 32, 40, "500"),
896
+ [FontStyle.H4_MEDIUM]: createFontStyle(InterMedium, 24, 32, "500"),
897
+ [FontStyle.H5_MEDIUM]: createFontStyle(InterMedium, 20, 28, "500"),
898
+ [FontStyle.H6_MEDIUM]: createFontStyle(InterMedium, 16, 20, "500"),
899
+ [FontStyle.H7_MEDIUM]: createFontStyle(InterMedium, 20, 28, "500"),
900
+ [FontStyle.H8_MEDIUM]: createFontStyle(InterMedium, 18, 25.2, "500"),
901
+ [FontStyle.H1_LIGHT]: createFontStyle(InterLight, 48, 56, "300"),
902
+ [FontStyle.H2_LIGHT]: createFontStyle(InterLight, 40, 48, "300"),
903
+ [FontStyle.H3_LIGHT]: createFontStyle(InterLight, 32, 40, "300"),
904
+ [FontStyle.H4_LIGHT]: createFontStyle(InterLight, 24, 32, "300"),
905
+ [FontStyle.H5_LIGHT]: createFontStyle(InterLight, 20, 28, "300"),
906
+ [FontStyle.H6_LIGHT]: createFontStyle(InterLight, 16, 20, "300"),
907
+ [FontStyle.H7_LIGHT]: createFontStyle(InterLight, 20, 28, "300"),
908
+ [FontStyle.H8_LIGHT]: createFontStyle(InterLight, 18, 25.2, "300"),
909
+ [FontStyle.H1_LINK]: createFontStyle(InterLight, 48, 56, "300"),
910
+ [FontStyle.H2_LINK]: createFontStyle(InterLight, 40, 48, "300"),
911
+ [FontStyle.H3_LINK]: createFontStyle(InterLight, 32, 40, "300"),
912
+ [FontStyle.H4_LINK]: createFontStyle(InterLight, 24, 32, "300"),
913
+ [FontStyle.H5_LINK]: createFontStyle(InterLight, 20, 28, "300"),
914
+ [FontStyle.H6_LINK]: createFontStyle(InterLight, 16, 20, "500"),
915
+ [FontStyle.H7_LINK]: createFontStyle(InterLight, 20, 28, "500"),
916
+ [FontStyle.H8_LINK]: createFontStyle(InterLight, 18, 25.2, "500"),
897
917
  // Lifestyle body styles
898
- [FontStyle.BODY1_BOLD]: createFontStyle(InterBold, 16, 20),
899
- [FontStyle.BODY2_BOLD]: createFontStyle(InterBold, 14, 18),
900
- [FontStyle.BODY3_BOLD]: createFontStyle(InterBold, 12, 16),
901
- [FontStyle.BODY4_BOLD]: createFontStyle(InterBold, 11, 12),
902
- [FontStyle.BODY1_MEDIUM]: createFontStyle(InterMedium, 16, 20),
903
- [FontStyle.BODY2_MEDIUM]: createFontStyle(InterMedium, 14, 18),
904
- [FontStyle.BODY3_MEDIUM]: createFontStyle(InterMedium, 12, 16),
905
- [FontStyle.BODY4_MEDIUM]: createFontStyle(InterMedium, 11, 12),
906
- [FontStyle.BODY1_LIGHT]: createFontStyle(InterLight, 16, 20),
907
- [FontStyle.BODY2_LIGHT]: createFontStyle(InterLight, 14, 18),
908
- [FontStyle.BODY3_LIGHT]: createFontStyle(InterLight, 12, 16),
909
- [FontStyle.BODY4_LIGHT]: createFontStyle(InterLight, 11, 12),
910
- [FontStyle.BODY1_LINK]: createFontStyle(InterLight, 16, 20),
911
- [FontStyle.BODY2_LINK]: createFontStyle(InterLight, 14, 18),
912
- [FontStyle.BODY3_LINK]: createFontStyle(InterLight, 12, 16),
913
- [FontStyle.BODY4_LINK]: createFontStyle(InterLight, 11, 12)
918
+ [FontStyle.BODY1_BOLD]: createFontStyle(InterBold, 16, 20, "700"),
919
+ [FontStyle.BODY2_BOLD]: createFontStyle(InterBold, 14, 18, "700"),
920
+ [FontStyle.BODY3_BOLD]: createFontStyle(InterBold, 12, 16, "700"),
921
+ [FontStyle.BODY4_BOLD]: createFontStyle(InterBold, 11, 12, "700"),
922
+ [FontStyle.BODY1_MEDIUM]: createFontStyle(InterMedium, 16, 20, "500"),
923
+ [FontStyle.BODY2_MEDIUM]: createFontStyle(InterMedium, 14, 18, "500"),
924
+ [FontStyle.BODY3_MEDIUM]: createFontStyle(InterMedium, 12, 16, "500"),
925
+ [FontStyle.BODY4_MEDIUM]: createFontStyle(InterMedium, 11, 12, "500"),
926
+ [FontStyle.BODY1_LIGHT]: createFontStyle(InterLight, 16, 20, "300"),
927
+ [FontStyle.BODY2_LIGHT]: createFontStyle(InterLight, 14, 18, "300"),
928
+ [FontStyle.BODY3_LIGHT]: createFontStyle(InterLight, 12, 16, "300"),
929
+ [FontStyle.BODY4_LIGHT]: createFontStyle(InterLight, 11, 12, "300"),
930
+ [FontStyle.BODY1_LINK]: createFontStyle(InterLight, 16, 20, "500"),
931
+ [FontStyle.BODY2_LINK]: createFontStyle(InterLight, 14, 18, "500"),
932
+ [FontStyle.BODY3_LINK]: createFontStyle(InterLight, 12, 16, "500"),
933
+ [FontStyle.BODY4_LINK]: createFontStyle(InterLight, 11, 12, "500")
914
934
  };
915
935
 
916
936
  const CustomTypography = ({
@@ -925,13 +945,13 @@ const CustomTypography = ({
925
945
  reactNative.Text,
926
946
  {
927
947
  testID,
928
- style: [textStyle, styles$B.container, style],
948
+ style: [textStyle, styles$A.container, style],
929
949
  ...props
930
950
  },
931
951
  text
932
952
  );
933
953
  };
934
- const styles$B = reactNative.StyleSheet.create({
954
+ const styles$A = reactNative.StyleSheet.create({
935
955
  container: { writingDirection: "auto", alignSelf: "flex-start" }
936
956
  });
937
957
 
@@ -970,7 +990,7 @@ const commonStyles = reactNative.StyleSheet.create({
970
990
  }
971
991
  });
972
992
 
973
- const styles$A = reactNative.StyleSheet.create({
993
+ const styles$z = reactNative.StyleSheet.create({
974
994
  badge: {
975
995
  backgroundColor: DHRE_COLORS_ALERT.DH_SUCCESS_GREEN,
976
996
  borderRadius: 15,
@@ -997,16 +1017,16 @@ const Badge = ({
997
1017
  return /* @__PURE__ */ React__default["default"].createElement(
998
1018
  reactNative.Pressable,
999
1019
  {
1000
- style: [styles$A.badge, commonStyles.centerRow, style],
1020
+ style: [styles$z.badge, commonStyles.centerRow, style],
1001
1021
  testID: "BADGE",
1002
1022
  onPress: handleIconPress
1003
1023
  },
1004
- iconName && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$A.icon, iconStyle] }, React__default["default"].cloneElement(iconName)),
1024
+ iconName && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$z.icon, iconStyle] }, React__default["default"].cloneElement(iconName)),
1005
1025
  text && /* @__PURE__ */ React__default["default"].createElement(
1006
1026
  CustomTypography,
1007
1027
  {
1008
1028
  variant: "B3semiBold",
1009
- style: [styles$A.text, textStyle],
1029
+ style: [styles$z.text, textStyle],
1010
1030
  text
1011
1031
  }
1012
1032
  )
@@ -1174,7 +1194,7 @@ const chipStyles = reactNative.StyleSheet.create({
1174
1194
  justifyContent: "center",
1175
1195
  borderWidth: 1,
1176
1196
  borderRadius: DHRE_RADIUS.PILL,
1177
- gap: DHRE_SPACING.XS
1197
+ gap: DHRE_PADDING.SM
1178
1198
  },
1179
1199
  sizeLarge: {
1180
1200
  height: DHRE_SPACING_BASE.SPACE_40,
@@ -1245,7 +1265,7 @@ const Chip = ({
1245
1265
  disabled
1246
1266
  );
1247
1267
  const contentColor = resolveContentColor(themeColors, selected, disabled);
1248
- const textVariant = size === "large" ? FontStyle.BODY2_LIGHT : FontStyle.BODY3_LIGHT;
1268
+ const textVariant = size === "large" ? selected ? FontStyle.BODY2_MEDIUM : FontStyle.BODY2_LIGHT : selected ? FontStyle.BODY3_MEDIUM : FontStyle.BODY3_LIGHT;
1249
1269
  return /* @__PURE__ */ React__default["default"].createElement(
1250
1270
  reactNative.Pressable,
1251
1271
  {
@@ -1287,7 +1307,7 @@ var BackgroundVariant = /* @__PURE__ */ ((BackgroundVariant2) => {
1287
1307
  return BackgroundVariant2;
1288
1308
  })(BackgroundVariant || {});
1289
1309
 
1290
- const styles$z = reactNative.StyleSheet.create({
1310
+ const styles$y = reactNative.StyleSheet.create({
1291
1311
  container: {
1292
1312
  flex: 1,
1293
1313
  overflow: "hidden"
@@ -1351,7 +1371,7 @@ const Background = ({
1351
1371
  reactNative.View,
1352
1372
  {
1353
1373
  testID,
1354
- style: [styles$z.container, { backgroundColor: config.base }, style]
1374
+ style: [styles$y.container, { backgroundColor: config.base }, style]
1355
1375
  },
1356
1376
  /* @__PURE__ */ React__default["default"].createElement(
1357
1377
  Svg__default["default"],
@@ -1406,12 +1426,12 @@ const Background = ({
1406
1426
  ))),
1407
1427
  config.type === "linear" ? /* @__PURE__ */ React__default["default"].createElement(Svg.Rect, { x: "0", y: "0", width: "100", height: "100", fill: "url(#bg)" }) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(Svg.Rect, { x: "0", y: "0", width: "100", height: "100", fill: config.base }), /* @__PURE__ */ React__default["default"].createElement(Svg.Rect, { x: "0", y: "0", width: "100", height: "100", fill: "url(#glowLeft)" }), /* @__PURE__ */ React__default["default"].createElement(Svg.Rect, { x: "0", y: "0", width: "100", height: "100", fill: "url(#glowRight)" }))
1408
1428
  ),
1409
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$z.content, contentStyle] }, children)
1429
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$y.content, contentStyle] }, children)
1410
1430
  );
1411
1431
  };
1412
1432
  var Background$1 = withThemeProvider(Background);
1413
1433
 
1414
- const styles$y = reactNative.StyleSheet.create({
1434
+ const styles$x = reactNative.StyleSheet.create({
1415
1435
  mainContainer: {
1416
1436
  flex: 1,
1417
1437
  justifyContent: "flex-end"
@@ -1433,21 +1453,19 @@ const styles$y = reactNative.StyleSheet.create({
1433
1453
  },
1434
1454
  separator: {
1435
1455
  height: verticalScale(3),
1436
- width: horizontalScale(32),
1456
+ width: DHRE_SPACING_BASE.SPACE_32,
1437
1457
  alignSelf: "center",
1438
- backgroundColor: "#A7A7A7",
1439
1458
  borderRadius: moderateScale(25)
1440
1459
  },
1441
1460
  headerContainer: {
1442
1461
  flexDirection: "row",
1443
1462
  justifyContent: "space-between",
1444
1463
  alignItems: "center",
1445
- marginTop: verticalScale(24)
1464
+ marginTop: DHRE_SPACING_BASE.SPACE_16
1446
1465
  },
1447
- title: { flex: 1, color: "#fff", textAlign: "left" },
1466
+ title: { flex: 1, textAlign: "left" },
1448
1467
  leftIconStyle: { marginRight: 8 },
1449
1468
  rightTitle: {
1450
- color: "#fff",
1451
1469
  textAlign: "right",
1452
1470
  marginRight: DHRE_PADDING.LG
1453
1471
  },
@@ -1518,11 +1536,11 @@ const BottomDrawer = ({
1518
1536
  behavior: isIos() ? "padding" : "height",
1519
1537
  style: { flex: 1 }
1520
1538
  },
1521
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$y.mainContainer, style], testID }, /* @__PURE__ */ React__default["default"].createElement(
1539
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$x.mainContainer, style], testID }, /* @__PURE__ */ React__default["default"].createElement(
1522
1540
  reactNative.View,
1523
1541
  {
1524
1542
  style: [
1525
- styles$y.modalContainer,
1543
+ styles$x.modalContainer,
1526
1544
  { backgroundColor: theme.SURFACE_PRIMARY },
1527
1545
  modalContainerStyle
1528
1546
  ]
@@ -1532,35 +1550,51 @@ const BottomDrawer = ({
1532
1550
  {
1533
1551
  onPressOut: () => swipeDirection === "" && toggleModal()
1534
1552
  },
1535
- showSeparator && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$y.separator }),
1536
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$y.headerContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$y.leftSideStyle }, showLeftIcon && leftIcon ? React__default["default"].cloneElement(leftIcon, {
1537
- style: styles$y.leftIconStyle,
1553
+ showSeparator && /* @__PURE__ */ React__default["default"].createElement(
1554
+ reactNative.View,
1555
+ {
1556
+ style: [
1557
+ styles$x.separator,
1558
+ { backgroundColor: theme.STROKE_TERTIARY }
1559
+ ]
1560
+ }
1561
+ ),
1562
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$x.headerContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$x.leftSideStyle }, showLeftIcon && leftIcon ? React__default["default"].cloneElement(leftIcon, {
1563
+ style: styles$x.leftIconStyle,
1538
1564
  onPressOut: onLeftIconPress
1539
1565
  }) : null, /* @__PURE__ */ React__default["default"].createElement(
1540
1566
  CustomTypography,
1541
1567
  {
1542
1568
  variant: titleVariant,
1543
1569
  text: title,
1544
- style: { ...styles$y.title, ...titleStyle }
1570
+ style: {
1571
+ ...styles$x.title,
1572
+ color: theme.CONTENT_PRIMARY,
1573
+ ...titleStyle
1574
+ }
1545
1575
  }
1546
1576
  )), /* @__PURE__ */ React__default["default"].createElement(
1547
1577
  reactNative.View,
1548
1578
  {
1549
- style: rightTitle && rightTitle?.length > 0 ? styles$y.rightSideStyle : {}
1579
+ style: rightTitle && rightTitle?.length > 0 ? styles$x.rightSideStyle : {}
1550
1580
  },
1551
1581
  rightTitle && rightTitle?.length > 0 ? /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPressOut: handleRightTitlePress }, /* @__PURE__ */ React__default["default"].createElement(
1552
1582
  CustomTypography,
1553
1583
  {
1554
1584
  variant: rightTitleVariant,
1555
1585
  text: rightTitle,
1556
- style: { ...styles$y.rightTitle, ...rightTitleStyle }
1586
+ style: {
1587
+ ...styles$x.rightTitle,
1588
+ color: theme.CONTENT_PRIMARY,
1589
+ ...rightTitleStyle
1590
+ }
1557
1591
  }
1558
1592
  )) : null,
1559
1593
  showRightIcon && rightIcon ? /* @__PURE__ */ React__default["default"].createElement(
1560
1594
  reactNative.Pressable,
1561
1595
  {
1562
1596
  onPressOut: toggleModal,
1563
- style: styles$y.rightIconStyle
1597
+ style: styles$x.rightIconStyle
1564
1598
  },
1565
1599
  React__default["default"].cloneElement(rightIcon, {
1566
1600
  width: DHRE_SPACING.LG,
@@ -1577,7 +1611,7 @@ const BottomDrawer = ({
1577
1611
  };
1578
1612
  var BottomDrawer$1 = withThemeProvider(BottomDrawer);
1579
1613
 
1580
- const styles$x = reactNative.StyleSheet.create({
1614
+ const styles$w = reactNative.StyleSheet.create({
1581
1615
  mainContainer: {
1582
1616
  marginHorizontal: horizontalScale(16)
1583
1617
  },
@@ -1863,7 +1897,7 @@ const CustomButton = ({
1863
1897
  text: title,
1864
1898
  variant: titleVariant ?? defaultTextVariant,
1865
1899
  textColor: effectiveTextColor,
1866
- style: [styles$x.buttonText, disabledHexStyle, textStyle]
1900
+ style: [styles$w.buttonText, disabledHexStyle, textStyle]
1867
1901
  }
1868
1902
  ), rightIcon && React__default["default"].cloneElement(rightIcon, {
1869
1903
  width: iconSize,
@@ -1925,7 +1959,7 @@ const CustomButton = ({
1925
1959
  };
1926
1960
  var Button = withThemeProvider(CustomButton);
1927
1961
 
1928
- const styles$w = reactNative.StyleSheet.create({
1962
+ const styles$v = reactNative.StyleSheet.create({
1929
1963
  container: {
1930
1964
  padding: horizontalScale(20),
1931
1965
  marginHorizontal: horizontalScale(16),
@@ -1990,53 +2024,53 @@ const Cards = ({
1990
2024
  testID,
1991
2025
  onButtonPress
1992
2026
  }) => {
1993
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { testID, style: styles$w.container }, topLeftTitle ? /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$w.topLeft }, /* @__PURE__ */ React__default["default"].createElement(
2027
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { testID, style: styles$v.container }, topLeftTitle ? /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$v.topLeft }, /* @__PURE__ */ React__default["default"].createElement(
1994
2028
  CustomTypography,
1995
2029
  {
1996
2030
  variant: "P2regular",
1997
- style: styles$w.title,
2031
+ style: styles$v.title,
1998
2032
  text: topLeftTitle
1999
2033
  }
2000
2034
  )) : null, title ? /* @__PURE__ */ React__default["default"].createElement(
2001
2035
  CustomTypography,
2002
2036
  {
2003
2037
  variant: "H6bold",
2004
- style: styles$w.subTitleBelow,
2038
+ style: styles$v.subTitleBelow,
2005
2039
  text: title
2006
2040
  }
2007
2041
  ) : null, subtitle ? /* @__PURE__ */ React__default["default"].createElement(
2008
2042
  CustomTypography,
2009
2043
  {
2010
2044
  variant: "P3regular",
2011
- style: styles$w.subtitle,
2045
+ style: styles$v.subtitle,
2012
2046
  text: subtitle
2013
2047
  }
2014
- ) : null, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$w.leftBottomView }, iconSource ? iconSource : null, iconTitle ? /* @__PURE__ */ React__default["default"].createElement(
2048
+ ) : null, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$v.leftBottomView }, iconSource ? iconSource : null, iconTitle ? /* @__PURE__ */ React__default["default"].createElement(
2015
2049
  CustomTypography,
2016
2050
  {
2017
2051
  variant: "P3regular",
2018
- style: styles$w.subTitleLeftBelow,
2052
+ style: styles$v.subTitleLeftBelow,
2019
2053
  text: iconTitle
2020
2054
  }
2021
2055
  ) : null), buttonShown ? /* @__PURE__ */ React__default["default"].createElement(
2022
2056
  reactNative.Pressable,
2023
2057
  {
2024
2058
  testID: "Button-Press",
2025
- style: styles$w.button,
2059
+ style: styles$v.button,
2026
2060
  onPress: onButtonPress
2027
2061
  },
2028
2062
  /* @__PURE__ */ React__default["default"].createElement(
2029
2063
  CustomTypography,
2030
2064
  {
2031
2065
  variant: "B2semiBold",
2032
- style: styles$w.buttonText,
2066
+ style: styles$v.buttonText,
2033
2067
  text: buttonText
2034
2068
  }
2035
2069
  )
2036
2070
  ) : null);
2037
2071
  };
2038
2072
 
2039
- const styles$v = reactNative.StyleSheet.create({
2073
+ const styles$u = reactNative.StyleSheet.create({
2040
2074
  directionStyle: {
2041
2075
  flexDirection: "row",
2042
2076
  alignItems: "flex-start",
@@ -2044,7 +2078,10 @@ const styles$v = reactNative.StyleSheet.create({
2044
2078
  },
2045
2079
  checkboxContainer: {
2046
2080
  alignItems: "center",
2047
- justifyContent: "center"
2081
+ justifyContent: "center",
2082
+ borderRadius: DHRE_RADIUS.SM,
2083
+ borderWidth: 1,
2084
+ overflow: "hidden"
2048
2085
  }
2049
2086
  });
2050
2087
 
@@ -2078,10 +2115,11 @@ const Checkbox = ({
2078
2115
  partialIcon,
2079
2116
  partialDisabledIcon,
2080
2117
  isPartial = false,
2081
- size,
2118
+ size = "small",
2082
2119
  titleVariant,
2083
2120
  titleStyle,
2084
2121
  containerStyle,
2122
+ checkboxStyle,
2085
2123
  onPress,
2086
2124
  hideCheckbox = false
2087
2125
  }) => {
@@ -2113,15 +2151,21 @@ const Checkbox = ({
2113
2151
  minWidth: size === "small" ? 20 : 24,
2114
2152
  minHeight: size === "small" ? 20 : 24
2115
2153
  };
2116
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { testID, style: containerStyle }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$v.directionStyle }, hideCheckbox ? null : /* @__PURE__ */ React__default["default"].createElement(
2154
+ const isFilledState = checked || isPartial;
2155
+ const checkboxContainerDynamicStyle = {
2156
+ backgroundColor: disable ? isFilledState ? theme[Theme.STROKE_DISABLED_SELECTED] : "transparent" : isFilledState ? theme[Theme.STROKE_ACTIVE] : "transparent",
2157
+ borderColor: disable ? theme[Theme.CONTENT_DISABLE_DARK] : theme[Theme.STROKE_ACTIVE],
2158
+ borderWidth: disable && isFilledState ? 0 : 1
2159
+ };
2160
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { testID, style: containerStyle }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$u.directionStyle }, hideCheckbox ? null : /* @__PURE__ */ React__default["default"].createElement(
2117
2161
  reactNative.Pressable,
2118
2162
  {
2119
2163
  testID: "Checkbox-Press",
2120
2164
  onPressIn: handlePress,
2121
2165
  disabled: disable,
2122
- style: [styles$v.checkboxContainer, iconContainerSizeStyle]
2166
+ style: [styles$u.checkboxContainer, iconContainerSizeStyle, checkboxContainerDynamicStyle, checkboxStyle]
2123
2167
  },
2124
- React__default["default"].cloneElement(resolvedIcon)
2168
+ resolvedIcon ? React__default["default"].cloneElement(resolvedIcon) : null
2125
2169
  ), /* @__PURE__ */ React__default["default"].createElement(
2126
2170
  CustomTypography,
2127
2171
  {
@@ -2134,7 +2178,7 @@ const Checkbox = ({
2134
2178
  };
2135
2179
  var CheckBox = withThemeProvider(Checkbox);
2136
2180
 
2137
- const styles$u = reactNative.StyleSheet.create({
2181
+ const styles$t = reactNative.StyleSheet.create({
2138
2182
  labelStyle: {
2139
2183
  color: DHRE_COLORS_TEXT.DH_TEXTLIGHT
2140
2184
  },
@@ -2188,26 +2232,26 @@ const CustomDropdown$1 = ({
2188
2232
  CustomTypography,
2189
2233
  {
2190
2234
  variant: "P3regular",
2191
- style: styles$u.labelStyle,
2235
+ style: styles$t.labelStyle,
2192
2236
  text: label
2193
2237
  }
2194
2238
  ), /* @__PURE__ */ React__default["default"].createElement(
2195
2239
  reactNative.Pressable,
2196
2240
  {
2197
2241
  testID: `${testId}-BTN`,
2198
- style: styles$u.dropDownStyle,
2242
+ style: styles$t.dropDownStyle,
2199
2243
  onPress: () => setShowOptions(!showOptions)
2200
2244
  },
2201
2245
  iconName && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: iconStyle }, React__default["default"].cloneElement(iconName, {
2202
2246
  width: moderateScale(24),
2203
2247
  height: moderateScale(24),
2204
- style: styles$u.iconStyle
2248
+ style: styles$t.iconStyle
2205
2249
  })),
2206
2250
  /* @__PURE__ */ React__default["default"].createElement(
2207
2251
  CustomTypography,
2208
2252
  {
2209
2253
  variant: "P3regular",
2210
- style: styles$u.selectedValueStyle,
2254
+ style: styles$t.selectedValueStyle,
2211
2255
  text: selectedValue ? selectedValue.label : placeholder
2212
2256
  }
2213
2257
  ),
@@ -2218,7 +2262,7 @@ const CustomDropdown$1 = ({
2218
2262
  width: moderateScale(24),
2219
2263
  height: moderateScale(24)
2220
2264
  }))
2221
- ), showOptions && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$u.optionContainer }, options?.map(({ id, value, label: label2 }) => /* @__PURE__ */ React__default["default"].createElement(
2265
+ ), showOptions && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$t.optionContainer }, options?.map(({ id, value, label: label2 }) => /* @__PURE__ */ React__default["default"].createElement(
2222
2266
  reactNative.Pressable,
2223
2267
  {
2224
2268
  key: id,
@@ -2228,7 +2272,7 @@ const CustomDropdown$1 = ({
2228
2272
  oneSelect({ id, value, label: label2 });
2229
2273
  },
2230
2274
  style: [
2231
- styles$u.item,
2275
+ styles$t.item,
2232
2276
  {
2233
2277
  backgroundColor: id === selectedValue?.id ? DHRE_COLORS_BG.DH_GREY1 : DHRE_COLORS_TEXT.DH_WHITE
2234
2278
  }
@@ -2237,7 +2281,7 @@ const CustomDropdown$1 = ({
2237
2281
  iconName && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: iconStyle }, React__default["default"].cloneElement(iconName, {
2238
2282
  width: moderateScale(24),
2239
2283
  height: moderateScale(24),
2240
- style: styles$u.iconStyle
2284
+ style: styles$t.iconStyle
2241
2285
  })),
2242
2286
  /* @__PURE__ */ React__default["default"].createElement(
2243
2287
  CustomTypography,
@@ -2252,7 +2296,7 @@ const CustomDropdown$1 = ({
2252
2296
  ))));
2253
2297
  };
2254
2298
 
2255
- const styles$t = reactNative.StyleSheet.create({
2299
+ const styles$s = reactNative.StyleSheet.create({
2256
2300
  labelStyle: {
2257
2301
  color: DHRE_COLORS_TEXT.DH_TEXTDARK
2258
2302
  },
@@ -2334,18 +2378,18 @@ const CustomTextInput = ({
2334
2378
  CustomTypography,
2335
2379
  {
2336
2380
  variant: "P3medium",
2337
- style: [styles$t.labelStyle, disabled && styles$t.disableTextStyle],
2381
+ style: [styles$s.labelStyle, disabled && styles$s.disableTextStyle],
2338
2382
  text: label
2339
2383
  }
2340
2384
  ), /* @__PURE__ */ React__default["default"].createElement(
2341
2385
  reactNative.View,
2342
2386
  {
2343
2387
  style: [
2344
- styles$t.inputContainer,
2345
- isFocused && styles$t.inputFocused,
2346
- error && styles$t.inputError,
2347
- disabled && styles$t.disableInputStyle,
2348
- successMessage ? styles$t.inputSucess : {},
2388
+ styles$s.inputContainer,
2389
+ isFocused && styles$s.inputFocused,
2390
+ error && styles$s.inputError,
2391
+ disabled && styles$s.disableInputStyle,
2392
+ successMessage ? styles$s.inputSucess : {},
2349
2393
  {
2350
2394
  height: multiline ? 120 : 48,
2351
2395
  alignItems: multiline ? "flex-start" : "center"
@@ -2355,7 +2399,7 @@ const CustomTextInput = ({
2355
2399
  isSearchBar && searchIcon && React__default["default"].cloneElement(searchIcon, {
2356
2400
  width: moderateScale(24),
2357
2401
  height: moderateScale(24),
2358
- style: styles$t.searchIconStyle
2402
+ style: styles$s.searchIconStyle
2359
2403
  }),
2360
2404
  /* @__PURE__ */ React__default["default"].createElement(
2361
2405
  reactNative.TextInput,
@@ -2363,7 +2407,7 @@ const CustomTextInput = ({
2363
2407
  ...props,
2364
2408
  onFocus,
2365
2409
  onBlur,
2366
- style: styles$t.input,
2410
+ style: styles$s.input,
2367
2411
  placeholderTextColor: DHRE_COLORS_TEXT.DH_TEXTLIGHTEST,
2368
2412
  editable: !disabled,
2369
2413
  value,
@@ -2399,11 +2443,11 @@ const CustomTextInput = ({
2399
2443
  const CustomTooltip = (props) => {
2400
2444
  const { triggerElement, contentStyle } = props;
2401
2445
  return /* @__PURE__ */ React__default["default"].createElement(Tooltip__default["default"], { ...props, contentStyle: [contentStyle, {
2402
- borderRadius: 0
2446
+ borderRadius: DHRE_PADDING.MD
2403
2447
  }] }, triggerElement);
2404
2448
  };
2405
2449
 
2406
- const styles$s = reactNative.StyleSheet.create({
2450
+ const styles$r = reactNative.StyleSheet.create({
2407
2451
  container: {
2408
2452
  backgroundColor: DHRE_COLORS_TEXT.DH_BLACK,
2409
2453
  paddingHorizontal: horizontalScale(16),
@@ -2453,21 +2497,21 @@ const FileUpload = ({
2453
2497
  return /* @__PURE__ */ React__default["default"].createElement(
2454
2498
  reactNative.View,
2455
2499
  {
2456
- style: [styles$s.container, containerStyle],
2500
+ style: [styles$r.container, containerStyle],
2457
2501
  testID: "file-upload-container"
2458
2502
  },
2459
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$s.content }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [uploadImageStyling], testID: "file-upload-image" }, icon && React__default["default"].cloneElement(icon, { style: [iconStyle] })), /* @__PURE__ */ React__default["default"].createElement(CustomTypography, { variant: "H8bold", style: styles$s.title, text: title }), /* @__PURE__ */ React__default["default"].createElement(
2503
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$r.content }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [uploadImageStyling], testID: "file-upload-image" }, icon && React__default["default"].cloneElement(icon, { style: [iconStyle] })), /* @__PURE__ */ React__default["default"].createElement(CustomTypography, { variant: "H8bold", style: styles$r.title, text: title }), /* @__PURE__ */ React__default["default"].createElement(
2460
2504
  CustomTypography,
2461
2505
  {
2462
2506
  variant: "P4regular",
2463
- style: styles$s.description,
2507
+ style: styles$r.description,
2464
2508
  text: `Drop files directly here or `
2465
2509
  }
2466
2510
  ), /* @__PURE__ */ React__default["default"].createElement(
2467
2511
  CustomTypography,
2468
2512
  {
2469
2513
  variant: "P4regular",
2470
- style: styles$s.browse,
2514
+ style: styles$r.browse,
2471
2515
  text: btnText
2472
2516
  }
2473
2517
  ), /* @__PURE__ */ React__default["default"].createElement(
@@ -2475,14 +2519,14 @@ const FileUpload = ({
2475
2519
  {
2476
2520
  testID: "file-upload-description",
2477
2521
  variant: "P4regular",
2478
- style: styles$s.description,
2522
+ style: styles$r.description,
2479
2523
  text: ` from your device`
2480
2524
  }
2481
2525
  )),
2482
2526
  /* @__PURE__ */ React__default["default"].createElement(
2483
2527
  reactNative.Pressable,
2484
2528
  {
2485
- style: styles$s.button,
2529
+ style: styles$r.button,
2486
2530
  onPress: onUpload,
2487
2531
  testID: "file-upload-button"
2488
2532
  },
@@ -2490,7 +2534,7 @@ const FileUpload = ({
2490
2534
  CustomTypography,
2491
2535
  {
2492
2536
  variant: "B2semiBold",
2493
- style: styles$s.buttonText,
2537
+ style: styles$r.buttonText,
2494
2538
  text: btnText
2495
2539
  }
2496
2540
  )
@@ -2502,7 +2546,7 @@ const PdfView = (props) => {
2502
2546
  return /* @__PURE__ */ React__default["default"].createElement(Pdf__default["default"], { ...props, trustAllCerts: false });
2503
2547
  };
2504
2548
 
2505
- const styles$r = reactNative.StyleSheet.create({
2549
+ const styles$q = reactNative.StyleSheet.create({
2506
2550
  container: {
2507
2551
  padding: horizontalScale(20),
2508
2552
  marginHorizontal: horizontalScale(16),
@@ -2558,39 +2602,39 @@ const PopUp = ({
2558
2602
  leftButtonShown = false,
2559
2603
  rightButtonShown = false
2560
2604
  }) => {
2561
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { testID, style: styles$r.container }, title ? /* @__PURE__ */ React__default["default"].createElement(
2605
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { testID, style: styles$q.container }, title ? /* @__PURE__ */ React__default["default"].createElement(
2562
2606
  CustomTypography,
2563
2607
  {
2564
- style: styles$r.subTitleBelow,
2608
+ style: styles$q.subTitleBelow,
2565
2609
  variant: "H6semiBold",
2566
2610
  text: title
2567
2611
  }
2568
2612
  ) : null, subtitle ? /* @__PURE__ */ React__default["default"].createElement(
2569
2613
  CustomTypography,
2570
2614
  {
2571
- style: styles$r.subtitle,
2615
+ style: styles$q.subtitle,
2572
2616
  variant: "P3regular",
2573
2617
  text: subtitle
2574
2618
  }
2575
- ) : null, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$r.buttonContainer }, leftButtonShown ? /* @__PURE__ */ React__default["default"].createElement(
2619
+ ) : null, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$q.buttonContainer }, leftButtonShown ? /* @__PURE__ */ React__default["default"].createElement(
2576
2620
  reactNative.Pressable,
2577
2621
  {
2578
2622
  testID: "Left-Button-Press",
2579
- style: styles$r.buttonLeft,
2623
+ style: styles$q.buttonLeft,
2580
2624
  onPress: onButtonPress
2581
2625
  },
2582
2626
  /* @__PURE__ */ React__default["default"].createElement(
2583
2627
  CustomTypography,
2584
2628
  {
2585
- style: styles$r.buttonLeftText,
2629
+ style: styles$q.buttonLeftText,
2586
2630
  variant: "B2semiBold",
2587
2631
  text: buttonText
2588
2632
  }
2589
2633
  )
2590
- ) : null, rightButtonShown ? /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { style: styles$r.button, onPress: onButtonPress }, /* @__PURE__ */ React__default["default"].createElement(
2634
+ ) : null, rightButtonShown ? /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { style: styles$q.button, onPress: onButtonPress }, /* @__PURE__ */ React__default["default"].createElement(
2591
2635
  CustomTypography,
2592
2636
  {
2593
- style: styles$r.buttonText,
2637
+ style: styles$q.buttonText,
2594
2638
  variant: "B2semiBold",
2595
2639
  text: buttonText
2596
2640
  }
@@ -2646,7 +2690,7 @@ const LINE_COLOR_KEYS = {
2646
2690
  unfilledColor: "SURFACE_PRIMARY_TRANSPARENT"
2647
2691
  };
2648
2692
 
2649
- const styles$q = reactNative.StyleSheet.create({
2693
+ const styles$p = reactNative.StyleSheet.create({
2650
2694
  lineContainer: {
2651
2695
  flexDirection: "row",
2652
2696
  alignItems: "center",
@@ -2708,7 +2752,7 @@ const CustomProgressBar = ({
2708
2752
  const effectiveLineFillColor = fillColor ?? theme[LINE_COLOR_KEYS.fillColor];
2709
2753
  const effectiveLineUnfilledColor = unfilledColor ?? theme[LINE_COLOR_KEYS.unfilledColor];
2710
2754
  const effectiveLineHeight = height ?? LINE_DEFAULTS.trackHeight;
2711
- const renderCircleCenter = () => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$q.circleCenter }, /* @__PURE__ */ React__default["default"].createElement(
2755
+ const renderCircleCenter = () => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$p.circleCenter }, /* @__PURE__ */ React__default["default"].createElement(
2712
2756
  CustomText$1,
2713
2757
  {
2714
2758
  text: `${progress}%`,
@@ -2731,7 +2775,7 @@ const CustomProgressBar = ({
2731
2775
  return /* @__PURE__ */ React__default["default"].createElement(
2732
2776
  reactNative.View,
2733
2777
  {
2734
- style: [styles$q.lineContainer, isRTL && styles$q.lineContainerRTL],
2778
+ style: [styles$p.lineContainer, isRTL && styles$p.lineContainerRTL],
2735
2779
  testID: "custom-progress-bar-line-wrapper"
2736
2780
  },
2737
2781
  /* @__PURE__ */ React__default["default"].createElement(
@@ -2780,7 +2824,7 @@ const CustomProgressBar = ({
2780
2824
  };
2781
2825
  var CustomProgressBar$1 = withThemeProvider(CustomProgressBar);
2782
2826
 
2783
- const styles$p = reactNative.StyleSheet.create({
2827
+ const styles$o = reactNative.StyleSheet.create({
2784
2828
  container: {
2785
2829
  flexDirection: "row",
2786
2830
  alignItems: "center"
@@ -2846,13 +2890,13 @@ const Star = ({
2846
2890
  emptyStarColor
2847
2891
  );
2848
2892
  stars.push(
2849
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { key: i, style: [styles$p.star, starStyle] }, starType)
2893
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { key: i, style: [styles$o.star, starStyle] }, starType)
2850
2894
  );
2851
2895
  }
2852
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$p.container, testID: "star" }, stars);
2896
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$o.container, testID: "star" }, stars);
2853
2897
  };
2854
2898
 
2855
- var styles$o = reactNative.StyleSheet.create({
2899
+ var styles$n = reactNative.StyleSheet.create({
2856
2900
  container: {
2857
2901
  flexDirection: "row",
2858
2902
  gap: DHRE_PADDING.SM,
@@ -2908,12 +2952,12 @@ const Tabs = ({
2908
2952
  onSelectionChange(selectedTabs);
2909
2953
  }
2910
2954
  };
2911
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$o.container, style] }, data?.map(({ id, title, isSelected }) => /* @__PURE__ */ React__default["default"].createElement(
2955
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$n.container, style] }, data?.map(({ id, title, isSelected }) => /* @__PURE__ */ React__default["default"].createElement(
2912
2956
  reactNative.Pressable,
2913
2957
  {
2914
2958
  key: id,
2915
2959
  style: {
2916
- ...styles$o.button,
2960
+ ...styles$n.button,
2917
2961
  backgroundColor: isSelected ? theme.SURFACE_INVERTED : theme.SURFACE_SECONDARY,
2918
2962
  borderColor: isSelected ? theme.SURFACE_INVERTED : theme.STROKE_TERTIARY
2919
2963
  },
@@ -2924,7 +2968,7 @@ const Tabs = ({
2924
2968
  {
2925
2969
  variant: FontStyle.BODY1_MEDIUM,
2926
2970
  style: {
2927
- ...styles$o.textStyle,
2971
+ ...styles$n.textStyle,
2928
2972
  color: isSelected ? theme.CONTENT_INVERTED : theme.CONTENT_PRIMARY
2929
2973
  },
2930
2974
  text: title
@@ -2934,7 +2978,7 @@ const Tabs = ({
2934
2978
  };
2935
2979
  var Tabs$1 = withThemeProvider(Tabs);
2936
2980
 
2937
- const styles$n = reactNative.StyleSheet.create({
2981
+ const styles$m = reactNative.StyleSheet.create({
2938
2982
  container: {
2939
2983
  width: "100%"
2940
2984
  },
@@ -2997,8 +3041,8 @@ const Tags = ({
2997
3041
  reactNative.ScrollView,
2998
3042
  {
2999
3043
  testID,
3000
- style: styles$n.container,
3001
- contentContainerStyle: styles$n.contentContainer,
3044
+ style: styles$m.container,
3045
+ contentContainerStyle: styles$m.contentContainer,
3002
3046
  horizontal: false
3003
3047
  },
3004
3048
  tags?.map((tag) => /* @__PURE__ */ React__default["default"].createElement(
@@ -3008,16 +3052,16 @@ const Tags = ({
3008
3052
  key: tag,
3009
3053
  onPress: () => toggleTag(tag),
3010
3054
  style: [
3011
- styles$n.tag,
3055
+ styles$m.tag,
3012
3056
  tagStyles,
3013
- selectedTags.includes(tag) ? styles$n.selectedTag : styles$n.tagUnSelected
3057
+ selectedTags.includes(tag) ? styles$m.selectedTag : styles$m.tagUnSelected
3014
3058
  ]
3015
3059
  },
3016
3060
  /* @__PURE__ */ React__default["default"].createElement(
3017
3061
  CustomTypography,
3018
3062
  {
3019
3063
  variant: selectedTags.includes(tag) ? "H9semiBold" : "P4regular",
3020
- style: selectedTags.includes(tag) ? styles$n.tagText : styles$n.tagUnselectedText,
3064
+ style: selectedTags.includes(tag) ? styles$m.tagText : styles$m.tagUnselectedText,
3021
3065
  text: tag
3022
3066
  }
3023
3067
  ),
@@ -3033,7 +3077,7 @@ const Tags = ({
3033
3077
  );
3034
3078
  };
3035
3079
 
3036
- const styles$m = reactNative.StyleSheet.create({
3080
+ const styles$l = reactNative.StyleSheet.create({
3037
3081
  container: {
3038
3082
  width: horizontalScale(70),
3039
3083
  height: verticalScale(25),
@@ -3098,26 +3142,26 @@ const CustomSwitch = ({
3098
3142
  reactNative.Pressable,
3099
3143
  {
3100
3144
  onPress: toggleSwitch,
3101
- style: [styles$m.container, { width }],
3145
+ style: [styles$l.container, { width }],
3102
3146
  testID: "custom-switch"
3103
3147
  },
3104
3148
  /* @__PURE__ */ React__default["default"].createElement(
3105
3149
  reactNative.View,
3106
3150
  {
3107
3151
  style: [
3108
- styles$m.track,
3152
+ styles$l.track,
3109
3153
  {
3110
3154
  backgroundColor: isOn ? DHRE_COLORS_ALERT.DH_SUCCESS_GREEN_ACCENT : DHRE_COLORS_TEXT.DH_TEXTDISABLED
3111
3155
  }
3112
3156
  ]
3113
3157
  },
3114
- /* @__PURE__ */ React__default["default"].createElement(reactNative.Animated.View, { style: [styles$m.thumb, animatedStyle] }),
3158
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.Animated.View, { style: [styles$l.thumb, animatedStyle] }),
3115
3159
  type !== ToggleButtonType.SMALL && /* @__PURE__ */ React__default["default"].createElement(
3116
3160
  CustomTypography,
3117
3161
  {
3118
3162
  variant: "B3semiBold",
3119
3163
  style: [
3120
- styles$m.text,
3164
+ styles$l.text,
3121
3165
  { textAlign: isOn ? TextDirectType.left : TextDirectType.right }
3122
3166
  ],
3123
3167
  text: isOn ? ToggleTextType.ON : ToggleTextType.OFF
@@ -3127,10 +3171,9 @@ const CustomSwitch = ({
3127
3171
  );
3128
3172
  };
3129
3173
 
3130
- const styles$l = reactNative.StyleSheet.create({
3174
+ const styles$k = reactNative.StyleSheet.create({
3131
3175
  container: {
3132
- paddingVertical: DHRE_PADDING.LG,
3133
- borderBottomWidth: moderateScale(1)
3176
+ paddingVertical: DHRE_PADDING.LG
3134
3177
  },
3135
3178
  header: {
3136
3179
  flexDirection: "row",
@@ -3187,18 +3230,19 @@ const Accordion = ({
3187
3230
  return /* @__PURE__ */ React__default["default"].createElement(
3188
3231
  reactNative.View,
3189
3232
  {
3190
- style: [{
3191
- ...styles$l.container,
3192
- borderBottomColor: theme.SURFACE_PRIMARY_TRANSPARENT,
3193
- ...containerStyle,
3194
- borderRadius: 0
3195
- }],
3233
+ style: [
3234
+ {
3235
+ ...styles$k.container,
3236
+ borderRadius: 0,
3237
+ ...containerStyle
3238
+ }
3239
+ ],
3196
3240
  testID: testId
3197
3241
  },
3198
3242
  /* @__PURE__ */ React__default["default"].createElement(
3199
3243
  reactNative.Pressable,
3200
3244
  {
3201
- style: [styles$l.header, headerStyle, disabled && { opacity: 0.5 }],
3245
+ style: [styles$k.header, headerStyle, disabled && { opacity: 0.5 }],
3202
3246
  onPressOut: !disabled ? onToggle : void 0
3203
3247
  },
3204
3248
  headerComponent ? headerComponent() : /* @__PURE__ */ React__default["default"].createElement(
@@ -3207,7 +3251,7 @@ const Accordion = ({
3207
3251
  variant: titleVariant,
3208
3252
  text: title,
3209
3253
  style: {
3210
- ...styles$l.title,
3254
+ ...styles$k.title,
3211
3255
  color: theme.CONTENT_PRIMARY,
3212
3256
  ...titleStyle
3213
3257
  }
@@ -3216,25 +3260,31 @@ const Accordion = ({
3216
3260
  icon ? React__default["default"].cloneElement(icon, {
3217
3261
  width: DHRE_SPACING_BASE.SPACE_20,
3218
3262
  height: DHRE_SPACING_BASE.SPACE_20,
3219
- style: styles$l.iconStyle
3263
+ style: styles$k.iconStyle
3220
3264
  }) : null
3221
3265
  ),
3222
3266
  optionalElement ? optionalElement() : null,
3223
- isOpen && /* @__PURE__ */ React__default["default"].createElement(reactNative.Animated.View, { style: [styles$l.content, slideAnimation && { height: cardHeight }] }, /* @__PURE__ */ React__default["default"].createElement(
3224
- reactNative.View,
3267
+ isOpen && /* @__PURE__ */ React__default["default"].createElement(
3268
+ reactNative.Animated.View,
3225
3269
  {
3226
- ref: contentRef,
3227
- onLayout: (event) => {
3228
- setContentHeight(event.nativeEvent.layout.height);
3229
- }
3270
+ style: [styles$k.content, slideAnimation && { height: cardHeight }]
3230
3271
  },
3231
- children
3232
- ))
3272
+ /* @__PURE__ */ React__default["default"].createElement(
3273
+ reactNative.View,
3274
+ {
3275
+ ref: contentRef,
3276
+ onLayout: (event) => {
3277
+ setContentHeight(event.nativeEvent.layout.height);
3278
+ }
3279
+ },
3280
+ children
3281
+ )
3282
+ )
3233
3283
  );
3234
3284
  };
3235
3285
  var Accordion$1 = withThemeProvider(Accordion);
3236
3286
 
3237
- const styles$k = reactNative.StyleSheet.create({
3287
+ const styles$j = reactNative.StyleSheet.create({
3238
3288
  container: {
3239
3289
  position: "absolute",
3240
3290
  alignSelf: "center",
@@ -3353,20 +3403,20 @@ const Toast = React__default["default"].forwardRef(
3353
3403
  reactNative.Animated.View,
3354
3404
  {
3355
3405
  style: [
3356
- styles$k.container,
3406
+ styles$j.container,
3357
3407
  { bottom },
3358
3408
  { backgroundColor: theme.SURFACE_TERTIARY }
3359
3409
  ],
3360
3410
  testID: "TOAST"
3361
3411
  },
3362
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$k.toastContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$k.innerContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPress: hideToast, style: styles$k.icon }, isSuccess ? sucessIcon : warning ? warningIcon : errorIcon), /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$k.textContainer }, /* @__PURE__ */ React__default["default"].createElement(
3412
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$j.toastContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$j.innerContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPress: hideToast, style: styles$j.icon }, isSuccess ? sucessIcon : warning ? warningIcon : errorIcon), /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$j.textContainer }, /* @__PURE__ */ React__default["default"].createElement(
3363
3413
  CustomTypography,
3364
3414
  {
3365
3415
  variant: "BODY2_LIGHT",
3366
3416
  text: message,
3367
- style: [styles$k.messageText, { color: theme.CONTENT_SECONDRY }]
3417
+ style: [styles$j.messageText, { color: theme.CONTENT_SECONDRY }]
3368
3418
  }
3369
- ), subjectText && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$k.subContainer }, /* @__PURE__ */ React__default["default"].createElement(
3419
+ ), subjectText && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$j.subContainer }, /* @__PURE__ */ React__default["default"].createElement(
3370
3420
  Button,
3371
3421
  {
3372
3422
  title: subjectText,
@@ -3391,7 +3441,7 @@ const Toast = React__default["default"].forwardRef(
3391
3441
  reactNative.Animated.View,
3392
3442
  {
3393
3443
  style: [
3394
- styles$k.progressBar,
3444
+ styles$j.progressBar,
3395
3445
  {
3396
3446
  width: progressAnim,
3397
3447
  backgroundColor: accentColor
@@ -3408,7 +3458,7 @@ const ToastWithProvider = React__default["default"].forwardRef(
3408
3458
  );
3409
3459
  ToastWithProvider.displayName = "Toast";
3410
3460
 
3411
- const styles$j = reactNative.StyleSheet.create({
3461
+ const styles$i = reactNative.StyleSheet.create({
3412
3462
  inputContainer: {
3413
3463
  flexDirection: "row",
3414
3464
  justifyContent: "center",
@@ -3487,8 +3537,8 @@ const CustomSearchBar = ({
3487
3537
  {
3488
3538
  testID,
3489
3539
  style: [
3490
- styles$j.inputContainer,
3491
- size === "small" ? styles$j.inputContainerSmall : styles$j.inputContainerLarge,
3540
+ styles$i.inputContainer,
3541
+ size === "small" ? styles$i.inputContainerSmall : styles$i.inputContainerLarge,
3492
3542
  {
3493
3543
  ...height !== void 0 && { height: verticalScale(height) },
3494
3544
  backgroundColor: disabled ? theme[Theme.SURFACE_PRIMARY] : theme[Theme.SURFACE_PRIMARY_TRANSPARENT],
@@ -3510,7 +3560,7 @@ const CustomSearchBar = ({
3510
3560
  React__default["default"].cloneElement(searchIcon, {
3511
3561
  width: DHRE_SPACING.LG,
3512
3562
  height: DHRE_SPACING.LG,
3513
- style: [styles$j.searchIconStyle, searchIconStyle]
3563
+ style: [styles$i.searchIconStyle, searchIconStyle]
3514
3564
  })
3515
3565
  ),
3516
3566
  /* @__PURE__ */ React__default["default"].createElement(
@@ -3519,7 +3569,7 @@ const CustomSearchBar = ({
3519
3569
  ...props,
3520
3570
  testID: `${testID}-INPUT`,
3521
3571
  style: [
3522
- styles$j.input,
3572
+ styles$i.input,
3523
3573
  { color: theme[Theme.CONTENT_PRIMARY] },
3524
3574
  inputStyle
3525
3575
  ],
@@ -3554,14 +3604,14 @@ const CustomSearchBar = ({
3554
3604
  React__default["default"].cloneElement(rightIcon, {
3555
3605
  // width: moderateScale(24),
3556
3606
  // height: moderateScale(24),
3557
- style: [styles$j.crossIconStyle, crossIconStyle]
3607
+ style: [styles$i.crossIconStyle, crossIconStyle]
3558
3608
  })
3559
3609
  )
3560
3610
  );
3561
3611
  };
3562
3612
  var CustomSearchBar$1 = withThemeProvider(CustomSearchBar);
3563
3613
 
3564
- const styles$i = reactNative.StyleSheet.create({
3614
+ const styles$h = reactNative.StyleSheet.create({
3565
3615
  container: {
3566
3616
  flexDirection: "row",
3567
3617
  justifyContent: "space-between",
@@ -3595,7 +3645,7 @@ const CustomHeader = ({
3595
3645
  rightIcons
3596
3646
  }) => {
3597
3647
  const { theme } = useTheme();
3598
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$i.container, testID: testId }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$i.pageTitleContainer }, leftIcon && /* @__PURE__ */ React__default["default"].createElement(HeaderIcon, { config: leftIcon }), /* @__PURE__ */ React__default["default"].createElement(
3648
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$h.container, testID: testId }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$h.pageTitleContainer }, leftIcon && /* @__PURE__ */ React__default["default"].createElement(HeaderIcon, { config: leftIcon }), /* @__PURE__ */ React__default["default"].createElement(
3599
3649
  CustomTypography,
3600
3650
  {
3601
3651
  variant: "BODY1_MEDIUM",
@@ -3605,11 +3655,11 @@ const CustomHeader = ({
3605
3655
  ), titleSuffixIcon && React__default["default"].cloneElement(titleSuffixIcon, {
3606
3656
  width: ICON_SIZE,
3607
3657
  height: ICON_SIZE
3608
- })), rightIcons && rightIcons.length > 0 && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$i.iconsContainer }, rightIcons.map((config, index) => /* @__PURE__ */ React__default["default"].createElement(HeaderIcon, { key: index, config }))));
3658
+ })), rightIcons && rightIcons.length > 0 && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$h.iconsContainer }, rightIcons.map((config, index) => /* @__PURE__ */ React__default["default"].createElement(HeaderIcon, { key: index, config }))));
3609
3659
  };
3610
3660
  var CustomHeader$1 = withThemeProvider(CustomHeader);
3611
3661
 
3612
- const styles$h = reactNative.StyleSheet.create({
3662
+ const styles$g = reactNative.StyleSheet.create({
3613
3663
  container: {
3614
3664
  flex: 1
3615
3665
  },
@@ -3639,14 +3689,14 @@ const ActionButton = ({
3639
3689
  {
3640
3690
  testID,
3641
3691
  onPress,
3642
- style: [styles$h.actionButton, style]
3692
+ style: [styles$g.actionButton, style]
3643
3693
  },
3644
3694
  icon,
3645
3695
  /* @__PURE__ */ React__default["default"].createElement(
3646
3696
  CustomTypography,
3647
3697
  {
3648
3698
  variant: "L1_REGULAR",
3649
- style: [styles$h.titleStyle, titleStyle],
3699
+ style: [styles$g.titleStyle, titleStyle],
3650
3700
  text: title
3651
3701
  }
3652
3702
  )
@@ -3687,7 +3737,7 @@ const SwipableList = (props) => {
3687
3737
  return id;
3688
3738
  });
3689
3739
  }, []);
3690
- const leftActionHandle = (item, leftPrimaryActionIcon, leftPrimaryActionTitle, leftSecondaryActionIcon, leftSecondaryActionTitle) => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$h.actionBtn }, leftPrimaryActionIcon && /* @__PURE__ */ React__default["default"].createElement(
3740
+ const leftActionHandle = (item, leftPrimaryActionIcon, leftPrimaryActionTitle, leftSecondaryActionIcon, leftSecondaryActionTitle) => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$g.actionBtn }, leftPrimaryActionIcon && /* @__PURE__ */ React__default["default"].createElement(
3691
3741
  ActionButton,
3692
3742
  {
3693
3743
  icon: leftPrimaryActionIcon,
@@ -3714,7 +3764,7 @@ const SwipableList = (props) => {
3714
3764
  titleStyle
3715
3765
  }
3716
3766
  ));
3717
- const rightActionHandle = (item) => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$h.actionBtn, rightPrimaryActionStyle] }, rightPrimaryActionIcon && /* @__PURE__ */ React__default["default"].createElement(
3767
+ const rightActionHandle = (item) => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$g.actionBtn, rightPrimaryActionStyle] }, rightPrimaryActionIcon && /* @__PURE__ */ React__default["default"].createElement(
3718
3768
  ActionButton,
3719
3769
  {
3720
3770
  icon: rightPrimaryActionIcon,
@@ -3728,7 +3778,7 @@ const SwipableList = (props) => {
3728
3778
  titleStyle
3729
3779
  }
3730
3780
  ));
3731
- const renderItem = ({ item }) => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { testID: `${testId}-LIST`, style: styles$h.container }, /* @__PURE__ */ React__default["default"].createElement(
3781
+ const renderItem = ({ item }) => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { testID: `${testId}-LIST`, style: styles$g.container }, /* @__PURE__ */ React__default["default"].createElement(
3732
3782
  reactNativeGestureHandler.Swipeable,
3733
3783
  {
3734
3784
  ref: (ref) => swipeableRefs.current[item.id] = ref,
@@ -3754,7 +3804,7 @@ const SwipableList = (props) => {
3754
3804
  reactNative.View,
3755
3805
  {
3756
3806
  style: {
3757
- ...styles$h.seperator,
3807
+ ...styles$g.seperator,
3758
3808
  backgroundColor: theme.BORDER_SEPRATOR
3759
3809
  }
3760
3810
  }
@@ -3764,7 +3814,15 @@ const SwipableList = (props) => {
3764
3814
  };
3765
3815
  var SwipableList$1 = withThemeProvider(SwipableList);
3766
3816
 
3767
- const styles$g = reactNative.StyleSheet.create({
3817
+ const OUTLINED_GRADIENT_COLORS = [
3818
+ DHRE_CYAN_HIGHLIGHT[300],
3819
+ "#438CB1"
3820
+ ];
3821
+ const OUTLINED_GRADIENT_START = { x: 0, y: 0 };
3822
+ const OUTLINED_GRADIENT_END = { x: 1, y: 1 };
3823
+ const OUTLINED_BORDER_WIDTH = 1;
3824
+
3825
+ const styles$f = reactNative.StyleSheet.create({
3768
3826
  container: {
3769
3827
  justifyContent: "center",
3770
3828
  alignItems: "center"
@@ -3804,13 +3862,6 @@ const ICON_BLUR_TYPE_STYLE = reactNative.StyleSheet.create({
3804
3862
  overflow: "hidden"
3805
3863
  }
3806
3864
  });
3807
- const OUTLINED_GRADIENT_COLORS = [
3808
- DHRE_CYAN_HIGHLIGHT[300],
3809
- "#438CB1"
3810
- ];
3811
- const OUTLINED_GRADIENT_START = { x: 0, y: 0 };
3812
- const OUTLINED_GRADIENT_END = { x: 1, y: 1 };
3813
- const OUTLINED_BORDER_WIDTH = 1;
3814
3865
  const OUTLINED_BUTTON_STYLES = reactNative.StyleSheet.create({
3815
3866
  shell: {
3816
3867
  borderRadius: ICON_BUTTON_RADIUS,
@@ -3859,7 +3910,8 @@ const CustomIcon = ({
3859
3910
  titleStyle,
3860
3911
  type,
3861
3912
  size = "large",
3862
- labelPosition
3913
+ labelPosition,
3914
+ outlinedBackgroundColor
3863
3915
  }) => {
3864
3916
  const { theme } = useTheme();
3865
3917
  const sizeSpec = size ? ICON_SIZE_SPEC[size] : null;
@@ -3928,7 +3980,7 @@ const CustomIcon = ({
3928
3980
  {
3929
3981
  width: innerSize,
3930
3982
  height: innerSize,
3931
- backgroundColor: theme[Theme.SURFACE_PRIMARY],
3983
+ backgroundColor: outlinedBackgroundColor ?? theme[Theme.SURFACE_PRIMARY],
3932
3984
  padding
3933
3985
  }
3934
3986
  ]
@@ -3951,7 +4003,7 @@ const CustomIcon = ({
3951
4003
  return renderOutlinedButton();
3952
4004
  }
3953
4005
  };
3954
- const outerStyle = labelPosition ? [ICON_LABEL_POSITION_STYLES[labelPosition], containerStyle ?? {}] : [styles$g.container, containerStyle ?? {}];
4006
+ const outerStyle = labelPosition ? [ICON_LABEL_POSITION_STYLES[labelPosition], containerStyle ?? {}] : [styles$f.container, containerStyle ?? {}];
3955
4007
  const resolvedTitleColor = type ? { color: theme[Theme.CONTENT_PRIMARY] } : void 0;
3956
4008
  const resolvedTitleVariant = titleVariant ?? ICON_TITLE_VARIANT_FOR_SIZE[size ?? "large"];
3957
4009
  return /* @__PURE__ */ React__default["default"].createElement(
@@ -3967,14 +4019,14 @@ const CustomIcon = ({
3967
4019
  {
3968
4020
  variant: resolvedTitleVariant,
3969
4021
  text: title,
3970
- style: [styles$g.title, resolvedTitleColor, titleStyle]
4022
+ style: [styles$f.title, resolvedTitleColor, titleStyle]
3971
4023
  }
3972
4024
  )
3973
4025
  );
3974
4026
  };
3975
4027
  var CustomIcon$1 = withThemeProvider(CustomIcon);
3976
4028
 
3977
- const createStyles$5 = (theme) => {
4029
+ const createStyles$6 = (theme) => {
3978
4030
  return reactNative.StyleSheet.create({
3979
4031
  container: {
3980
4032
  position: "absolute",
@@ -10175,7 +10227,7 @@ const CustomLoader = ({
10175
10227
  customeBox
10176
10228
  }) => {
10177
10229
  const { theme, mode } = useTheme();
10178
- const styles = createStyles$5(theme);
10230
+ const styles = createStyles$6(theme);
10179
10231
  const isDP = brandName === "DP";
10180
10232
  const isNakheel = brandName === "Nakheel";
10181
10233
  if (!loading) return null;
@@ -10215,7 +10267,7 @@ const CustomLoader = ({
10215
10267
  };
10216
10268
  var CustomLoader$1 = withThemeProvider(CustomLoader);
10217
10269
 
10218
- const createStyles$4 = (scaledSize, color) => reactNative.StyleSheet.create({
10270
+ const createStyles$5 = (scaledSize, color) => reactNative.StyleSheet.create({
10219
10271
  // Full-screen absolute overlay — mirrors CustomLoader `container`
10220
10272
  container: {
10221
10273
  position: "absolute",
@@ -10337,7 +10389,7 @@ const LoaderContent = ({
10337
10389
  }, []);
10338
10390
  const color = theme[Theme.CONTENT_PRIMARY];
10339
10391
  const styles = React.useMemo(
10340
- () => createStyles$4(scaledSize, color),
10392
+ () => createStyles$5(scaledSize, color),
10341
10393
  [scaledSize, color]
10342
10394
  );
10343
10395
  return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles.container, containerStyle], testID }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles.backdrop, backdropStyle] }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles.box, boxStyle] }, /* @__PURE__ */ React__default["default"].createElement(
@@ -10401,14 +10453,14 @@ const HorizontalLine = ({ backgroundColor = "SURFACE_SECONDARY", style }) => {
10401
10453
  reactNative.View,
10402
10454
  {
10403
10455
  style: [
10404
- styles$f.line,
10456
+ styles$e.line,
10405
10457
  { backgroundColor: theme[backgroundColor] },
10406
10458
  style
10407
10459
  ]
10408
10460
  }
10409
10461
  );
10410
10462
  };
10411
- const styles$f = reactNative.StyleSheet.create({
10463
+ const styles$e = reactNative.StyleSheet.create({
10412
10464
  line: {
10413
10465
  height: 1,
10414
10466
  width: "100%"
@@ -10431,18 +10483,18 @@ const Topic = ({
10431
10483
  reactNative.TouchableOpacity,
10432
10484
  {
10433
10485
  style: [
10434
- styles$e.button,
10486
+ styles$d.button,
10435
10487
  { backgroundColor: theme[Theme.SURFACE_SECONDARY] },
10436
10488
  containterStyle
10437
10489
  ],
10438
10490
  onPress
10439
10491
  },
10440
- rightIcon && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$e.rightIconContainer }, React__default["default"].cloneElement(rightIcon)),
10441
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$e.timeContainer }, time && /* @__PURE__ */ React__default["default"].createElement(CustomText$1, { text: time, variant: FontStyle.L2_REGULAR })),
10442
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$e.textContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$e.paymentView }, statusImage && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, null, React__default["default"].cloneElement(statusImage)), subTitle && /* @__PURE__ */ React__default["default"].createElement(
10492
+ rightIcon && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$d.rightIconContainer }, React__default["default"].cloneElement(rightIcon)),
10493
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$d.timeContainer }, time && /* @__PURE__ */ React__default["default"].createElement(CustomText$1, { text: time, variant: FontStyle.L2_REGULAR })),
10494
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$d.textContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$d.paymentView }, statusImage && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, null, React__default["default"].cloneElement(statusImage)), subTitle && /* @__PURE__ */ React__default["default"].createElement(
10443
10495
  CustomText$1,
10444
10496
  {
10445
- style: [styles$e.subTitle, subTitleStyle],
10497
+ style: [styles$d.subTitle, subTitleStyle],
10446
10498
  text: subTitle,
10447
10499
  variant: FontStyle.L2_REGULAR,
10448
10500
  textColor: Theme.CONTENT_PRIMARY
@@ -10457,7 +10509,7 @@ const Topic = ({
10457
10509
  ))
10458
10510
  );
10459
10511
  };
10460
- const styles$e = reactNative.StyleSheet.create({
10512
+ const styles$d = reactNative.StyleSheet.create({
10461
10513
  button: {
10462
10514
  flexDirection: "row",
10463
10515
  alignItems: "center",
@@ -10553,14 +10605,14 @@ const ContactModal = ({
10553
10605
  const renderEmailOptions = () => /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(
10554
10606
  CustomText$1,
10555
10607
  {
10556
- style: styles$d.title,
10608
+ style: styles$c.title,
10557
10609
  text: "Open email app",
10558
10610
  variant: "L2_REGULAR"
10559
10611
  }
10560
10612
  ), /* @__PURE__ */ React__default["default"].createElement(
10561
10613
  CustomText$1,
10562
10614
  {
10563
- style: styles$d.subtitle,
10615
+ style: styles$c.subtitle,
10564
10616
  text: "Which app would you like to open?",
10565
10617
  variant: "L2_REGULAR"
10566
10618
  }
@@ -10568,33 +10620,33 @@ const ContactModal = ({
10568
10620
  reactNative.Pressable,
10569
10621
  {
10570
10622
  onPress: () => handleOptionPress(),
10571
- style: styles$d.optionButton
10623
+ style: styles$c.optionButton
10572
10624
  },
10573
10625
  /* @__PURE__ */ React__default["default"].createElement(
10574
10626
  CustomText$1,
10575
10627
  {
10576
- style: styles$d.optionText,
10628
+ style: styles$c.optionText,
10577
10629
  text: option,
10578
10630
  variant: "B3_BOLD"
10579
10631
  }
10580
10632
  )
10581
10633
  ))));
10582
- const renderContent = () => /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$d.viewContainer }, isMailOpen ? renderEmailOptions() : /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPress: handleCall, style: styles$d.optionButton }, /* @__PURE__ */ React__default["default"].createElement(
10634
+ const renderContent = () => /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$c.viewContainer }, isMailOpen ? renderEmailOptions() : /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPress: handleCall, style: styles$c.optionButton }, /* @__PURE__ */ React__default["default"].createElement(
10583
10635
  CustomText$1,
10584
10636
  {
10585
- style: styles$d.optionText,
10637
+ style: styles$c.optionText,
10586
10638
  text: `Call ${phoneNumber}`,
10587
10639
  variant: "B3_BOLD"
10588
10640
  }
10589
- ))), /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPress: onClose, style: styles$d.cancelButton }, /* @__PURE__ */ React__default["default"].createElement(
10641
+ ))), /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPress: onClose, style: styles$c.cancelButton }, /* @__PURE__ */ React__default["default"].createElement(
10590
10642
  CustomText$1,
10591
10643
  {
10592
- style: styles$d.cancelText,
10644
+ style: styles$c.cancelText,
10593
10645
  text: "Cancel",
10594
10646
  variant: "B2_REGULAR"
10595
10647
  }
10596
10648
  )));
10597
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$d.container }, /* @__PURE__ */ React__default["default"].createElement(
10649
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$c.container }, /* @__PURE__ */ React__default["default"].createElement(
10598
10650
  reactNative.Modal,
10599
10651
  {
10600
10652
  animationType: "slide",
@@ -10602,10 +10654,10 @@ const ContactModal = ({
10602
10654
  visible,
10603
10655
  onRequestClose: onClose
10604
10656
  },
10605
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$d.modalContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$d.modalContent }, renderContent()))
10657
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$c.modalContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$c.modalContent }, renderContent()))
10606
10658
  ));
10607
10659
  };
10608
- const styles$d = reactNative.StyleSheet.create({
10660
+ const styles$c = reactNative.StyleSheet.create({
10609
10661
  container: {
10610
10662
  flex: 1,
10611
10663
  justifyContent: "center",
@@ -10667,26 +10719,76 @@ const styles$d = reactNative.StyleSheet.create({
10667
10719
  });
10668
10720
  var ContactModel = withThemeProvider(ContactModal);
10669
10721
 
10670
- const styles$c = reactNative.StyleSheet.create({
10722
+ const styles$b = reactNative.StyleSheet.create({
10723
+ // Outer card: wraps Calendar (which includes the custom header via renderHeader)
10724
+ // and provides the dark-blue background + rounded corners.
10725
+ calendarCard: {
10726
+ borderRadius: moderateScale(12),
10727
+ padding: moderateScale(16),
10728
+ overflow: "hidden"
10729
+ },
10730
+ // Rendered via Calendar's renderHeader prop — sits inside the card layout tree.
10731
+ // flex: 1 is required so justifyContent: 'space-between' works across the full row.
10732
+ calendarHeader: {
10733
+ flex: 1,
10734
+ flexDirection: "row",
10735
+ justifyContent: "space-between",
10736
+ alignItems: "center",
10737
+ paddingBottom: verticalScale(16),
10738
+ borderBottomWidth: 1
10739
+ },
10740
+ monthText: {
10741
+ fontSize: 14,
10742
+ fontWeight: "300",
10743
+ lineHeight: 18
10744
+ },
10745
+ arrowsContainer: {
10746
+ flexDirection: "row",
10747
+ gap: horizontalScale(24)
10748
+ },
10671
10749
  applyButton: {
10672
- marginTop: verticalScale(50),
10673
- paddingVertical: verticalScale(14),
10750
+ marginTop: verticalScale(16),
10751
+ height: verticalScale(48),
10752
+ minHeight: verticalScale(48),
10753
+ paddingHorizontal: horizontalScale(24),
10754
+ paddingVertical: verticalScale(12),
10674
10755
  justifyContent: "center",
10675
10756
  alignItems: "center",
10676
- borderRadius: 0
10677
- },
10678
- applyButtonText: {
10679
- ...FONT_STYLES.L1_REGULAR
10757
+ borderRadius: moderateScale(100),
10758
+ borderWidth: 1
10680
10759
  }
10681
10760
  });
10682
10761
 
10683
10762
  const DateRangePicker = (props) => {
10684
- const { onButtonPress, btnTitle = "Apply" } = props;
10763
+ const {
10764
+ onButtonPress,
10765
+ btnTitle = "Apply",
10766
+ style: _consumerStyle,
10767
+ theme: _consumerTheme,
10768
+ ...calendarProps
10769
+ } = props;
10685
10770
  const [selectedRange, setSelectedRange] = React.useState({
10686
10771
  startDate: "",
10687
10772
  endDate: ""
10688
10773
  });
10689
- const { theme, mode } = useTheme();
10774
+ const [currentMonth, setCurrentMonth] = React.useState(/* @__PURE__ */ new Date());
10775
+ const { theme } = useTheme();
10776
+ const prevMonth = () => setCurrentMonth((prev) => {
10777
+ const d = new Date(prev);
10778
+ d.setMonth(d.getMonth() - 1);
10779
+ return d;
10780
+ });
10781
+ const nextMonth = () => setCurrentMonth((prev) => {
10782
+ const d = new Date(prev);
10783
+ d.setMonth(d.getMonth() + 1);
10784
+ return d;
10785
+ });
10786
+ const monthKey = `${currentMonth.getFullYear()}-${currentMonth.getMonth()}`;
10787
+ const currentDateStr = currentMonth.toISOString().split("T")[0];
10788
+ const monthLabel = currentMonth.toLocaleDateString("en-US", {
10789
+ month: "long",
10790
+ year: "numeric"
10791
+ });
10690
10792
  const onDayPress = (day) => {
10691
10793
  const { dateString } = day;
10692
10794
  const { startDate, endDate } = selectedRange;
@@ -10709,64 +10811,176 @@ const DateRangePicker = (props) => {
10709
10811
  while (start < end) {
10710
10812
  start.setDate(start.getDate() + 1);
10711
10813
  markedDates[start.toISOString().split("T")[0]] = {
10712
- color: NAKHEEL_DEFAULT.NAKHEEL_BACKGROUND_SANDY,
10713
- textColor: NAKHEEL_DEFAULT.NAKHEEL_TEXT_COLOR
10814
+ color: theme.SURFACE_PRIMARY_TRANSPARENT,
10815
+ textColor: theme.CONTENT_PRIMARY
10714
10816
  };
10715
10817
  }
10716
10818
  }
10717
10819
  if (startDate) {
10718
10820
  markedDates[startDate] = {
10719
10821
  startingDay: true,
10720
- textColor: theme.SURFACE_SECONDARY,
10721
- customContainerStyle: mode === "dark" ? { backgroundColor: theme.SURFACE_INVERTED } : {
10722
- backgroundColor: theme.SURFACE_INVERTED
10822
+ textColor: theme.CONTENT_INVERTED,
10823
+ customContainerStyle: {
10824
+ backgroundColor: theme.SURFACE_INVERTED,
10825
+ borderWidth: 1,
10826
+ borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
10827
+ borderRadius: 200,
10828
+ width: moderateScale(36),
10829
+ height: moderateScale(36),
10830
+ alignItems: "center",
10831
+ justifyContent: "center"
10723
10832
  }
10724
10833
  };
10725
10834
  }
10726
10835
  if (endDate) {
10727
10836
  markedDates[endDate] = {
10728
10837
  endingDay: true,
10729
- color: NAKHEEL_DEFAULT.NAKHEEL_BACKGROUND_SANDY,
10730
- textColor: theme.SURFACE_SECONDARY,
10731
- customContainerStyle: mode === "dark" ? { backgroundColor: theme.SURFACE_INVERTED } : {
10732
- backgroundColor: theme.SURFACE_INVERTED
10838
+ color: theme.SURFACE_PRIMARY_TRANSPARENT,
10839
+ textColor: theme.CONTENT_INVERTED,
10840
+ customContainerStyle: {
10841
+ backgroundColor: theme.SURFACE_INVERTED,
10842
+ borderWidth: 1,
10843
+ borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
10844
+ borderRadius: 200,
10845
+ width: moderateScale(36),
10846
+ height: moderateScale(36),
10847
+ alignItems: "center",
10848
+ justifyContent: "center"
10733
10849
  }
10734
10850
  };
10735
10851
  markedDates[startDate] = {
10736
10852
  startingDay: true,
10737
- color: NAKHEEL_DEFAULT.NAKHEEL_BACKGROUND_SANDY,
10738
- textColor: theme.SURFACE_SECONDARY,
10739
- customContainerStyle: mode === "dark" ? { backgroundColor: theme.SURFACE_INVERTED } : {
10740
- backgroundColor: theme.SURFACE_INVERTED
10853
+ color: theme.SURFACE_PRIMARY_TRANSPARENT,
10854
+ textColor: theme.CONTENT_INVERTED,
10855
+ customContainerStyle: {
10856
+ backgroundColor: theme.SURFACE_INVERTED,
10857
+ borderWidth: 1,
10858
+ borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
10859
+ borderRadius: 200,
10860
+ width: moderateScale(36),
10861
+ height: moderateScale(36),
10862
+ alignItems: "center",
10863
+ justifyContent: "center"
10741
10864
  }
10742
10865
  };
10743
10866
  }
10744
10867
  return markedDates;
10745
10868
  };
10746
10869
  const isButtonDisabled = !selectedRange.startDate || !selectedRange.endDate;
10747
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, null, /* @__PURE__ */ React__default["default"].createElement(
10748
- reactNativeCalendars.Calendar,
10870
+ const renderCalendarHeader = () => /* @__PURE__ */ React__default["default"].createElement(
10871
+ reactNative.View,
10749
10872
  {
10750
- markedDates: getMarkedDates(),
10751
- mode: "date",
10752
- markingType: "period",
10753
- theme: {
10754
- calendarBackground: "transparent",
10755
- arrowColor: theme.CONTENT_PRIMARY,
10756
- monthTextColor: theme.CONTENT_PRIMARY,
10757
- dayTextColor: theme.CONTENT_SECONDRY,
10758
- todayTextColor: NAKHEEL_DEFAULT.NAKHEEL_BACKGROUND_SANDY,
10759
- textDisabledColor: theme.CONTENT_DISABLE
10873
+ style: [
10874
+ styles$b.calendarHeader,
10875
+ { borderBottomColor: theme.STROKE_TERTIARY }
10876
+ ]
10877
+ },
10878
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.Text, { style: [styles$b.monthText, { color: theme.CONTENT_PRIMARY }] }, monthLabel),
10879
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$b.arrowsContainer }, /* @__PURE__ */ React__default["default"].createElement(
10880
+ reactNative.TouchableOpacity,
10881
+ {
10882
+ onPress: prevMonth,
10883
+ hitSlop: { top: 8, bottom: 8, left: 8, right: 8 }
10760
10884
  },
10761
- style: {
10762
- backgroundColor: theme.SURFACE_SECONDARY,
10763
- color: theme.CONTENT_SECONDRY,
10764
- borderRadius: 0
10885
+ /* @__PURE__ */ React__default["default"].createElement(Svg.Svg, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none" }, /* @__PURE__ */ React__default["default"].createElement(
10886
+ Svg.Path,
10887
+ {
10888
+ d: "M15 19.5L7.5 12L15 4.5",
10889
+ stroke: theme.CONTENT_PRIMARY,
10890
+ strokeWidth: 1.5,
10891
+ strokeLinecap: "round",
10892
+ strokeLinejoin: "round"
10893
+ }
10894
+ ))
10895
+ ), /* @__PURE__ */ React__default["default"].createElement(
10896
+ reactNative.TouchableOpacity,
10897
+ {
10898
+ onPress: nextMonth,
10899
+ hitSlop: { top: 8, bottom: 8, left: 8, right: 8 }
10765
10900
  },
10766
- onDayPress,
10767
- firstDay: 1,
10768
- ...props
10769
- }
10901
+ /* @__PURE__ */ React__default["default"].createElement(Svg.Svg, { width: 16, height: 16, viewBox: "0 0 18 18", fill: "none" }, /* @__PURE__ */ React__default["default"].createElement(
10902
+ Svg.Path,
10903
+ {
10904
+ d: "M6.75 3.375L12.375 9L6.75 14.625",
10905
+ stroke: theme.CONTENT_PRIMARY,
10906
+ strokeWidth: 1.5,
10907
+ strokeLinecap: "round",
10908
+ strokeLinejoin: "round"
10909
+ }
10910
+ ))
10911
+ ))
10912
+ );
10913
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, null, /* @__PURE__ */ React__default["default"].createElement(
10914
+ reactNative.View,
10915
+ {
10916
+ style: [
10917
+ styles$b.calendarCard,
10918
+ { backgroundColor: theme.SURFACE_SECONDARY }
10919
+ ]
10920
+ },
10921
+ /* @__PURE__ */ React__default["default"].createElement(
10922
+ reactNativeCalendars.Calendar,
10923
+ {
10924
+ key: monthKey,
10925
+ current: currentDateStr,
10926
+ markedDates: getMarkedDates(),
10927
+ markingType: "period",
10928
+ hideArrows: true,
10929
+ renderHeader: renderCalendarHeader,
10930
+ theme: {
10931
+ calendarBackground: "transparent",
10932
+ dayTextColor: theme.CONTENT_PRIMARY,
10933
+ textDisabledColor: theme.CONTENT_DISABLE_DARK,
10934
+ todayTextColor: theme.CONTENT_PRIMARY,
10935
+ textSectionTitleColor: theme.CONTENT_SECONDRY,
10936
+ textDayFontSize: 16,
10937
+ textDayFontWeight: "500",
10938
+ textDayHeaderFontSize: 11,
10939
+ textDayHeaderFontWeight: "300",
10940
+ // Reduce row gap from default 14px (7+7) to 4px (2+2) to match Figma.
10941
+ weekVerticalMargin: 2,
10942
+ // Remove the calendar body's default 5px horizontal padding so the date
10943
+ // grid aligns flush with the custom renderHeader content.
10944
+ "stylesheet.calendar.main": {
10945
+ container: {
10946
+ paddingLeft: 0,
10947
+ paddingRight: 0,
10948
+ backgroundColor: "transparent"
10949
+ }
10950
+ },
10951
+ // Strip Calendar header container's default padding/margin, zero the
10952
+ // day-names row top margin, and apply uppercase + correct sizing to
10953
+ // each day abbreviation label.
10954
+ "stylesheet.calendar.header": {
10955
+ header: {
10956
+ paddingLeft: 0,
10957
+ paddingRight: 0,
10958
+ marginTop: 0,
10959
+ marginBottom: 0
10960
+ },
10961
+ week: {
10962
+ marginTop: 8,
10963
+ flexDirection: "row",
10964
+ justifyContent: "space-around"
10965
+ },
10966
+ dayHeader: {
10967
+ marginTop: 2,
10968
+ marginBottom: 7,
10969
+ width: 32,
10970
+ textAlign: "center",
10971
+ textTransform: "uppercase",
10972
+ fontSize: 11,
10973
+ fontWeight: "300",
10974
+ color: theme.CONTENT_SECONDRY
10975
+ }
10976
+ }
10977
+ },
10978
+ style: { backgroundColor: "transparent", borderRadius: 0 },
10979
+ onDayPress,
10980
+ firstDay: 1,
10981
+ ...calendarProps
10982
+ }
10983
+ )
10770
10984
  ), /* @__PURE__ */ React__default["default"].createElement(
10771
10985
  Button,
10772
10986
  {
@@ -10774,11 +10988,8 @@ const DateRangePicker = (props) => {
10774
10988
  onPress: () => {
10775
10989
  onButtonPress(selectedRange?.startDate, selectedRange?.endDate);
10776
10990
  },
10777
- containerStyle: {
10778
- ...styles$c.applyButton,
10779
- backgroundColor: theme.SURFACE_INVERTED
10780
- },
10781
- textStyle: { color: theme.CONTENT_INVERTED },
10991
+ variant: "primary",
10992
+ size: "large",
10782
10993
  disabled: isButtonDisabled
10783
10994
  }
10784
10995
  ));
@@ -10802,20 +11013,20 @@ const OurOfficesButton = ({
10802
11013
  reactNative.TouchableOpacity,
10803
11014
  {
10804
11015
  style: [
10805
- styles$b.button,
11016
+ styles$a.button,
10806
11017
  { backgroundColor: theme["SURFACE_SECONDARY"] },
10807
11018
  containerStyle
10808
11019
  ],
10809
11020
  onPress
10810
11021
  },
10811
- leftIcon && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$b.iconContainer }, React__default["default"].cloneElement(leftIcon)),
10812
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$b.textContainer }, /* @__PURE__ */ React__default["default"].createElement(
11022
+ leftIcon && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$a.iconContainer }, React__default["default"].cloneElement(leftIcon)),
11023
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$a.textContainer }, /* @__PURE__ */ React__default["default"].createElement(
10813
11024
  CustomText$1,
10814
11025
  {
10815
11026
  text: title,
10816
11027
  variant: titleVariant,
10817
11028
  textColor: titleColor,
10818
- style: styles$b.textView
11029
+ style: styles$a.textView
10819
11030
  }
10820
11031
  ), /* @__PURE__ */ React__default["default"].createElement(
10821
11032
  CustomText$1,
@@ -10823,13 +11034,13 @@ const OurOfficesButton = ({
10823
11034
  text: description,
10824
11035
  variant: descriptionVariant,
10825
11036
  textColor: descriptionColor,
10826
- style: styles$b.flexWrap
11037
+ style: styles$a.flexWrap
10827
11038
  }
10828
11039
  )),
10829
- rightIcon && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$b.rightIconContainer }, React__default["default"].cloneElement(rightIcon))
11040
+ rightIcon && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$a.rightIconContainer }, React__default["default"].cloneElement(rightIcon))
10830
11041
  );
10831
11042
  };
10832
- const styles$b = reactNative.StyleSheet.create({
11043
+ const styles$a = reactNative.StyleSheet.create({
10833
11044
  button: {
10834
11045
  flexDirection: "row",
10835
11046
  alignItems: "center",
@@ -10853,7 +11064,7 @@ const styles$b = reactNative.StyleSheet.create({
10853
11064
  });
10854
11065
  var OurOffices = withThemeProvider(OurOfficesButton);
10855
11066
 
10856
- const styles$a = reactNative.StyleSheet.create({
11067
+ const styles$9 = reactNative.StyleSheet.create({
10857
11068
  iconContainer: {
10858
11069
  position: "relative",
10859
11070
  alignItems: "center"
@@ -10882,10 +11093,10 @@ const NotificationBandge = ({
10882
11093
  if (notificationCount <= 0) {
10883
11094
  return icon;
10884
11095
  }
10885
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$a.iconContainer }, icon, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$a.badge }, /* @__PURE__ */ React__default["default"].createElement(reactNative.Text, { style: [styles$a.badgeText] }, notificationCount > 99 ? "99+" : notificationCount)));
11096
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$9.iconContainer }, icon, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$9.badge }, /* @__PURE__ */ React__default["default"].createElement(reactNative.Text, { style: [styles$9.badgeText] }, notificationCount > 99 ? "99+" : notificationCount)));
10886
11097
  };
10887
11098
 
10888
- const createStyles$3 = (theme) => {
11099
+ const createStyles$4 = (theme) => {
10889
11100
  return reactNative.StyleSheet.create({
10890
11101
  // ── ScrollableList ────────────────────────────────────────────
10891
11102
  container: {
@@ -10980,7 +11191,7 @@ const CategoryItem = React.memo(
10980
11191
  enableTextWrap
10981
11192
  }) => {
10982
11193
  const { theme } = useTheme();
10983
- const styles = React.useMemo(() => createStyles$3(theme), [theme]);
11194
+ const styles = React.useMemo(() => createStyles$4(theme), [theme]);
10984
11195
  const handlePress = React.useCallback(
10985
11196
  () => onPress(item.name, item.value),
10986
11197
  [onPress, item.name, item.value]
@@ -11077,7 +11288,7 @@ const ScrollableList = ({
11077
11288
  data && data.length > 0 ? data[0].name : null
11078
11289
  );
11079
11290
  const { theme } = useTheme();
11080
- const styles = React.useMemo(() => createStyles$3(theme), [theme]);
11291
+ const styles = React.useMemo(() => createStyles$4(theme), [theme]);
11081
11292
  const activeKey = activeTab ?? selectedItem;
11082
11293
  const handlePress = React.useCallback(
11083
11294
  (name, value) => {
@@ -11120,7 +11331,7 @@ const ScrollableList = ({
11120
11331
  };
11121
11332
  var category = withThemeProvider(ScrollableList);
11122
11333
 
11123
- const createStyles$2 = (theme) => {
11334
+ const createStyles$3 = (theme) => {
11124
11335
  return reactNative.StyleSheet.create({
11125
11336
  container: {
11126
11337
  flex: 1,
@@ -11198,7 +11409,7 @@ const FeedbackForm = ({
11198
11409
  const isFilled = feedback.length > 0;
11199
11410
  const label = inputLabel ?? inputText;
11200
11411
  const { theme } = useTheme();
11201
- const styles = createStyles$2(theme);
11412
+ const styles = createStyles$3(theme);
11202
11413
  return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles.container }, /* @__PURE__ */ React__default["default"].createElement(
11203
11414
  CustomText$1,
11204
11415
  {
@@ -11283,7 +11494,7 @@ const CountryDropDown = ({
11283
11494
  setCallingCode(`+${country.callingCode[0]}`);
11284
11495
  getCountryCode(`+${country.callingCode[0]}`);
11285
11496
  };
11286
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$9.container, containerStyle] }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$9.countryPickerContainer, countryPickerStyle] }, /* @__PURE__ */ React__default["default"].createElement(
11497
+ return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$8.container, containerStyle] }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$8.countryPickerContainer, countryPickerStyle] }, /* @__PURE__ */ React__default["default"].createElement(
11287
11498
  CountryPicker__default["default"],
11288
11499
  {
11289
11500
  withFilter: true,
@@ -11297,20 +11508,20 @@ const CountryDropDown = ({
11297
11508
  reactNative.Text,
11298
11509
  {
11299
11510
  onPress: () => setPickerVisible(true),
11300
- style: [styles$9.callingCode, callingCodeStyle]
11511
+ style: [styles$8.callingCode, callingCodeStyle]
11301
11512
  },
11302
11513
  callingCode
11303
- )), /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$9.flex }, (isFocused || value) && /* @__PURE__ */ React__default["default"].createElement(
11514
+ )), /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$8.flex }, (isFocused || value) && /* @__PURE__ */ React__default["default"].createElement(
11304
11515
  CustomTypography,
11305
11516
  {
11306
11517
  variant: "L2_REGULAR",
11307
11518
  text: label ?? "",
11308
- style: styles$9.floatingLabel
11519
+ style: styles$8.floatingLabel
11309
11520
  }
11310
11521
  ), /* @__PURE__ */ React__default["default"].createElement(
11311
11522
  reactNative.TextInput,
11312
11523
  {
11313
- style: [styles$9.input, inputStyle],
11524
+ style: [styles$8.input, inputStyle],
11314
11525
  placeholder: !isFocused ? placeholder : "",
11315
11526
  keyboardType: "phone-pad",
11316
11527
  value,
@@ -11326,13 +11537,13 @@ const CountryDropDown = ({
11326
11537
  variant: "L2_REGULAR",
11327
11538
  text: errorMessage ?? "",
11328
11539
  style: {
11329
- ...styles$9.errorStyle,
11540
+ ...styles$8.errorStyle,
11330
11541
  color: DHRE_DEFAULT.DH_SEMENTIC_ERROR
11331
11542
  }
11332
11543
  }
11333
11544
  ) : null);
11334
11545
  };
11335
- const styles$9 = reactNative.StyleSheet.create({
11546
+ const styles$8 = reactNative.StyleSheet.create({
11336
11547
  flex: {
11337
11548
  flex: 1
11338
11549
  },
@@ -11393,6 +11604,7 @@ const CommonTextInput = (props) => {
11393
11604
  keyboardType = "default",
11394
11605
  placeholderText,
11395
11606
  inputStyle,
11607
+ containerStyle,
11396
11608
  maxLength,
11397
11609
  errorMessage,
11398
11610
  helperText,
@@ -11418,10 +11630,10 @@ const CommonTextInput = (props) => {
11418
11630
  const containerBackground = isDisabled ? theme[Theme.SURFACE_PRIMARY] : theme[Theme.SURFACE_TERTIARY_TRANSPARENT];
11419
11631
  const inputTextColor = isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_PRIMARY];
11420
11632
  const placeholderColor = theme[Theme.CONTENT_SECONDRY];
11421
- const labelColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.CONTENT_TERTIARY] : isFocused ? theme[Theme.CONTENT_PRIMARY] : theme[Theme.CONTENT_TERTIARY];
11633
+ const labelColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_PRIMARY];
11422
11634
  const helperColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_SECONDRY];
11423
11635
  const helperMessage = errorMessage || helperText;
11424
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPress: handlePress, style: styles$8.container }, /* @__PURE__ */ React__default["default"].createElement(
11636
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPress: handlePress, style: [styles$7.container, containerStyle] }, /* @__PURE__ */ React__default["default"].createElement(
11425
11637
  reactNativePaper.TextInput,
11426
11638
  {
11427
11639
  mode: "outlined",
@@ -11430,7 +11642,7 @@ const CommonTextInput = (props) => {
11430
11642
  spellCheck: false,
11431
11643
  autoCorrect: false,
11432
11644
  outlineStyle: {
11433
- ...styles$8.outlineStyle,
11645
+ ...styles$7.outlineStyle,
11434
11646
  borderColor: currentBorderColor,
11435
11647
  borderWidth,
11436
11648
  backgroundColor: containerBackground
@@ -11452,7 +11664,8 @@ const CommonTextInput = (props) => {
11452
11664
  primary: labelColor,
11453
11665
  // error drives the error indicator colour
11454
11666
  error: isError ? theme[Theme.ERROR] : labelColor,
11455
- // background behind the floating label — must be solid to cut through the border
11667
+ // background behind the floating label pill — must be opaque and match the
11668
+ // parent surface; defaults to SURFACE_PRIMARY (standard screen background)
11456
11669
  background: theme[Theme.SURFACE_PRIMARY]
11457
11670
  },
11458
11671
  fonts: {
@@ -11471,12 +11684,7 @@ const CommonTextInput = (props) => {
11471
11684
  }
11472
11685
  }
11473
11686
  },
11474
- style: [
11475
- styles$8.input,
11476
- inputStyle,
11477
- multiline && styles$8.multilineInput,
11478
- { backgroundColor: containerBackground }
11479
- ],
11687
+ style: [styles$7.input, inputStyle, multiline && styles$7.multilineInput],
11480
11688
  contentStyle: {
11481
11689
  fontFamily: InterLight,
11482
11690
  textAlign: isRTL ? "right" : "left"
@@ -11507,7 +11715,7 @@ const CommonTextInput = (props) => {
11507
11715
  {
11508
11716
  style: [
11509
11717
  FONT_STYLES[isDisabled ? FontStyle.BODY2_MEDIUM : FontStyle.BODY2_LIGHT],
11510
- styles$8.helperStyle,
11718
+ styles$7.helperStyle,
11511
11719
  {
11512
11720
  color: helperColor,
11513
11721
  textAlign: isRTL ? "right" : "left"
@@ -11517,7 +11725,7 @@ const CommonTextInput = (props) => {
11517
11725
  helperMessage
11518
11726
  ) : null);
11519
11727
  };
11520
- const styles$8 = reactNative.StyleSheet.create({
11728
+ const styles$7 = reactNative.StyleSheet.create({
11521
11729
  container: {
11522
11730
  justifyContent: "center"
11523
11731
  },
@@ -11584,7 +11792,7 @@ const CustomDropdown = (props) => {
11584
11792
  const valueTextColor = disable ? theme.CONTENT_TERTIARY : hasValue ? theme.CONTENT_PRIMARY : theme.CONTENT_SECONDRY;
11585
11793
  const helperColor = isError ? theme.ERROR : theme.CONTENT_SECONDRY;
11586
11794
  const helperMessage = errorMessage || helperText;
11587
- const fieldBackground = theme.SURFACE_SECONDARY;
11795
+ const fieldBackground = theme.SURFACE_TERTIARY_TRANSPARENT;
11588
11796
  const labelColor = theme.CONTENT_PRIMARY;
11589
11797
  const renderLabel = () => {
11590
11798
  if (value || isFocus) {
@@ -11592,11 +11800,11 @@ const CustomDropdown = (props) => {
11592
11800
  reactNative.Text,
11593
11801
  {
11594
11802
  style: [
11595
- styles$7.label,
11803
+ styles$6.label,
11596
11804
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11597
11805
  {
11598
- backgroundColor: fieldBackground,
11599
- color: labelColor
11806
+ color: labelColor,
11807
+ backgroundColor: theme.SURFACE_PRIMARY
11600
11808
  },
11601
11809
  labelStyle,
11602
11810
  isFocus && (labelFocusStyle ?? { color: labelColor })
@@ -11617,11 +11825,11 @@ const CustomDropdown = (props) => {
11617
11825
  };
11618
11826
  const renderItem = (item) => {
11619
11827
  const isSelected = item[valueField] === value;
11620
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$7.itemContainer, itemContainerStyle] }, /* @__PURE__ */ React__default["default"].createElement(
11828
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$6.itemContainer, itemContainerStyle] }, /* @__PURE__ */ React__default["default"].createElement(
11621
11829
  reactNative.Text,
11622
11830
  {
11623
11831
  style: [
11624
- styles$7.itemText,
11832
+ styles$6.itemText,
11625
11833
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11626
11834
  { color: theme.CONTENT_PRIMARY },
11627
11835
  itemTextStyle,
@@ -11631,12 +11839,12 @@ const CustomDropdown = (props) => {
11631
11839
  item[labelField]
11632
11840
  ));
11633
11841
  };
11634
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$7.container, containerStyle] }, label && renderLabel(), /* @__PURE__ */ React__default["default"].createElement(
11842
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$6.container, containerStyle] }, label && renderLabel(), /* @__PURE__ */ React__default["default"].createElement(
11635
11843
  reactNativeElementDropdown.Dropdown,
11636
11844
  {
11637
11845
  ...props,
11638
11846
  style: [
11639
- styles$7.dropdown,
11847
+ styles$6.dropdown,
11640
11848
  {
11641
11849
  borderColor: fieldBorderColor,
11642
11850
  borderWidth: fieldBorderWidth,
@@ -11646,18 +11854,18 @@ const CustomDropdown = (props) => {
11646
11854
  isFocus && dropdownFocusStyle
11647
11855
  ],
11648
11856
  placeholderStyle: [
11649
- styles$7.placeholderStyle,
11857
+ styles$6.placeholderStyle,
11650
11858
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11651
11859
  { color: theme.CONTENT_SECONDRY },
11652
11860
  placeholderStyle
11653
11861
  ],
11654
11862
  selectedTextStyle: [
11655
- styles$7.selectedTextStyle,
11863
+ styles$6.selectedTextStyle,
11656
11864
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11657
11865
  { color: valueTextColor },
11658
11866
  selectedTextStyle
11659
11867
  ],
11660
- iconStyle: [styles$7.iconStyle, iconStyle],
11868
+ iconStyle: [styles$6.iconStyle, iconStyle],
11661
11869
  data: data ?? [],
11662
11870
  labelField,
11663
11871
  valueField,
@@ -11679,7 +11887,7 @@ const CustomDropdown = (props) => {
11679
11887
  containerStyle: [
11680
11888
  {
11681
11889
  marginTop: verticalScale(5),
11682
- backgroundColor: fieldBackground,
11890
+ backgroundColor: theme.SURFACE_SECONDARY,
11683
11891
  borderColor: theme.STROKE_TERTIARY,
11684
11892
  borderWidth: 1,
11685
11893
  borderRadius: DHRE_RADIUS_BASE.RADIUS_8
@@ -11687,7 +11895,7 @@ const CustomDropdown = (props) => {
11687
11895
  menuContainerStyle
11688
11896
  ],
11689
11897
  activeColor: activeColor ?? theme.SURFACE_SECONDARY,
11690
- itemContainerStyle: [styles$7.itemListStyle, itemContainerStyle],
11898
+ itemContainerStyle: [styles$6.itemListStyle, itemContainerStyle],
11691
11899
  disable,
11692
11900
  autoScroll,
11693
11901
  dropdownPosition,
@@ -11700,7 +11908,7 @@ const CustomDropdown = (props) => {
11700
11908
  reactNative.Text,
11701
11909
  {
11702
11910
  style: [
11703
- styles$7.helperText,
11911
+ styles$6.helperText,
11704
11912
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11705
11913
  { color: helperColor }
11706
11914
  ]
@@ -11708,7 +11916,7 @@ const CustomDropdown = (props) => {
11708
11916
  helperMessage
11709
11917
  ) : null);
11710
11918
  };
11711
- const styles$7 = reactNative.StyleSheet.create({
11919
+ const styles$6 = reactNative.StyleSheet.create({
11712
11920
  container: {
11713
11921
  marginVertical: verticalScale(4),
11714
11922
  direction: "ltr",
@@ -11755,7 +11963,7 @@ const styles$7 = reactNative.StyleSheet.create({
11755
11963
  });
11756
11964
  var DropDown = withThemeProvider(CustomDropdown);
11757
11965
 
11758
- const styles$6 = reactNative.StyleSheet.create({
11966
+ const styles$5 = reactNative.StyleSheet.create({
11759
11967
  mainContainer: {
11760
11968
  flexDirection: "row",
11761
11969
  justifyContent: "space-between",
@@ -11814,18 +12022,18 @@ const CustomSwitchBtn = ({
11814
12022
  {
11815
12023
  disabled,
11816
12024
  onPress: toggleSwitch,
11817
- style: { ...styles$6.mainContainer, ...containerStyle }
12025
+ style: { ...styles$5.mainContainer, ...containerStyle }
11818
12026
  },
11819
12027
  /* @__PURE__ */ React__default["default"].createElement(
11820
12028
  reactNative.Animated.View,
11821
12029
  {
11822
- style: [styles$6.circle, { transform: [{ translateX }], ...circleStyle }]
12030
+ style: [styles$5.circle, { transform: [{ translateX }], ...circleStyle }]
11823
12031
  }
11824
12032
  ),
11825
12033
  /* @__PURE__ */ React__default["default"].createElement(
11826
12034
  CustomTypography,
11827
12035
  {
11828
- style: [styles$6.activeText, value ? inActiveTextStyle : activeTextStyle],
12036
+ style: [styles$5.activeText, value ? inActiveTextStyle : activeTextStyle],
11829
12037
  text: activeText,
11830
12038
  variant: activeTextVariant
11831
12039
  }
@@ -11834,7 +12042,7 @@ const CustomSwitchBtn = ({
11834
12042
  CustomTypography,
11835
12043
  {
11836
12044
  style: [
11837
- styles$6.inActiveText,
12045
+ styles$5.inActiveText,
11838
12046
  value ? activeTextStyle : inActiveTextStyle
11839
12047
  ],
11840
12048
  text: inActiveText,
@@ -11872,7 +12080,7 @@ class ToastService {
11872
12080
  }
11873
12081
  const toastService = new ToastService();
11874
12082
 
11875
- const createStyles$1 = (theme) => reactNative.StyleSheet.create({
12083
+ const createStyles$2 = (theme) => reactNative.StyleSheet.create({
11876
12084
  listContainer: {
11877
12085
  paddingHorizontal: 10,
11878
12086
  alignItems: "center"
@@ -11914,7 +12122,7 @@ const TagsComponent = ({
11914
12122
  unselectedTagButton
11915
12123
  }) => {
11916
12124
  const { theme } = useTheme();
11917
- const styles = createStyles$1(theme);
12125
+ const styles = createStyles$2(theme);
11918
12126
  const reorderedTags = () => {
11919
12127
  if (selectedTag) {
11920
12128
  return [
@@ -11964,7 +12172,7 @@ const TagsComponent = ({
11964
12172
  };
11965
12173
  var TagSingleSelection = withThemeProvider(TagsComponent);
11966
12174
 
11967
- const styles$5 = reactNative.StyleSheet.create({
12175
+ const styles$4 = reactNative.StyleSheet.create({
11968
12176
  textInputContainer: {
11969
12177
  flexDirection: "row",
11970
12178
  gap: DHRE_PADDING.MD,
@@ -12147,12 +12355,12 @@ const OTPInput = React__default["default"].forwardRef(
12147
12355
  ...otpHeaderTextStyle
12148
12356
  }
12149
12357
  }
12150
- ), /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: { ...styles$5.textInputContainer } }, Array.from({ length }).map((_, index) => /* @__PURE__ */ React__default["default"].createElement(
12358
+ ), /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: { ...styles$4.textInputContainer } }, Array.from({ length }).map((_, index) => /* @__PURE__ */ React__default["default"].createElement(
12151
12359
  reactNative.TextInput,
12152
12360
  {
12153
12361
  key: index?.toString(),
12154
12362
  style: {
12155
- ...styles$5.textInputStyle,
12363
+ ...styles$4.textInputStyle,
12156
12364
  color: !isEditable ? theme$1.CONTENT_DISABLE_DARK : otp.length === length ? theme$1.STROKE_PRIMARY : theme$1.CONTENT_PRIMARY,
12157
12365
  backgroundColor: !isEditable ? theme$1.SURFACE_PRIMARY : theme$1.SURFACE_TERTIARY_TRANSPARENT,
12158
12366
  borderColor: !isEditable ? theme$1.CONTENT_DISABLE_DARK : errorMessage || isInValidOtp && otp?.length === length ? theme$1.ERROR : otp.length === length ? theme$1.SUCCESS : otp[index] ? theme$1.STROKE_PRIMARY : theme$1.CONTENT_SECONDRY,
@@ -12173,7 +12381,7 @@ const OTPInput = React__default["default"].forwardRef(
12173
12381
  selectionColor: theme$1.CONTENT_PRIMARY,
12174
12382
  editable: isEditable
12175
12383
  }
12176
- ))), !errorMessageMaxReachCount && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$5.timerContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$5.timerIconContainer }, errorMessage ? /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, errorIcon ? React__default["default"].cloneElement(errorIcon, {
12384
+ ))), !errorMessageMaxReachCount && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$4.timerContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$4.timerIconContainer }, errorMessage ? /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, errorIcon ? React__default["default"].cloneElement(errorIcon, {
12177
12385
  width: DHRE_SPACING_BASE.SPACE_20,
12178
12386
  height: DHRE_SPACING_BASE.SPACE_20
12179
12387
  }) : null, /* @__PURE__ */ React__default["default"].createElement(
@@ -12197,7 +12405,7 @@ const OTPInput = React__default["default"].forwardRef(
12197
12405
  reactNative.Pressable,
12198
12406
  {
12199
12407
  onPress: onClickResendOTP,
12200
- style: styles$5.resendOTPStyle,
12408
+ style: styles$4.resendOTPStyle,
12201
12409
  disabled: disableResendButton() || !isResendOtpEnable
12202
12410
  },
12203
12411
  /* @__PURE__ */ React__default["default"].createElement(
@@ -12211,7 +12419,7 @@ const OTPInput = React__default["default"].forwardRef(
12211
12419
  }
12212
12420
  }
12213
12421
  )
12214
- )), errorMessageMaxReachCount ? /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$5.resendOtpContainer }, /* @__PURE__ */ React__default["default"].createElement(
12422
+ )), errorMessageMaxReachCount ? /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$4.resendOtpContainer }, /* @__PURE__ */ React__default["default"].createElement(
12215
12423
  CustomTypography,
12216
12424
  {
12217
12425
  text: errorMessageMaxReachCount,
@@ -12226,7 +12434,7 @@ const OTPInput = React__default["default"].forwardRef(
12226
12434
  );
12227
12435
  OTPInput.displayName = "OTPInput";
12228
12436
 
12229
- const styles$4 = reactNative.StyleSheet.create({
12437
+ const styles$3 = reactNative.StyleSheet.create({
12230
12438
  stepperContainer: {
12231
12439
  flexDirection: "row",
12232
12440
  marginBottom: 24,
@@ -12320,27 +12528,27 @@ const Stepper = ({
12320
12528
  const { theme } = useTheme();
12321
12529
  const renderCircleStyle = (status) => {
12322
12530
  if (status === Status.Active) {
12323
- return { ...styles$4.activeStepCircle, borderColor: theme.CONTENT_PRIMARY };
12531
+ return { ...styles$3.activeStepCircle, borderColor: theme.CONTENT_PRIMARY };
12324
12532
  } else if (status === Status.Inactive) {
12325
12533
  return {
12326
- ...styles$4.inactiveStepCircle,
12534
+ ...styles$3.inactiveStepCircle,
12327
12535
  borderColor: theme.CONTENT_SECONDRY
12328
12536
  };
12329
12537
  } else if (status === Status.Completed) {
12330
- return { ...styles$4.completeStepCircle, backgroundColor: theme.SUCCESS };
12538
+ return { ...styles$3.completeStepCircle, backgroundColor: theme.SUCCESS };
12331
12539
  } else {
12332
- return { ...styles$4.stepCountCircle, borderColor: theme.BORDER_PRIMARY };
12540
+ return { ...styles$3.stepCountCircle, borderColor: theme.BORDER_PRIMARY };
12333
12541
  }
12334
12542
  };
12335
12543
  const renderLableStyle = (status) => {
12336
12544
  if (status === Status.Active) {
12337
- return { ...styles$4.activeStepLabel, color: theme.CONTENT_PRIMARY };
12545
+ return { ...styles$3.activeStepLabel, color: theme.CONTENT_PRIMARY };
12338
12546
  } else if (status === Status.Inactive) {
12339
- return { ...styles$4.inactiveStepLabel, color: theme.CONTENT_SECONDRY };
12547
+ return { ...styles$3.inactiveStepLabel, color: theme.CONTENT_SECONDRY };
12340
12548
  } else if (status === Status.Completed) {
12341
- return { ...styles$4.completeStepLabel, color: theme.CONTENT_PRIMARY };
12549
+ return { ...styles$3.completeStepLabel, color: theme.CONTENT_PRIMARY };
12342
12550
  } else {
12343
- return { ...styles$4.countStepLabel, color: theme.CONTENT_PRIMARY };
12551
+ return { ...styles$3.countStepLabel, color: theme.CONTENT_PRIMARY };
12344
12552
  }
12345
12553
  };
12346
12554
  const renderDividerStyle = (status) => {
@@ -12350,25 +12558,25 @@ const Stepper = ({
12350
12558
  return { borderColor: theme.BORDER_PRIMARY };
12351
12559
  } else if (status === Status.Completed) {
12352
12560
  return {
12353
- ...styles$4.completeStepDivider,
12561
+ ...styles$3.completeStepDivider,
12354
12562
  borderColor: theme.CONTENT_PRIMARY
12355
12563
  };
12356
12564
  } else {
12357
12565
  return { borderColor: theme.CONTENT_SECONDRY };
12358
12566
  }
12359
12567
  };
12360
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: { ...styles$4.stepperContainer, ...containerStyle } }, data?.map((item, index) => {
12568
+ return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: { ...styles$3.stepperContainer, ...containerStyle } }, data?.map((item, index) => {
12361
12569
  const stepCircleStyle = renderCircleStyle(item?.status);
12362
12570
  const dividerStyle = renderDividerStyle(item?.status);
12363
12571
  const labelStyle = renderLableStyle(item?.status);
12364
- const lastViewStyle = index === data?.length - 1 ? styles$4.lastStepWrapper : null;
12572
+ const lastViewStyle = index === data?.length - 1 ? styles$3.lastStepWrapper : null;
12365
12573
  return /* @__PURE__ */ React__default["default"].createElement(
12366
12574
  reactNative.View,
12367
12575
  {
12368
12576
  key: index?.toString(),
12369
- style: { ...styles$4.stepperWrapper, ...lastViewStyle }
12577
+ style: { ...styles$3.stepperWrapper, ...lastViewStyle }
12370
12578
  },
12371
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$4.stepperSeparatorContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: { ...stepCircleStyle } }, showStepCount && /* @__PURE__ */ React__default["default"].createElement(
12579
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$3.stepperSeparatorContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: { ...stepCircleStyle } }, showStepCount && /* @__PURE__ */ React__default["default"].createElement(
12372
12580
  CustomTypography,
12373
12581
  {
12374
12582
  text: item?.step,
@@ -12377,8 +12585,8 @@ const Stepper = ({
12377
12585
  color: theme.CONTENT_PRIMARY
12378
12586
  }
12379
12587
  }
12380
- ), showStatus && item?.status === Status.Completed && completedStatusIcon), index != data?.length - 1 && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: { ...styles$4.separator, ...dividerStyle } })),
12381
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$4.lableContainer }, /* @__PURE__ */ React__default["default"].createElement(
12588
+ ), showStatus && item?.status === Status.Completed && completedStatusIcon), index != data?.length - 1 && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: { ...styles$3.separator, ...dividerStyle } })),
12589
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$3.lableContainer }, /* @__PURE__ */ React__default["default"].createElement(
12382
12590
  CustomTypography,
12383
12591
  {
12384
12592
  text: item?.label,
@@ -12389,17 +12597,22 @@ const Stepper = ({
12389
12597
  );
12390
12598
  }));
12391
12599
  };
12392
- var index$3 = withThemeProvider(Stepper);
12600
+ var index$4 = withThemeProvider(Stepper);
12393
12601
 
12394
- const styles$3 = reactNative.StyleSheet.create({
12602
+ const styles$2 = reactNative.StyleSheet.create({
12395
12603
  container: {
12396
12604
  flex: 1,
12397
12605
  justifyContent: "center",
12398
12606
  alignItems: "center"
12399
12607
  },
12608
+ gradientShell: {
12609
+ borderRadius: DHRE_RADIUS.PILL,
12610
+ padding: OUTLINED_BORDER_WIDTH
12611
+ },
12400
12612
  sliderContainer: {
12401
- height: verticalScale(48),
12402
- // borderRadius: moderateScale(25),
12613
+ height: DHRE_COMPONENT_HEIGHT.BUTTON_MD - OUTLINED_BORDER_WIDTH * 2,
12614
+ // pill shape — overflow:hidden clips all child content to the rounded boundary
12615
+ borderRadius: DHRE_RADIUS.PILL,
12403
12616
  overflow: "hidden",
12404
12617
  justifyContent: "center"
12405
12618
  },
@@ -12410,11 +12623,13 @@ const styles$3 = reactNative.StyleSheet.create({
12410
12623
  justifyContent: "center"
12411
12624
  },
12412
12625
  button: {
12413
- height: verticalScale(40),
12626
+ height: DHRE_COMPONENT_HEIGHT.INPUT_SM,
12414
12627
  justifyContent: "center",
12415
12628
  alignItems: "center",
12416
- // borderRadius: moderateScale(20),
12417
- margin: 4
12629
+ // circular thumb — consumer can override via sliderStyle prop
12630
+ borderRadius: DHRE_RADIUS.PILL,
12631
+ // 4px inset keeps thumb inside pill boundary (matches Figma left:4, top:4)
12632
+ margin: DHRE_PADDING.XS
12418
12633
  },
12419
12634
  buttonTextContainer: {
12420
12635
  position: "absolute",
@@ -12424,11 +12639,10 @@ const styles$3 = reactNative.StyleSheet.create({
12424
12639
  top: 0,
12425
12640
  alignItems: "center",
12426
12641
  justifyContent: "center"
12427
- // borderRadius: 25,
12428
12642
  }
12429
12643
  });
12430
12644
 
12431
- const BUTTON_WIDTH = 40;
12645
+ const DEFAULT_SIZE = 40;
12432
12646
  const CustomSlideButton = React__default["default"].forwardRef(
12433
12647
  ({
12434
12648
  label,
@@ -12438,17 +12652,21 @@ const CustomSlideButton = React__default["default"].forwardRef(
12438
12652
  textStyle,
12439
12653
  containerStyle,
12440
12654
  sliderStyle,
12441
- size = BUTTON_WIDTH,
12655
+ size = DEFAULT_SIZE,
12442
12656
  sliderBackgroundColor = "#fff",
12443
12657
  sliderTextColor = "#000",
12444
- resetTimer = 2e3
12658
+ resetTimer = 2e3,
12659
+ isRTL = false,
12660
+ completedContainerStyle
12445
12661
  }, ref) => {
12662
+ const thumbOffset = verticalScale(size) + DHRE_PADDING.XS * 2;
12446
12663
  const value = React.useRef(0);
12447
12664
  const cardRef = React.useRef(null);
12448
12665
  const [translateX] = React.useState(new reactNative.Animated.Value(0));
12449
12666
  const sliderConteinerRef = React.useRef(null);
12450
12667
  const [color] = React.useState(new reactNative.Animated.Value(0));
12451
12668
  const [sliderBackgroundColorRef] = React.useState(new reactNative.Animated.Value(0));
12669
+ const [isCompleted, setIsCompleted] = React.useState(false);
12452
12670
  React__default["default"].useImperativeHandle(ref, () => ({
12453
12671
  reset() {
12454
12672
  resetAll();
@@ -12459,15 +12677,18 @@ const CustomSlideButton = React__default["default"].forwardRef(
12459
12677
  if (cardRef.current) {
12460
12678
  cardRef.current.setNativeProps({
12461
12679
  style: { width }
12462
- // Change the width here
12463
12680
  });
12464
12681
  value.current = width;
12465
12682
  sliderConteinerRef?.current?.setNativeProps({
12466
12683
  style: { width }
12467
12684
  });
12468
12685
  }
12686
+ if (isRTL) {
12687
+ translateX.setValue(value.current - thumbOffset);
12688
+ }
12469
12689
  };
12470
12690
  const resetAll = () => {
12691
+ setIsCompleted(false);
12471
12692
  onReset?.();
12472
12693
  reactNative.Animated.timing(sliderBackgroundColorRef, {
12473
12694
  toValue: 0,
@@ -12484,7 +12705,7 @@ const CustomSlideButton = React__default["default"].forwardRef(
12484
12705
  // because we're animating the color, not layout
12485
12706
  }).start();
12486
12707
  reactNative.Animated.timing(translateX, {
12487
- toValue: 0,
12708
+ toValue: isRTL ? value.current - thumbOffset : 0,
12488
12709
  useNativeDriver: false
12489
12710
  }).start();
12490
12711
  };
@@ -12495,39 +12716,73 @@ const CustomSlideButton = React__default["default"].forwardRef(
12495
12716
  },
12496
12717
  onPanResponderTerminationRequest: () => false,
12497
12718
  onPanResponderMove: (evt, gestureState) => {
12498
- if (gestureState.dx > 0 && gestureState.dx <= value?.current - BUTTON_WIDTH - 8) {
12499
- translateX.setValue(gestureState.dx);
12500
- const colorValue = gestureState.dx > value.current / 3 ? 1 : 0;
12501
- reactNative.Animated.timing(color, {
12502
- toValue: colorValue,
12503
- duration: 0,
12504
- // no transition time, immediate change
12505
- useNativeDriver: false
12506
- // because we're animating the color, not layout
12507
- }).start();
12719
+ if (isRTL) {
12720
+ if (gestureState.dx < 0 && gestureState.dx >= -(value.current - thumbOffset)) {
12721
+ translateX.setValue(value.current - thumbOffset + gestureState.dx);
12722
+ const colorValue = gestureState.dx < -(value.current / 3) ? 1 : 0;
12723
+ reactNative.Animated.timing(color, {
12724
+ toValue: colorValue,
12725
+ duration: 0,
12726
+ // no transition time, immediate change
12727
+ useNativeDriver: false
12728
+ }).start();
12729
+ }
12730
+ } else {
12731
+ if (gestureState.dx > 0 && gestureState.dx <= value.current - thumbOffset) {
12732
+ translateX.setValue(gestureState.dx);
12733
+ const colorValue = gestureState.dx > value.current / 3 ? 1 : 0;
12734
+ reactNative.Animated.timing(color, {
12735
+ toValue: colorValue,
12736
+ duration: 0,
12737
+ // no transition time, immediate change
12738
+ useNativeDriver: false
12739
+ }).start();
12740
+ }
12508
12741
  }
12509
12742
  },
12510
12743
  onPanResponderRelease: (e, gestureState) => {
12511
- if (gestureState.dx >= value.current * 0.8) {
12512
- reactNative.Animated.timing(translateX, {
12513
- toValue: value?.current - (BUTTON_WIDTH + 8),
12514
- // Slide to the end
12515
- duration: 300,
12516
- useNativeDriver: false
12517
- }).start();
12518
- reactNative.Animated.timing(sliderBackgroundColorRef, {
12519
- toValue: 1,
12520
- duration: 0,
12521
- // no transition time, immediate change
12522
- useNativeDriver: false
12523
- // because we're animating the color, not layout
12524
- }).start();
12525
- onComplete?.();
12526
- setTimeout(() => {
12744
+ if (isRTL) {
12745
+ if (gestureState.dx <= -(value.current * 0.8)) {
12746
+ reactNative.Animated.timing(translateX, {
12747
+ toValue: 0,
12748
+ // snap to leftmost position (completed side for RTL)
12749
+ duration: 300,
12750
+ useNativeDriver: false
12751
+ }).start();
12752
+ reactNative.Animated.timing(sliderBackgroundColorRef, {
12753
+ toValue: 1,
12754
+ duration: 0,
12755
+ useNativeDriver: false
12756
+ }).start();
12757
+ setIsCompleted(true);
12758
+ onComplete?.();
12759
+ setTimeout(() => {
12760
+ resetAll();
12761
+ }, resetTimer);
12762
+ } else {
12527
12763
  resetAll();
12528
- }, resetTimer);
12764
+ }
12529
12765
  } else {
12530
- resetAll();
12766
+ if (gestureState.dx >= value.current * 0.8) {
12767
+ reactNative.Animated.timing(translateX, {
12768
+ toValue: value.current - thumbOffset,
12769
+ // slide to the end
12770
+ duration: 300,
12771
+ useNativeDriver: false
12772
+ }).start();
12773
+ reactNative.Animated.timing(sliderBackgroundColorRef, {
12774
+ toValue: 1,
12775
+ duration: 0,
12776
+ useNativeDriver: false
12777
+ }).start();
12778
+ setIsCompleted(true);
12779
+ onComplete?.();
12780
+ setTimeout(() => {
12781
+ resetAll();
12782
+ }, resetTimer);
12783
+ } else {
12784
+ resetAll();
12785
+ }
12531
12786
  }
12532
12787
  },
12533
12788
  onPanResponderTerminate: () => {
@@ -12543,49 +12798,62 @@ const CustomSlideButton = React__default["default"].forwardRef(
12543
12798
  outputRange: [sliderBackgroundColor, "transparent"]
12544
12799
  });
12545
12800
  const { theme } = useTheme();
12546
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: {
12547
- ...styles$3.sliderContainer,
12548
- backgroundColor: theme.SURFACE_INVERTED,
12549
- ...containerStyle
12550
- }, onLayout: handleLayout, ref: cardRef }, /* @__PURE__ */ React__default["default"].createElement(
12551
- reactNative.Animated.View,
12552
- {
12553
- style: [styles$3.buttonTextContainer, { backgroundColor, transform: [{ translateX }] }],
12554
- ref: sliderConteinerRef
12555
- }
12556
- ), /* @__PURE__ */ React__default["default"].createElement(
12557
- reactNative.View,
12558
- {
12559
- style: styles$3.buttonTextContainer
12560
- },
12561
- /* @__PURE__ */ React__default["default"].createElement(reactNative.Animated.Text, { style: [{
12562
- alignSelf: "center",
12563
- ...textStyle
12564
- }, { color: textColor }] }, label)
12565
- ), /* @__PURE__ */ React__default["default"].createElement(
12566
- reactNative.Animated.View,
12801
+ return /* @__PURE__ */ React__default["default"].createElement(
12802
+ LinearGradient__default["default"],
12567
12803
  {
12568
- style: [styles$3.slider, { transform: [{ translateX }] }],
12569
- ...panResponder.panHandlers
12804
+ colors: OUTLINED_GRADIENT_COLORS,
12805
+ start: OUTLINED_GRADIENT_START,
12806
+ end: OUTLINED_GRADIENT_END,
12807
+ style: styles$2.gradientShell
12570
12808
  },
12571
12809
  /* @__PURE__ */ React__default["default"].createElement(
12572
12810
  reactNative.View,
12573
12811
  {
12574
- style: {
12575
- ...styles$3.button,
12576
- backgroundColor: theme.SURFACE_PRIMARY,
12577
- width: verticalScale(size),
12578
- height: verticalScale(size),
12579
- // borderRadius: verticalScale(size / 2),
12580
- ...sliderStyle
12581
- }
12812
+ style: [
12813
+ styles$2.sliderContainer,
12814
+ { backgroundColor: theme.SURFACE_INVERTED },
12815
+ containerStyle,
12816
+ isCompleted && { backgroundColor: theme.BUTTON_SUCCESS_FILL },
12817
+ isCompleted ? completedContainerStyle : void 0
12818
+ ],
12819
+ onLayout: handleLayout,
12820
+ ref: cardRef
12582
12821
  },
12583
- icon
12822
+ /* @__PURE__ */ React__default["default"].createElement(
12823
+ reactNative.Animated.View,
12824
+ {
12825
+ style: [styles$2.buttonTextContainer, { backgroundColor, transform: [{ translateX }] }],
12826
+ ref: sliderConteinerRef
12827
+ }
12828
+ ),
12829
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$2.buttonTextContainer }, /* @__PURE__ */ React__default["default"].createElement(reactNative.Animated.Text, { style: [{ alignSelf: "center", ...textStyle }, { color: textColor }] }, label)),
12830
+ /* @__PURE__ */ React__default["default"].createElement(
12831
+ reactNative.Animated.View,
12832
+ {
12833
+ style: [styles$2.slider, { transform: [{ translateX }] }],
12834
+ ...panResponder.panHandlers
12835
+ },
12836
+ /* @__PURE__ */ React__default["default"].createElement(
12837
+ reactNative.View,
12838
+ {
12839
+ style: {
12840
+ ...styles$2.button,
12841
+ backgroundColor: theme.SURFACE_PRIMARY,
12842
+ width: verticalScale(size),
12843
+ height: verticalScale(size),
12844
+ ...sliderStyle
12845
+ }
12846
+ },
12847
+ icon
12848
+ )
12849
+ )
12584
12850
  )
12585
- ));
12851
+ );
12586
12852
  }
12587
12853
  );
12588
- var index$2 = withThemeProvider(CustomSlideButton);
12854
+ var index$3 = withThemeProvider(
12855
+ CustomSlideButton
12856
+ );
12589
12857
 
12590
12858
  const DHRE_STROKE = {
12591
12859
  NONE: 0,
@@ -12645,7 +12913,7 @@ const AVATAR_SPEC = {
12645
12913
  ringInset: 6
12646
12914
  }
12647
12915
  };
12648
- const createStyles = (size, theme) => {
12916
+ const createStyles$1 = (size, theme) => {
12649
12917
  const dimensions = AVATAR_SPEC[size];
12650
12918
  return reactNative.StyleSheet.create({
12651
12919
  container: {
@@ -12721,9 +12989,9 @@ const createStyles = (size, theme) => {
12721
12989
  }
12722
12990
  });
12723
12991
  };
12724
- const smallStyles = (theme) => createStyles(AvatarSize.SMALL, theme);
12725
- const mediumStyles = (theme) => createStyles(AvatarSize.MEDIUM, theme);
12726
- const largeStyles = (theme) => createStyles(AvatarSize.LARGE, theme);
12992
+ const smallStyles = (theme) => createStyles$1(AvatarSize.SMALL, theme);
12993
+ const mediumStyles = (theme) => createStyles$1(AvatarSize.MEDIUM, theme);
12994
+ const largeStyles = (theme) => createStyles$1(AvatarSize.LARGE, theme);
12727
12995
  const getStylesBySize = (size, theme) => {
12728
12996
  switch (size) {
12729
12997
  case "small":
@@ -12874,7 +13142,7 @@ const Avatar = (props) => {
12874
13142
  };
12875
13143
  var Avatar$1 = withThemeProvider(Avatar);
12876
13144
 
12877
- const styles$2 = reactNative.StyleSheet.create({
13145
+ const styles$1 = reactNative.StyleSheet.create({
12878
13146
  accordionContainer: {
12879
13147
  gap: verticalScale(8),
12880
13148
  marginHorizontal: horizontalScale(24),
@@ -12979,13 +13247,13 @@ const AppointmentCard = ({
12979
13247
  isOpen,
12980
13248
  onToggle,
12981
13249
  containerStyle: {
12982
- ...styles$2.accordionStyle,
13250
+ ...styles$1.accordionStyle,
12983
13251
  backgroundColor: theme.SURFACE_SECONDARY,
12984
13252
  borderColor: theme.BORDER_SEPERATOR_HEADER,
12985
13253
  borderBottomColor: theme.BORDER_SEPERATOR_HEADER
12986
13254
  },
12987
- headerStyle: styles$2.accordionHeader,
12988
- headerComponent: () => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$2.accordionHeaderContent }, headerIcon, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$2.accordionText }, /* @__PURE__ */ React__default["default"].createElement(
13255
+ headerStyle: styles$1.accordionHeader,
13256
+ headerComponent: () => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$1.accordionHeaderContent }, headerIcon, /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$1.accordionText }, /* @__PURE__ */ React__default["default"].createElement(
12989
13257
  CustomTypography,
12990
13258
  {
12991
13259
  text: headerTitle,
@@ -13006,18 +13274,18 @@ const AppointmentCard = ({
13006
13274
  reactNative.View,
13007
13275
  {
13008
13276
  style: [
13009
- styles$2.accordionDetails,
13277
+ styles$1.accordionDetails,
13010
13278
  { borderTopColor: theme.BORDER_SEPERATOR_HEADER }
13011
13279
  ]
13012
13280
  },
13013
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$2.appointmentInfo }, data.map(({ title: title2, value, isLocation, isStatus }) => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$2.infoColumn, key: title2 }, /* @__PURE__ */ React__default["default"].createElement(
13281
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$1.appointmentInfo }, data.map(({ title: title2, value, isLocation, isStatus }) => /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$1.infoColumn, key: title2 }, /* @__PURE__ */ React__default["default"].createElement(
13014
13282
  CustomTypography,
13015
13283
  {
13016
13284
  text: title2,
13017
13285
  variant: FontStyle.L3_REGULAR,
13018
13286
  style: { color: theme.CONTENT_SECONDRY }
13019
13287
  }
13020
- ), /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$2.infoRow }, isStatus && statusIcon, /* @__PURE__ */ React__default["default"].createElement(
13288
+ ), /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$1.infoRow }, isStatus && statusIcon, /* @__PURE__ */ React__default["default"].createElement(
13021
13289
  CustomTypography,
13022
13290
  {
13023
13291
  text: value,
@@ -13032,7 +13300,7 @@ const AppointmentCard = ({
13032
13300
  text: directionText,
13033
13301
  variant: FontStyle.L2_REGULAR,
13034
13302
  style: [
13035
- styles$2.getDirectionsText,
13303
+ styles$1.getDirectionsText,
13036
13304
  { color: theme.CONTENT_PRIMARY }
13037
13305
  ],
13038
13306
  onPress: onDirectionPress
@@ -13042,7 +13310,7 @@ const AppointmentCard = ({
13042
13310
  reactNative.View,
13043
13311
  {
13044
13312
  style: [
13045
- styles$2.infoContainer,
13313
+ styles$1.infoContainer,
13046
13314
  {
13047
13315
  backgroundColor: theme.SURFACE_TERTIARY
13048
13316
  }
@@ -13062,7 +13330,7 @@ const AppointmentCard = ({
13062
13330
  reactNative.View,
13063
13331
  {
13064
13332
  style: [
13065
- styles$2.actionsContainer,
13333
+ styles$1.actionsContainer,
13066
13334
  {
13067
13335
  borderTopColor: theme.BORDER_SEPERATOR_HEADER
13068
13336
  }
@@ -13074,7 +13342,7 @@ const AppointmentCard = ({
13074
13342
  text: viewText,
13075
13343
  variant: FontStyle.L2_REGULAR,
13076
13344
  style: [
13077
- styles$2.viewText,
13345
+ styles$1.viewText,
13078
13346
  {
13079
13347
  color: theme.CONTENT_PRIMARY
13080
13348
  }
@@ -13082,12 +13350,12 @@ const AppointmentCard = ({
13082
13350
  onPress: onViewDetailsPress
13083
13351
  }
13084
13352
  ),
13085
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$2.actionIcons }, /* @__PURE__ */ React__default["default"].createElement(
13353
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$1.actionIcons }, /* @__PURE__ */ React__default["default"].createElement(
13086
13354
  CustomIcon$1,
13087
13355
  {
13088
13356
  icon: deleteIcon,
13089
13357
  containerStyle: {
13090
- ...styles$2.iconContainer,
13358
+ ...styles$1.iconContainer,
13091
13359
  backgroundColor: theme.SURFACE_INVERTED
13092
13360
  },
13093
13361
  onPress: onDeletePress
@@ -13097,7 +13365,7 @@ const AppointmentCard = ({
13097
13365
  {
13098
13366
  icon: editIcon,
13099
13367
  containerStyle: {
13100
- ...styles$2.iconContainer,
13368
+ ...styles$1.iconContainer,
13101
13369
  backgroundColor: theme.SURFACE_INVERTED
13102
13370
  },
13103
13371
  onPress: onEditPress
@@ -13107,26 +13375,37 @@ const AppointmentCard = ({
13107
13375
  )
13108
13376
  );
13109
13377
  };
13110
- var index$1 = withThemeProvider(AppointmentCard);
13378
+ var index$2 = withThemeProvider(AppointmentCard);
13111
13379
 
13112
- const styles$1 = reactNative.StyleSheet.create({
13380
+ const styles = reactNative.StyleSheet.create({
13113
13381
  container: {
13114
13382
  flexDirection: "row",
13115
- justifyContent: "space-between",
13116
13383
  alignItems: "center",
13117
- paddingHorizontal: horizontalScale(24),
13118
- paddingVertical: verticalScale(16),
13119
- borderTopWidth: 1,
13120
- borderBottomWidth: 1
13384
+ padding: moderateScale(12),
13385
+ columnGap: horizontalScale(12)
13386
+ },
13387
+ imageWrapper: {
13388
+ width: moderateScale(112),
13389
+ height: moderateScale(112),
13390
+ borderRadius: moderateScale(8),
13391
+ overflow: "hidden"
13392
+ },
13393
+ brandBadge: {
13394
+ position: "absolute",
13395
+ top: moderateScale(8),
13396
+ right: moderateScale(8),
13397
+ // width: moderateScale(40),
13398
+ // height: moderateScale(40),
13399
+ // borderRadius: moderateScale(120),
13400
+ overflow: "hidden",
13401
+ // backgroundColor: '#FFFFFF',
13402
+ alignItems: "center",
13403
+ justifyContent: "center"
13121
13404
  },
13122
13405
  propertyInfo: {
13123
13406
  flex: 1,
13124
- rowGap: verticalScale(4)
13125
- },
13126
- arrowIconContainer: {
13127
- width: moderateScale(32),
13128
- height: moderateScale(32),
13129
- borderRadius: moderateScale(25)
13407
+ justifyContent: "center",
13408
+ rowGap: verticalScale(8)
13130
13409
  },
13131
13410
  propertyNumber: {
13132
13411
  flexDirection: "row",
@@ -13147,87 +13426,104 @@ const PropertyDetails = ({
13147
13426
  subTitleStyle,
13148
13427
  propertyNumberStyle,
13149
13428
  onRightIconPress,
13150
- titleStyle
13429
+ titleStyle,
13430
+ isSelected = false
13151
13431
  }) => {
13152
13432
  const { theme } = useTheme();
13153
13433
  return /* @__PURE__ */ React__default["default"].createElement(
13154
13434
  reactNative.View,
13155
13435
  {
13156
- style: {
13157
- ...styles$1.container,
13158
- backgroundColor: theme.SURFACE_SECONDARY,
13159
- borderColor: theme.BORDER_SEPERATOR_HEADER,
13160
- ...containerStyle,
13161
- ...{ borderRadius: 0 }
13162
- }
13436
+ style: [
13437
+ styles.container,
13438
+ {
13439
+ backgroundColor: theme.SURFACE_PRIMARY,
13440
+ borderColor: isSelected ? theme.STROKE_ACTIVE : theme.STROKE_TERTIARY
13441
+ },
13442
+ isSelected && {
13443
+ shadowColor: "rgba(0,157,179,0.1)",
13444
+ shadowOffset: { width: 0, height: 4 },
13445
+ shadowOpacity: 1,
13446
+ shadowRadius: 10,
13447
+ elevation: 4
13448
+ },
13449
+ containerStyle
13450
+ ]
13163
13451
  },
13164
- React__default["default"].cloneElement(icon, {
13165
- width: moderateScale(87),
13166
- height: moderateScale(87),
13167
- borderRadius: 0
13168
- }),
13169
- /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles$1.propertyInfo }, brandIcon, /* @__PURE__ */ React__default["default"].createElement(
13452
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles.imageWrapper }, React__default["default"].cloneElement(icon, {
13453
+ width: "100%",
13454
+ height: "100%",
13455
+ borderRadius: DHRE_RADIUS.MD
13456
+ }), brandIcon && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles.brandBadge }, brandIcon)),
13457
+ /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles.propertyInfo }, propertyNumber && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles.propertyNumber, propertyNumberStyle] }, /* @__PURE__ */ React__default["default"].createElement(
13170
13458
  CustomTypography,
13171
13459
  {
13172
- text: title,
13173
- variant: FontStyle.L2_REGULAR,
13174
- style: [{ color: theme.CONTENT_PRIMARY }, titleStyle]
13460
+ text: propertyNumber,
13461
+ variant: FontStyle.BODY3_LIGHT,
13462
+ style: { color: theme.CONTENT_SECONDRY }
13175
13463
  }
13176
- ), /* @__PURE__ */ React__default["default"].createElement(
13464
+ ), hintIcon), /* @__PURE__ */ React__default["default"].createElement(
13177
13465
  CustomTypography,
13178
13466
  {
13179
13467
  text: subTitle,
13180
- variant: FontStyle.L1_REGULAR,
13468
+ variant: FontStyle.BODY4_LIGHT,
13181
13469
  style: [{ color: theme.CONTENT_PRIMARY }, subTitleStyle]
13182
13470
  }
13183
- ), propertyNumber && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$1.propertyNumber, propertyNumberStyle] }, /* @__PURE__ */ React__default["default"].createElement(
13471
+ ), /* @__PURE__ */ React__default["default"].createElement(
13184
13472
  CustomTypography,
13185
13473
  {
13186
- text: propertyNumber,
13187
- variant: FontStyle.L2_REGULAR,
13188
- style: {
13189
- color: theme.CONTENT_SECONDRY
13190
- }
13474
+ text: title,
13475
+ variant: FontStyle.BODY1_MEDIUM,
13476
+ style: [{ color: theme.CONTENT_PRIMARY }, titleStyle]
13191
13477
  }
13192
- ), hintIcon)),
13478
+ )),
13193
13479
  btnIcon && /* @__PURE__ */ React__default["default"].createElement(
13194
13480
  CustomIcon$1,
13195
13481
  {
13196
13482
  icon: btnIcon,
13197
- containerStyle: {
13198
- ...styles$1.arrowIconContainer,
13199
- backgroundColor: theme.SURFACE_INVERTED
13200
- },
13201
13483
  onPress: onRightIconPress
13202
13484
  }
13203
13485
  )
13204
13486
  );
13205
13487
  };
13206
- var index = withThemeProvider(PropertyDetails);
13488
+ var index$1 = withThemeProvider(PropertyDetails);
13207
13489
 
13208
- const styles = reactNative.StyleSheet.create({
13209
- container: {
13210
- rowGap: verticalScale(12)
13211
- },
13212
- optionContainer: {
13213
- flexDirection: "row",
13214
- columnGap: horizontalScale(8),
13215
- alignItems: "center"
13216
- },
13217
- radioButton: {
13218
- width: moderateScale(16),
13219
- height: moderateScale(16),
13220
- borderRadius: moderateScale(10),
13221
- borderWidth: moderateScale(1.5),
13222
- borderColor: "#000"
13223
- },
13224
- radioButtonSelected: {
13225
- backgroundColor: "#000"
13226
- },
13227
- label: {
13228
- color: "#000"
13229
- }
13230
- });
13490
+ const createStyles = (themeColors, size, radioColor) => {
13491
+ const radioSize = size === "large" ? moderateScale(24) : moderateScale(20);
13492
+ const dotSize = size === "large" ? moderateScale(12) : moderateScale(10);
13493
+ const resolvedRadioColor = radioColor ?? themeColors[Theme.STROKE_ACTIVE];
13494
+ return reactNative.StyleSheet.create({
13495
+ container: {
13496
+ rowGap: verticalScale(12)
13497
+ },
13498
+ optionContainer: {
13499
+ flexDirection: "row",
13500
+ columnGap: horizontalScale(8),
13501
+ alignItems: "flex-start"
13502
+ },
13503
+ radioButton: {
13504
+ width: radioSize,
13505
+ height: radioSize,
13506
+ borderRadius: moderateScale(100),
13507
+ borderWidth: 1,
13508
+ borderColor: resolvedRadioColor,
13509
+ justifyContent: "center",
13510
+ alignItems: "center"
13511
+ },
13512
+ radioButtonSelected: {
13513
+ borderWidth: 2,
13514
+ backgroundColor: themeColors[Theme.CONTENT_INVERTED]
13515
+ },
13516
+ radioButtonInnerDot: {
13517
+ width: dotSize,
13518
+ height: dotSize,
13519
+ borderRadius: moderateScale(50),
13520
+ backgroundColor: resolvedRadioColor
13521
+ },
13522
+ label: {
13523
+ color: themeColors[Theme.CONTENT_PRIMARY]
13524
+ }
13525
+ });
13526
+ };
13231
13527
 
13232
13528
  const RadioButtonGroup = ({
13233
13529
  data,
@@ -13235,8 +13531,13 @@ const RadioButtonGroup = ({
13235
13531
  containerStyle,
13236
13532
  labelStyle,
13237
13533
  optionContainerStyle,
13238
- selectedValue
13534
+ selectedValue,
13535
+ size = "large",
13536
+ fontVariant,
13537
+ radioColor
13239
13538
  }) => {
13539
+ const { theme } = useTheme();
13540
+ const styles = createStyles(theme, size, radioColor);
13240
13541
  const [selectedOption, setSelectedOption] = React.useState(
13241
13542
  selectedValue ?? data[0]?.value
13242
13543
  );
@@ -13244,12 +13545,14 @@ const RadioButtonGroup = ({
13244
13545
  setSelectedOption(item.value);
13245
13546
  onSelect(item);
13246
13547
  };
13548
+ const resolvedFontVariant = fontVariant ?? (size === "small" ? FontStyle.BODY2_MEDIUM : FontStyle.BODY1_MEDIUM);
13247
13549
  return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles.container, containerStyle] }, data?.map((item) => /* @__PURE__ */ React__default["default"].createElement(
13248
13550
  reactNative.TouchableOpacity,
13249
13551
  {
13250
13552
  key: item.value,
13251
13553
  style: [styles.optionContainer, optionContainerStyle],
13252
- onPress: () => handleSelect(item)
13554
+ onPress: () => handleSelect(item),
13555
+ activeOpacity: 1
13253
13556
  },
13254
13557
  /* @__PURE__ */ React__default["default"].createElement(
13255
13558
  reactNative.View,
@@ -13258,22 +13561,24 @@ const RadioButtonGroup = ({
13258
13561
  styles.radioButton,
13259
13562
  selectedOption === item.value && styles.radioButtonSelected
13260
13563
  ]
13261
- }
13564
+ },
13565
+ selectedOption === item.value && /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: styles.radioButtonInnerDot })
13262
13566
  ),
13263
13567
  /* @__PURE__ */ React__default["default"].createElement(
13264
13568
  CustomTypography,
13265
13569
  {
13266
- variant: FontStyle.L1_REGULAR,
13570
+ variant: resolvedFontVariant,
13267
13571
  text: item.label,
13268
13572
  style: [styles.label, labelStyle]
13269
13573
  }
13270
13574
  )
13271
13575
  )));
13272
13576
  };
13577
+ var index = withThemeProvider(RadioButtonGroup);
13273
13578
 
13274
13579
  exports.Accordion = Accordion$1;
13275
13580
  exports.AnimationLoitte = AnimationWithImperativeApi;
13276
- exports.AppointmentCard = index$1;
13581
+ exports.AppointmentCard = index$2;
13277
13582
  exports.Avatar = Avatar$1;
13278
13583
  exports.AvatarSize = AvatarSize;
13279
13584
  exports.Background = Background$1;
@@ -13293,7 +13598,7 @@ exports.CustomIcon = CustomIcon$1;
13293
13598
  exports.CustomLoader = CustomLoader$1;
13294
13599
  exports.CustomProgressBar = CustomProgressBar$1;
13295
13600
  exports.CustomSearchBar = CustomSearchBar$1;
13296
- exports.CustomSlideButton = index$2;
13601
+ exports.CustomSlideButton = index$3;
13297
13602
  exports.CustomSwitchBtn = CustomSwitchBtn;
13298
13603
  exports.CustomText = CustomText$1;
13299
13604
  exports.CustomTextInput = CustomTextInput;
@@ -13306,6 +13611,8 @@ exports.DHRE_COLORS_PRIMARY = DHRE_COLORS_PRIMARY;
13306
13611
  exports.DHRE_COLORS_SECONDARY = DHRE_COLORS_SECONDARY;
13307
13612
  exports.DHRE_COLORS_TEXT = DHRE_COLORS_TEXT;
13308
13613
  exports.DHRE_COMPONENT_HEIGHT = DHRE_COMPONENT_HEIGHT;
13614
+ exports.DHRE_CONFIRMATION_BASE_GRADIENT = DHRE_CONFIRMATION_BASE_GRADIENT;
13615
+ exports.DHRE_CONFIRMATION_ERROR_GRADIENT = DHRE_CONFIRMATION_ERROR_GRADIENT;
13309
13616
  exports.DHRE_CORE_BLUE = DHRE_CORE_BLUE;
13310
13617
  exports.DHRE_CYAN_HIGHLIGHT = DHRE_CYAN_HIGHLIGHT;
13311
13618
  exports.DHRE_DEEP_SPACE_BLUE = DHRE_DEEP_SPACE_BLUE;
@@ -13338,12 +13645,12 @@ exports.OTPInput = OTPInput;
13338
13645
  exports.OurOfficesButton = OurOffices;
13339
13646
  exports.PdfView = PdfView;
13340
13647
  exports.PopUp = PopUp;
13341
- exports.PropertyDetails = index;
13342
- exports.RadioButtonGroup = RadioButtonGroup;
13648
+ exports.PropertyDetails = index$1;
13649
+ exports.RadioButtonGroup = index;
13343
13650
  exports.ShapeType = ShapeType;
13344
13651
  exports.SingleSelectionTags = TagSingleSelection;
13345
13652
  exports.StarRating = Star;
13346
- exports.Stepper = index$3;
13653
+ exports.Stepper = index$4;
13347
13654
  exports.SwipableList = SwipableList$1;
13348
13655
  exports.Tabs = Tabs$1;
13349
13656
  exports.Tags = Tags;