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.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import React, { createContext, useContext, useState, useEffect, useRef, useCallback, useMemo, memo } from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import { Dimensions, StyleSheet, Text, Pressable, View, Platform, KeyboardAvoidingView, ActivityIndicator, TextInput, ScrollView, Animated, FlatList, Easing, TouchableOpacity, Modal as Modal$1, Alert, Linking, I18nManager, PanResponder, Image } from 'react-native';
4
- import Svg, { Defs, LinearGradient, Stop, RadialGradient, Rect, Circle } from 'react-native-svg';
4
+ import Svg, { Defs, LinearGradient, Stop, RadialGradient, Rect, Circle, Svg as Svg$1, Path } from 'react-native-svg';
5
5
  import Modal from 'react-native-modal';
6
6
  import Clipboard from '@react-native-clipboard/clipboard';
7
7
  import LinearGradient$1 from 'react-native-linear-gradient';
@@ -186,6 +186,8 @@ var Theme = /* @__PURE__ */ ((Theme2) => {
186
186
  Theme2["STROKE_INFO"] = "STROKE_INFO";
187
187
  Theme2["STROKE_DISABLED_DARK"] = "STROKE_DISABLED_DARK";
188
188
  Theme2["STROKE_DISABLED_DARK2"] = "STROKE_DISABLED_DARK2";
189
+ Theme2["STROKE_ACTIVE"] = "STROKE_ACTIVE";
190
+ Theme2["STROKE_DISABLED_SELECTED"] = "STROKE_DISABLED_SELECTED";
189
191
  return Theme2;
190
192
  })(Theme || {});
191
193
 
@@ -449,6 +451,14 @@ const DHRE_RED_ERROR = {
449
451
  TRANSPARENT_400_60: "rgba(235, 5, 66, 0.60)",
450
452
  TRANSPARENT_400_10: "rgba(235, 5, 66, 0.10)"
451
453
  };
454
+ const DHRE_CONFIRMATION_ERROR_GRADIENT = {
455
+ light: ["#F0809E", "#FFFFFF"],
456
+ dark: ["#EB0542", "#000A28"]
457
+ };
458
+ const DHRE_CONFIRMATION_BASE_GRADIENT = {
459
+ light: ["rgba(165, 233, 255, 0)", "#52C5E8"],
460
+ dark: ["rgba(165, 233, 255, 0)", "#279DC1"]
461
+ };
452
462
 
453
463
  const theme = {
454
464
  [Theme.SURFACE_PRIMARY]: {
@@ -529,7 +539,7 @@ const theme = {
529
539
  },
530
540
  [Theme.SURFACE_SUCCESS]: {
531
541
  light: "#89C798",
532
- dark: "#347243"
542
+ dark: "#4EAB65"
533
543
  },
534
544
  [Theme.SURFACE_SUCCESS_TRANSPARENT]: {
535
545
  light: "rgba(137, 199, 152, 0.10)",
@@ -537,7 +547,7 @@ const theme = {
537
547
  },
538
548
  [Theme.SURFACE_INFO]: {
539
549
  light: "#52C5E8",
540
- dark: "#07556C"
550
+ dark: "#279DC1"
541
551
  },
542
552
  [Theme.SURFACE_INFO_TRANSPARENT]: {
543
553
  light: "rgba(233, 248, 255, 0.35)",
@@ -552,8 +562,8 @@ const theme = {
552
562
  dark: "rgba(238, 170, 106, 0.60)"
553
563
  },
554
564
  [Theme.SURFACE_ERROR]: {
555
- light: "#FFF2F5",
556
- dark: "#9D032C"
565
+ light: "#F0809E",
566
+ dark: "#EB0542"
557
567
  },
558
568
  [Theme.SURFACE_ERROR_TRANSPARENT]: {
559
569
  light: "rgba(235, 5, 66, 0.10)",
@@ -568,8 +578,8 @@ const theme = {
568
578
  dark: "#BFC7DB"
569
579
  },
570
580
  [Theme.CONTENT_TERTIARY]: {
571
- light: "#4D5F86",
572
- dark: "#8994AF"
581
+ light: "#6F7681",
582
+ dark: "#9FA4AB"
573
583
  },
574
584
  [Theme.CONTENT_SECONDARY_TEXT]: {
575
585
  light: "#686868",
@@ -786,6 +796,15 @@ const theme = {
786
796
  [Theme.STROKE_DISABLED_DARK2]: {
787
797
  dark: DHRE_DEEP_SPACE_BLUE[800],
788
798
  light: DHRE_DEEP_SPACE_BLUE[200]
799
+ },
800
+ [Theme.STROKE_ACTIVE]: {
801
+ dark: "#009db3",
802
+ light: "#009db3"
803
+ // light-theme value pending DHDS Figma spec
804
+ },
805
+ [Theme.STROKE_DISABLED_SELECTED]: {
806
+ dark: "#003f48",
807
+ light: "#9ADFE8"
789
808
  }
790
809
  };
791
810
 
@@ -817,64 +836,65 @@ const horizontalScale = (size) => width / guidelineBaseWidth * size;
817
836
  const verticalScale = (size) => height / guidelineBaseHeight * size;
818
837
  const moderateScale = (size, factor = 0.5) => size + (horizontalScale(size) - size) * factor;
819
838
 
820
- const createFontStyle = (fontFamily, fontSize, lineHeight) => ({
839
+ const createFontStyle = (fontFamily, fontSize, lineHeight, fontWeight) => ({
821
840
  fontSize: moderateScale(fontSize),
822
841
  lineHeight: verticalScale(lineHeight),
823
- fontFamily
842
+ fontFamily,
843
+ fontWeight
824
844
  });
825
845
  const InterBold = "Inter-Bold";
826
846
  const InterLight = "Inter-Light";
827
847
  const InterMedium = "Inter-Medium";
828
848
  const FONT_STYLES = {
829
- [FontStyle.H1_BOLD]: createFontStyle(InterBold, 48, 56),
830
- [FontStyle.H2_BOLD]: createFontStyle(InterBold, 40, 48),
831
- [FontStyle.H3_BOLD]: createFontStyle(InterBold, 32, 40),
832
- [FontStyle.H4_BOLD]: createFontStyle(InterBold, 24, 32),
833
- [FontStyle.H5_BOLD]: createFontStyle(InterBold, 20, 28),
834
- [FontStyle.H6_BOLD]: createFontStyle(InterBold, 16, 20),
835
- [FontStyle.H7_BOLD]: createFontStyle(InterBold, 20, 28),
836
- [FontStyle.H8_BOLD]: createFontStyle(InterBold, 18, 25.2),
837
- [FontStyle.H1_MEDIUM]: createFontStyle(InterMedium, 48, 56),
838
- [FontStyle.H2_MEDIUM]: createFontStyle(InterMedium, 40, 48),
839
- [FontStyle.H3_MEDIUM]: createFontStyle(InterMedium, 32, 40),
840
- [FontStyle.H4_MEDIUM]: createFontStyle(InterMedium, 24, 32),
841
- [FontStyle.H5_MEDIUM]: createFontStyle(InterMedium, 20, 28),
842
- [FontStyle.H6_MEDIUM]: createFontStyle(InterMedium, 16, 20),
843
- [FontStyle.H7_MEDIUM]: createFontStyle(InterMedium, 20, 28),
844
- [FontStyle.H8_MEDIUM]: createFontStyle(InterMedium, 18, 25.2),
845
- [FontStyle.H1_LIGHT]: createFontStyle(InterLight, 48, 56),
846
- [FontStyle.H2_LIGHT]: createFontStyle(InterLight, 40, 48),
847
- [FontStyle.H3_LIGHT]: createFontStyle(InterLight, 32, 40),
848
- [FontStyle.H4_LIGHT]: createFontStyle(InterLight, 24, 32),
849
- [FontStyle.H5_LIGHT]: createFontStyle(InterLight, 20, 28),
850
- [FontStyle.H6_LIGHT]: createFontStyle(InterLight, 16, 20),
851
- [FontStyle.H7_LIGHT]: createFontStyle(InterLight, 20, 28),
852
- [FontStyle.H8_LIGHT]: createFontStyle(InterLight, 18, 25.2),
853
- [FontStyle.H1_LINK]: createFontStyle(InterLight, 48, 56),
854
- [FontStyle.H2_LINK]: createFontStyle(InterLight, 40, 48),
855
- [FontStyle.H3_LINK]: createFontStyle(InterLight, 32, 40),
856
- [FontStyle.H4_LINK]: createFontStyle(InterLight, 24, 32),
857
- [FontStyle.H5_LINK]: createFontStyle(InterLight, 20, 28),
858
- [FontStyle.H6_LINK]: createFontStyle(InterLight, 16, 20),
859
- [FontStyle.H7_LINK]: createFontStyle(InterLight, 20, 28),
860
- [FontStyle.H8_LINK]: createFontStyle(InterLight, 18, 25.2),
849
+ [FontStyle.H1_BOLD]: createFontStyle(InterBold, 48, 56, "700"),
850
+ [FontStyle.H2_BOLD]: createFontStyle(InterBold, 40, 48, "700"),
851
+ [FontStyle.H3_BOLD]: createFontStyle(InterBold, 32, 40, "700"),
852
+ [FontStyle.H4_BOLD]: createFontStyle(InterBold, 24, 32, "700"),
853
+ [FontStyle.H5_BOLD]: createFontStyle(InterBold, 20, 28, "700"),
854
+ [FontStyle.H6_BOLD]: createFontStyle(InterBold, 16, 20, "700"),
855
+ [FontStyle.H7_BOLD]: createFontStyle(InterBold, 20, 28, "700"),
856
+ [FontStyle.H8_BOLD]: createFontStyle(InterBold, 18, 25.2, "700"),
857
+ [FontStyle.H1_MEDIUM]: createFontStyle(InterMedium, 48, 56, "500"),
858
+ [FontStyle.H2_MEDIUM]: createFontStyle(InterMedium, 40, 48, "500"),
859
+ [FontStyle.H3_MEDIUM]: createFontStyle(InterMedium, 32, 40, "500"),
860
+ [FontStyle.H4_MEDIUM]: createFontStyle(InterMedium, 24, 32, "500"),
861
+ [FontStyle.H5_MEDIUM]: createFontStyle(InterMedium, 20, 28, "500"),
862
+ [FontStyle.H6_MEDIUM]: createFontStyle(InterMedium, 16, 20, "500"),
863
+ [FontStyle.H7_MEDIUM]: createFontStyle(InterMedium, 20, 28, "500"),
864
+ [FontStyle.H8_MEDIUM]: createFontStyle(InterMedium, 18, 25.2, "500"),
865
+ [FontStyle.H1_LIGHT]: createFontStyle(InterLight, 48, 56, "300"),
866
+ [FontStyle.H2_LIGHT]: createFontStyle(InterLight, 40, 48, "300"),
867
+ [FontStyle.H3_LIGHT]: createFontStyle(InterLight, 32, 40, "300"),
868
+ [FontStyle.H4_LIGHT]: createFontStyle(InterLight, 24, 32, "300"),
869
+ [FontStyle.H5_LIGHT]: createFontStyle(InterLight, 20, 28, "300"),
870
+ [FontStyle.H6_LIGHT]: createFontStyle(InterLight, 16, 20, "300"),
871
+ [FontStyle.H7_LIGHT]: createFontStyle(InterLight, 20, 28, "300"),
872
+ [FontStyle.H8_LIGHT]: createFontStyle(InterLight, 18, 25.2, "300"),
873
+ [FontStyle.H1_LINK]: createFontStyle(InterLight, 48, 56, "300"),
874
+ [FontStyle.H2_LINK]: createFontStyle(InterLight, 40, 48, "300"),
875
+ [FontStyle.H3_LINK]: createFontStyle(InterLight, 32, 40, "300"),
876
+ [FontStyle.H4_LINK]: createFontStyle(InterLight, 24, 32, "300"),
877
+ [FontStyle.H5_LINK]: createFontStyle(InterLight, 20, 28, "300"),
878
+ [FontStyle.H6_LINK]: createFontStyle(InterLight, 16, 20, "500"),
879
+ [FontStyle.H7_LINK]: createFontStyle(InterLight, 20, 28, "500"),
880
+ [FontStyle.H8_LINK]: createFontStyle(InterLight, 18, 25.2, "500"),
861
881
  // Lifestyle body styles
862
- [FontStyle.BODY1_BOLD]: createFontStyle(InterBold, 16, 20),
863
- [FontStyle.BODY2_BOLD]: createFontStyle(InterBold, 14, 18),
864
- [FontStyle.BODY3_BOLD]: createFontStyle(InterBold, 12, 16),
865
- [FontStyle.BODY4_BOLD]: createFontStyle(InterBold, 11, 12),
866
- [FontStyle.BODY1_MEDIUM]: createFontStyle(InterMedium, 16, 20),
867
- [FontStyle.BODY2_MEDIUM]: createFontStyle(InterMedium, 14, 18),
868
- [FontStyle.BODY3_MEDIUM]: createFontStyle(InterMedium, 12, 16),
869
- [FontStyle.BODY4_MEDIUM]: createFontStyle(InterMedium, 11, 12),
870
- [FontStyle.BODY1_LIGHT]: createFontStyle(InterLight, 16, 20),
871
- [FontStyle.BODY2_LIGHT]: createFontStyle(InterLight, 14, 18),
872
- [FontStyle.BODY3_LIGHT]: createFontStyle(InterLight, 12, 16),
873
- [FontStyle.BODY4_LIGHT]: createFontStyle(InterLight, 11, 12),
874
- [FontStyle.BODY1_LINK]: createFontStyle(InterLight, 16, 20),
875
- [FontStyle.BODY2_LINK]: createFontStyle(InterLight, 14, 18),
876
- [FontStyle.BODY3_LINK]: createFontStyle(InterLight, 12, 16),
877
- [FontStyle.BODY4_LINK]: createFontStyle(InterLight, 11, 12)
882
+ [FontStyle.BODY1_BOLD]: createFontStyle(InterBold, 16, 20, "700"),
883
+ [FontStyle.BODY2_BOLD]: createFontStyle(InterBold, 14, 18, "700"),
884
+ [FontStyle.BODY3_BOLD]: createFontStyle(InterBold, 12, 16, "700"),
885
+ [FontStyle.BODY4_BOLD]: createFontStyle(InterBold, 11, 12, "700"),
886
+ [FontStyle.BODY1_MEDIUM]: createFontStyle(InterMedium, 16, 20, "500"),
887
+ [FontStyle.BODY2_MEDIUM]: createFontStyle(InterMedium, 14, 18, "500"),
888
+ [FontStyle.BODY3_MEDIUM]: createFontStyle(InterMedium, 12, 16, "500"),
889
+ [FontStyle.BODY4_MEDIUM]: createFontStyle(InterMedium, 11, 12, "500"),
890
+ [FontStyle.BODY1_LIGHT]: createFontStyle(InterLight, 16, 20, "300"),
891
+ [FontStyle.BODY2_LIGHT]: createFontStyle(InterLight, 14, 18, "300"),
892
+ [FontStyle.BODY3_LIGHT]: createFontStyle(InterLight, 12, 16, "300"),
893
+ [FontStyle.BODY4_LIGHT]: createFontStyle(InterLight, 11, 12, "300"),
894
+ [FontStyle.BODY1_LINK]: createFontStyle(InterLight, 16, 20, "500"),
895
+ [FontStyle.BODY2_LINK]: createFontStyle(InterLight, 14, 18, "500"),
896
+ [FontStyle.BODY3_LINK]: createFontStyle(InterLight, 12, 16, "500"),
897
+ [FontStyle.BODY4_LINK]: createFontStyle(InterLight, 11, 12, "500")
878
898
  };
879
899
 
880
900
  const CustomTypography = ({
@@ -889,13 +909,13 @@ const CustomTypography = ({
889
909
  Text,
890
910
  {
891
911
  testID,
892
- style: [textStyle, styles$B.container, style],
912
+ style: [textStyle, styles$A.container, style],
893
913
  ...props
894
914
  },
895
915
  text
896
916
  );
897
917
  };
898
- const styles$B = StyleSheet.create({
918
+ const styles$A = StyleSheet.create({
899
919
  container: { writingDirection: "auto", alignSelf: "flex-start" }
900
920
  });
901
921
 
@@ -934,7 +954,7 @@ const commonStyles = StyleSheet.create({
934
954
  }
935
955
  });
936
956
 
937
- const styles$A = StyleSheet.create({
957
+ const styles$z = StyleSheet.create({
938
958
  badge: {
939
959
  backgroundColor: DHRE_COLORS_ALERT.DH_SUCCESS_GREEN,
940
960
  borderRadius: 15,
@@ -961,16 +981,16 @@ const Badge = ({
961
981
  return /* @__PURE__ */ React.createElement(
962
982
  Pressable,
963
983
  {
964
- style: [styles$A.badge, commonStyles.centerRow, style],
984
+ style: [styles$z.badge, commonStyles.centerRow, style],
965
985
  testID: "BADGE",
966
986
  onPress: handleIconPress
967
987
  },
968
- iconName && /* @__PURE__ */ React.createElement(View, { style: [styles$A.icon, iconStyle] }, React.cloneElement(iconName)),
988
+ iconName && /* @__PURE__ */ React.createElement(View, { style: [styles$z.icon, iconStyle] }, React.cloneElement(iconName)),
969
989
  text && /* @__PURE__ */ React.createElement(
970
990
  CustomTypography,
971
991
  {
972
992
  variant: "B3semiBold",
973
- style: [styles$A.text, textStyle],
993
+ style: [styles$z.text, textStyle],
974
994
  text
975
995
  }
976
996
  )
@@ -1138,7 +1158,7 @@ const chipStyles = StyleSheet.create({
1138
1158
  justifyContent: "center",
1139
1159
  borderWidth: 1,
1140
1160
  borderRadius: DHRE_RADIUS.PILL,
1141
- gap: DHRE_SPACING.XS
1161
+ gap: DHRE_PADDING.SM
1142
1162
  },
1143
1163
  sizeLarge: {
1144
1164
  height: DHRE_SPACING_BASE.SPACE_40,
@@ -1209,7 +1229,7 @@ const Chip = ({
1209
1229
  disabled
1210
1230
  );
1211
1231
  const contentColor = resolveContentColor(themeColors, selected, disabled);
1212
- const textVariant = size === "large" ? FontStyle.BODY2_LIGHT : FontStyle.BODY3_LIGHT;
1232
+ const textVariant = size === "large" ? selected ? FontStyle.BODY2_MEDIUM : FontStyle.BODY2_LIGHT : selected ? FontStyle.BODY3_MEDIUM : FontStyle.BODY3_LIGHT;
1213
1233
  return /* @__PURE__ */ React.createElement(
1214
1234
  Pressable,
1215
1235
  {
@@ -1251,7 +1271,7 @@ var BackgroundVariant = /* @__PURE__ */ ((BackgroundVariant2) => {
1251
1271
  return BackgroundVariant2;
1252
1272
  })(BackgroundVariant || {});
1253
1273
 
1254
- const styles$z = StyleSheet.create({
1274
+ const styles$y = StyleSheet.create({
1255
1275
  container: {
1256
1276
  flex: 1,
1257
1277
  overflow: "hidden"
@@ -1315,7 +1335,7 @@ const Background = ({
1315
1335
  View,
1316
1336
  {
1317
1337
  testID,
1318
- style: [styles$z.container, { backgroundColor: config.base }, style]
1338
+ style: [styles$y.container, { backgroundColor: config.base }, style]
1319
1339
  },
1320
1340
  /* @__PURE__ */ React.createElement(
1321
1341
  Svg,
@@ -1370,12 +1390,12 @@ const Background = ({
1370
1390
  ))),
1371
1391
  config.type === "linear" ? /* @__PURE__ */ React.createElement(Rect, { x: "0", y: "0", width: "100", height: "100", fill: "url(#bg)" }) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Rect, { x: "0", y: "0", width: "100", height: "100", fill: config.base }), /* @__PURE__ */ React.createElement(Rect, { x: "0", y: "0", width: "100", height: "100", fill: "url(#glowLeft)" }), /* @__PURE__ */ React.createElement(Rect, { x: "0", y: "0", width: "100", height: "100", fill: "url(#glowRight)" }))
1372
1392
  ),
1373
- /* @__PURE__ */ React.createElement(View, { style: [styles$z.content, contentStyle] }, children)
1393
+ /* @__PURE__ */ React.createElement(View, { style: [styles$y.content, contentStyle] }, children)
1374
1394
  );
1375
1395
  };
1376
1396
  var Background$1 = withThemeProvider(Background);
1377
1397
 
1378
- const styles$y = StyleSheet.create({
1398
+ const styles$x = StyleSheet.create({
1379
1399
  mainContainer: {
1380
1400
  flex: 1,
1381
1401
  justifyContent: "flex-end"
@@ -1397,21 +1417,19 @@ const styles$y = StyleSheet.create({
1397
1417
  },
1398
1418
  separator: {
1399
1419
  height: verticalScale(3),
1400
- width: horizontalScale(32),
1420
+ width: DHRE_SPACING_BASE.SPACE_32,
1401
1421
  alignSelf: "center",
1402
- backgroundColor: "#A7A7A7",
1403
1422
  borderRadius: moderateScale(25)
1404
1423
  },
1405
1424
  headerContainer: {
1406
1425
  flexDirection: "row",
1407
1426
  justifyContent: "space-between",
1408
1427
  alignItems: "center",
1409
- marginTop: verticalScale(24)
1428
+ marginTop: DHRE_SPACING_BASE.SPACE_16
1410
1429
  },
1411
- title: { flex: 1, color: "#fff", textAlign: "left" },
1430
+ title: { flex: 1, textAlign: "left" },
1412
1431
  leftIconStyle: { marginRight: 8 },
1413
1432
  rightTitle: {
1414
- color: "#fff",
1415
1433
  textAlign: "right",
1416
1434
  marginRight: DHRE_PADDING.LG
1417
1435
  },
@@ -1482,11 +1500,11 @@ const BottomDrawer = ({
1482
1500
  behavior: isIos() ? "padding" : "height",
1483
1501
  style: { flex: 1 }
1484
1502
  },
1485
- /* @__PURE__ */ React.createElement(View, { style: [styles$y.mainContainer, style], testID }, /* @__PURE__ */ React.createElement(
1503
+ /* @__PURE__ */ React.createElement(View, { style: [styles$x.mainContainer, style], testID }, /* @__PURE__ */ React.createElement(
1486
1504
  View,
1487
1505
  {
1488
1506
  style: [
1489
- styles$y.modalContainer,
1507
+ styles$x.modalContainer,
1490
1508
  { backgroundColor: theme.SURFACE_PRIMARY },
1491
1509
  modalContainerStyle
1492
1510
  ]
@@ -1496,35 +1514,51 @@ const BottomDrawer = ({
1496
1514
  {
1497
1515
  onPressOut: () => swipeDirection === "" && toggleModal()
1498
1516
  },
1499
- showSeparator && /* @__PURE__ */ React.createElement(View, { style: styles$y.separator }),
1500
- /* @__PURE__ */ React.createElement(View, { style: styles$y.headerContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$y.leftSideStyle }, showLeftIcon && leftIcon ? React.cloneElement(leftIcon, {
1501
- style: styles$y.leftIconStyle,
1517
+ showSeparator && /* @__PURE__ */ React.createElement(
1518
+ View,
1519
+ {
1520
+ style: [
1521
+ styles$x.separator,
1522
+ { backgroundColor: theme.STROKE_TERTIARY }
1523
+ ]
1524
+ }
1525
+ ),
1526
+ /* @__PURE__ */ React.createElement(View, { style: styles$x.headerContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$x.leftSideStyle }, showLeftIcon && leftIcon ? React.cloneElement(leftIcon, {
1527
+ style: styles$x.leftIconStyle,
1502
1528
  onPressOut: onLeftIconPress
1503
1529
  }) : null, /* @__PURE__ */ React.createElement(
1504
1530
  CustomTypography,
1505
1531
  {
1506
1532
  variant: titleVariant,
1507
1533
  text: title,
1508
- style: { ...styles$y.title, ...titleStyle }
1534
+ style: {
1535
+ ...styles$x.title,
1536
+ color: theme.CONTENT_PRIMARY,
1537
+ ...titleStyle
1538
+ }
1509
1539
  }
1510
1540
  )), /* @__PURE__ */ React.createElement(
1511
1541
  View,
1512
1542
  {
1513
- style: rightTitle && rightTitle?.length > 0 ? styles$y.rightSideStyle : {}
1543
+ style: rightTitle && rightTitle?.length > 0 ? styles$x.rightSideStyle : {}
1514
1544
  },
1515
1545
  rightTitle && rightTitle?.length > 0 ? /* @__PURE__ */ React.createElement(Pressable, { onPressOut: handleRightTitlePress }, /* @__PURE__ */ React.createElement(
1516
1546
  CustomTypography,
1517
1547
  {
1518
1548
  variant: rightTitleVariant,
1519
1549
  text: rightTitle,
1520
- style: { ...styles$y.rightTitle, ...rightTitleStyle }
1550
+ style: {
1551
+ ...styles$x.rightTitle,
1552
+ color: theme.CONTENT_PRIMARY,
1553
+ ...rightTitleStyle
1554
+ }
1521
1555
  }
1522
1556
  )) : null,
1523
1557
  showRightIcon && rightIcon ? /* @__PURE__ */ React.createElement(
1524
1558
  Pressable,
1525
1559
  {
1526
1560
  onPressOut: toggleModal,
1527
- style: styles$y.rightIconStyle
1561
+ style: styles$x.rightIconStyle
1528
1562
  },
1529
1563
  React.cloneElement(rightIcon, {
1530
1564
  width: DHRE_SPACING.LG,
@@ -1541,7 +1575,7 @@ const BottomDrawer = ({
1541
1575
  };
1542
1576
  var BottomDrawer$1 = withThemeProvider(BottomDrawer);
1543
1577
 
1544
- const styles$x = StyleSheet.create({
1578
+ const styles$w = StyleSheet.create({
1545
1579
  mainContainer: {
1546
1580
  marginHorizontal: horizontalScale(16)
1547
1581
  },
@@ -1827,7 +1861,7 @@ const CustomButton = ({
1827
1861
  text: title,
1828
1862
  variant: titleVariant ?? defaultTextVariant,
1829
1863
  textColor: effectiveTextColor,
1830
- style: [styles$x.buttonText, disabledHexStyle, textStyle]
1864
+ style: [styles$w.buttonText, disabledHexStyle, textStyle]
1831
1865
  }
1832
1866
  ), rightIcon && React.cloneElement(rightIcon, {
1833
1867
  width: iconSize,
@@ -1889,7 +1923,7 @@ const CustomButton = ({
1889
1923
  };
1890
1924
  var Button = withThemeProvider(CustomButton);
1891
1925
 
1892
- const styles$w = StyleSheet.create({
1926
+ const styles$v = StyleSheet.create({
1893
1927
  container: {
1894
1928
  padding: horizontalScale(20),
1895
1929
  marginHorizontal: horizontalScale(16),
@@ -1954,53 +1988,53 @@ const Cards = ({
1954
1988
  testID,
1955
1989
  onButtonPress
1956
1990
  }) => {
1957
- return /* @__PURE__ */ React.createElement(View, { testID, style: styles$w.container }, topLeftTitle ? /* @__PURE__ */ React.createElement(View, { style: styles$w.topLeft }, /* @__PURE__ */ React.createElement(
1991
+ return /* @__PURE__ */ React.createElement(View, { testID, style: styles$v.container }, topLeftTitle ? /* @__PURE__ */ React.createElement(View, { style: styles$v.topLeft }, /* @__PURE__ */ React.createElement(
1958
1992
  CustomTypography,
1959
1993
  {
1960
1994
  variant: "P2regular",
1961
- style: styles$w.title,
1995
+ style: styles$v.title,
1962
1996
  text: topLeftTitle
1963
1997
  }
1964
1998
  )) : null, title ? /* @__PURE__ */ React.createElement(
1965
1999
  CustomTypography,
1966
2000
  {
1967
2001
  variant: "H6bold",
1968
- style: styles$w.subTitleBelow,
2002
+ style: styles$v.subTitleBelow,
1969
2003
  text: title
1970
2004
  }
1971
2005
  ) : null, subtitle ? /* @__PURE__ */ React.createElement(
1972
2006
  CustomTypography,
1973
2007
  {
1974
2008
  variant: "P3regular",
1975
- style: styles$w.subtitle,
2009
+ style: styles$v.subtitle,
1976
2010
  text: subtitle
1977
2011
  }
1978
- ) : null, /* @__PURE__ */ React.createElement(View, { style: styles$w.leftBottomView }, iconSource ? iconSource : null, iconTitle ? /* @__PURE__ */ React.createElement(
2012
+ ) : null, /* @__PURE__ */ React.createElement(View, { style: styles$v.leftBottomView }, iconSource ? iconSource : null, iconTitle ? /* @__PURE__ */ React.createElement(
1979
2013
  CustomTypography,
1980
2014
  {
1981
2015
  variant: "P3regular",
1982
- style: styles$w.subTitleLeftBelow,
2016
+ style: styles$v.subTitleLeftBelow,
1983
2017
  text: iconTitle
1984
2018
  }
1985
2019
  ) : null), buttonShown ? /* @__PURE__ */ React.createElement(
1986
2020
  Pressable,
1987
2021
  {
1988
2022
  testID: "Button-Press",
1989
- style: styles$w.button,
2023
+ style: styles$v.button,
1990
2024
  onPress: onButtonPress
1991
2025
  },
1992
2026
  /* @__PURE__ */ React.createElement(
1993
2027
  CustomTypography,
1994
2028
  {
1995
2029
  variant: "B2semiBold",
1996
- style: styles$w.buttonText,
2030
+ style: styles$v.buttonText,
1997
2031
  text: buttonText
1998
2032
  }
1999
2033
  )
2000
2034
  ) : null);
2001
2035
  };
2002
2036
 
2003
- const styles$v = StyleSheet.create({
2037
+ const styles$u = StyleSheet.create({
2004
2038
  directionStyle: {
2005
2039
  flexDirection: "row",
2006
2040
  alignItems: "flex-start",
@@ -2008,7 +2042,10 @@ const styles$v = StyleSheet.create({
2008
2042
  },
2009
2043
  checkboxContainer: {
2010
2044
  alignItems: "center",
2011
- justifyContent: "center"
2045
+ justifyContent: "center",
2046
+ borderRadius: DHRE_RADIUS.SM,
2047
+ borderWidth: 1,
2048
+ overflow: "hidden"
2012
2049
  }
2013
2050
  });
2014
2051
 
@@ -2042,10 +2079,11 @@ const Checkbox = ({
2042
2079
  partialIcon,
2043
2080
  partialDisabledIcon,
2044
2081
  isPartial = false,
2045
- size,
2082
+ size = "small",
2046
2083
  titleVariant,
2047
2084
  titleStyle,
2048
2085
  containerStyle,
2086
+ checkboxStyle,
2049
2087
  onPress,
2050
2088
  hideCheckbox = false
2051
2089
  }) => {
@@ -2077,15 +2115,21 @@ const Checkbox = ({
2077
2115
  minWidth: size === "small" ? 20 : 24,
2078
2116
  minHeight: size === "small" ? 20 : 24
2079
2117
  };
2080
- return /* @__PURE__ */ React.createElement(View, { testID, style: containerStyle }, /* @__PURE__ */ React.createElement(View, { style: styles$v.directionStyle }, hideCheckbox ? null : /* @__PURE__ */ React.createElement(
2118
+ const isFilledState = checked || isPartial;
2119
+ const checkboxContainerDynamicStyle = {
2120
+ backgroundColor: disable ? isFilledState ? theme[Theme.STROKE_DISABLED_SELECTED] : "transparent" : isFilledState ? theme[Theme.STROKE_ACTIVE] : "transparent",
2121
+ borderColor: disable ? theme[Theme.CONTENT_DISABLE_DARK] : theme[Theme.STROKE_ACTIVE],
2122
+ borderWidth: disable && isFilledState ? 0 : 1
2123
+ };
2124
+ return /* @__PURE__ */ React.createElement(View, { testID, style: containerStyle }, /* @__PURE__ */ React.createElement(View, { style: styles$u.directionStyle }, hideCheckbox ? null : /* @__PURE__ */ React.createElement(
2081
2125
  Pressable,
2082
2126
  {
2083
2127
  testID: "Checkbox-Press",
2084
2128
  onPressIn: handlePress,
2085
2129
  disabled: disable,
2086
- style: [styles$v.checkboxContainer, iconContainerSizeStyle]
2130
+ style: [styles$u.checkboxContainer, iconContainerSizeStyle, checkboxContainerDynamicStyle, checkboxStyle]
2087
2131
  },
2088
- React.cloneElement(resolvedIcon)
2132
+ resolvedIcon ? React.cloneElement(resolvedIcon) : null
2089
2133
  ), /* @__PURE__ */ React.createElement(
2090
2134
  CustomTypography,
2091
2135
  {
@@ -2098,7 +2142,7 @@ const Checkbox = ({
2098
2142
  };
2099
2143
  var CheckBox = withThemeProvider(Checkbox);
2100
2144
 
2101
- const styles$u = StyleSheet.create({
2145
+ const styles$t = StyleSheet.create({
2102
2146
  labelStyle: {
2103
2147
  color: DHRE_COLORS_TEXT.DH_TEXTLIGHT
2104
2148
  },
@@ -2152,26 +2196,26 @@ const CustomDropdown$1 = ({
2152
2196
  CustomTypography,
2153
2197
  {
2154
2198
  variant: "P3regular",
2155
- style: styles$u.labelStyle,
2199
+ style: styles$t.labelStyle,
2156
2200
  text: label
2157
2201
  }
2158
2202
  ), /* @__PURE__ */ React.createElement(
2159
2203
  Pressable,
2160
2204
  {
2161
2205
  testID: `${testId}-BTN`,
2162
- style: styles$u.dropDownStyle,
2206
+ style: styles$t.dropDownStyle,
2163
2207
  onPress: () => setShowOptions(!showOptions)
2164
2208
  },
2165
2209
  iconName && /* @__PURE__ */ React.createElement(View, { style: iconStyle }, React.cloneElement(iconName, {
2166
2210
  width: moderateScale(24),
2167
2211
  height: moderateScale(24),
2168
- style: styles$u.iconStyle
2212
+ style: styles$t.iconStyle
2169
2213
  })),
2170
2214
  /* @__PURE__ */ React.createElement(
2171
2215
  CustomTypography,
2172
2216
  {
2173
2217
  variant: "P3regular",
2174
- style: styles$u.selectedValueStyle,
2218
+ style: styles$t.selectedValueStyle,
2175
2219
  text: selectedValue ? selectedValue.label : placeholder
2176
2220
  }
2177
2221
  ),
@@ -2182,7 +2226,7 @@ const CustomDropdown$1 = ({
2182
2226
  width: moderateScale(24),
2183
2227
  height: moderateScale(24)
2184
2228
  }))
2185
- ), showOptions && /* @__PURE__ */ React.createElement(View, { style: styles$u.optionContainer }, options?.map(({ id, value, label: label2 }) => /* @__PURE__ */ React.createElement(
2229
+ ), showOptions && /* @__PURE__ */ React.createElement(View, { style: styles$t.optionContainer }, options?.map(({ id, value, label: label2 }) => /* @__PURE__ */ React.createElement(
2186
2230
  Pressable,
2187
2231
  {
2188
2232
  key: id,
@@ -2192,7 +2236,7 @@ const CustomDropdown$1 = ({
2192
2236
  oneSelect({ id, value, label: label2 });
2193
2237
  },
2194
2238
  style: [
2195
- styles$u.item,
2239
+ styles$t.item,
2196
2240
  {
2197
2241
  backgroundColor: id === selectedValue?.id ? DHRE_COLORS_BG.DH_GREY1 : DHRE_COLORS_TEXT.DH_WHITE
2198
2242
  }
@@ -2201,7 +2245,7 @@ const CustomDropdown$1 = ({
2201
2245
  iconName && /* @__PURE__ */ React.createElement(View, { style: iconStyle }, React.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.createElement(
2207
2251
  CustomTypography,
@@ -2216,7 +2260,7 @@ const CustomDropdown$1 = ({
2216
2260
  ))));
2217
2261
  };
2218
2262
 
2219
- const styles$t = StyleSheet.create({
2263
+ const styles$s = StyleSheet.create({
2220
2264
  labelStyle: {
2221
2265
  color: DHRE_COLORS_TEXT.DH_TEXTDARK
2222
2266
  },
@@ -2298,18 +2342,18 @@ const CustomTextInput = ({
2298
2342
  CustomTypography,
2299
2343
  {
2300
2344
  variant: "P3medium",
2301
- style: [styles$t.labelStyle, disabled && styles$t.disableTextStyle],
2345
+ style: [styles$s.labelStyle, disabled && styles$s.disableTextStyle],
2302
2346
  text: label
2303
2347
  }
2304
2348
  ), /* @__PURE__ */ React.createElement(
2305
2349
  View,
2306
2350
  {
2307
2351
  style: [
2308
- styles$t.inputContainer,
2309
- isFocused && styles$t.inputFocused,
2310
- error && styles$t.inputError,
2311
- disabled && styles$t.disableInputStyle,
2312
- successMessage ? styles$t.inputSucess : {},
2352
+ styles$s.inputContainer,
2353
+ isFocused && styles$s.inputFocused,
2354
+ error && styles$s.inputError,
2355
+ disabled && styles$s.disableInputStyle,
2356
+ successMessage ? styles$s.inputSucess : {},
2313
2357
  {
2314
2358
  height: multiline ? 120 : 48,
2315
2359
  alignItems: multiline ? "flex-start" : "center"
@@ -2319,7 +2363,7 @@ const CustomTextInput = ({
2319
2363
  isSearchBar && searchIcon && React.cloneElement(searchIcon, {
2320
2364
  width: moderateScale(24),
2321
2365
  height: moderateScale(24),
2322
- style: styles$t.searchIconStyle
2366
+ style: styles$s.searchIconStyle
2323
2367
  }),
2324
2368
  /* @__PURE__ */ React.createElement(
2325
2369
  TextInput,
@@ -2327,7 +2371,7 @@ const CustomTextInput = ({
2327
2371
  ...props,
2328
2372
  onFocus,
2329
2373
  onBlur,
2330
- style: styles$t.input,
2374
+ style: styles$s.input,
2331
2375
  placeholderTextColor: DHRE_COLORS_TEXT.DH_TEXTLIGHTEST,
2332
2376
  editable: !disabled,
2333
2377
  value,
@@ -2363,11 +2407,11 @@ const CustomTextInput = ({
2363
2407
  const CustomTooltip = (props) => {
2364
2408
  const { triggerElement, contentStyle } = props;
2365
2409
  return /* @__PURE__ */ React.createElement(Tooltip, { ...props, contentStyle: [contentStyle, {
2366
- borderRadius: 0
2410
+ borderRadius: DHRE_PADDING.MD
2367
2411
  }] }, triggerElement);
2368
2412
  };
2369
2413
 
2370
- const styles$s = StyleSheet.create({
2414
+ const styles$r = StyleSheet.create({
2371
2415
  container: {
2372
2416
  backgroundColor: DHRE_COLORS_TEXT.DH_BLACK,
2373
2417
  paddingHorizontal: horizontalScale(16),
@@ -2417,21 +2461,21 @@ const FileUpload = ({
2417
2461
  return /* @__PURE__ */ React.createElement(
2418
2462
  View,
2419
2463
  {
2420
- style: [styles$s.container, containerStyle],
2464
+ style: [styles$r.container, containerStyle],
2421
2465
  testID: "file-upload-container"
2422
2466
  },
2423
- /* @__PURE__ */ React.createElement(View, { style: styles$s.content }, /* @__PURE__ */ React.createElement(View, { style: [uploadImageStyling], testID: "file-upload-image" }, icon && React.cloneElement(icon, { style: [iconStyle] })), /* @__PURE__ */ React.createElement(CustomTypography, { variant: "H8bold", style: styles$s.title, text: title }), /* @__PURE__ */ React.createElement(
2467
+ /* @__PURE__ */ React.createElement(View, { style: styles$r.content }, /* @__PURE__ */ React.createElement(View, { style: [uploadImageStyling], testID: "file-upload-image" }, icon && React.cloneElement(icon, { style: [iconStyle] })), /* @__PURE__ */ React.createElement(CustomTypography, { variant: "H8bold", style: styles$r.title, text: title }), /* @__PURE__ */ React.createElement(
2424
2468
  CustomTypography,
2425
2469
  {
2426
2470
  variant: "P4regular",
2427
- style: styles$s.description,
2471
+ style: styles$r.description,
2428
2472
  text: `Drop files directly here or `
2429
2473
  }
2430
2474
  ), /* @__PURE__ */ React.createElement(
2431
2475
  CustomTypography,
2432
2476
  {
2433
2477
  variant: "P4regular",
2434
- style: styles$s.browse,
2478
+ style: styles$r.browse,
2435
2479
  text: btnText
2436
2480
  }
2437
2481
  ), /* @__PURE__ */ React.createElement(
@@ -2439,14 +2483,14 @@ const FileUpload = ({
2439
2483
  {
2440
2484
  testID: "file-upload-description",
2441
2485
  variant: "P4regular",
2442
- style: styles$s.description,
2486
+ style: styles$r.description,
2443
2487
  text: ` from your device`
2444
2488
  }
2445
2489
  )),
2446
2490
  /* @__PURE__ */ React.createElement(
2447
2491
  Pressable,
2448
2492
  {
2449
- style: styles$s.button,
2493
+ style: styles$r.button,
2450
2494
  onPress: onUpload,
2451
2495
  testID: "file-upload-button"
2452
2496
  },
@@ -2454,7 +2498,7 @@ const FileUpload = ({
2454
2498
  CustomTypography,
2455
2499
  {
2456
2500
  variant: "B2semiBold",
2457
- style: styles$s.buttonText,
2501
+ style: styles$r.buttonText,
2458
2502
  text: btnText
2459
2503
  }
2460
2504
  )
@@ -2466,7 +2510,7 @@ const PdfView = (props) => {
2466
2510
  return /* @__PURE__ */ React.createElement(Pdf, { ...props, trustAllCerts: false });
2467
2511
  };
2468
2512
 
2469
- const styles$r = StyleSheet.create({
2513
+ const styles$q = StyleSheet.create({
2470
2514
  container: {
2471
2515
  padding: horizontalScale(20),
2472
2516
  marginHorizontal: horizontalScale(16),
@@ -2522,39 +2566,39 @@ const PopUp = ({
2522
2566
  leftButtonShown = false,
2523
2567
  rightButtonShown = false
2524
2568
  }) => {
2525
- return /* @__PURE__ */ React.createElement(View, { testID, style: styles$r.container }, title ? /* @__PURE__ */ React.createElement(
2569
+ return /* @__PURE__ */ React.createElement(View, { testID, style: styles$q.container }, title ? /* @__PURE__ */ React.createElement(
2526
2570
  CustomTypography,
2527
2571
  {
2528
- style: styles$r.subTitleBelow,
2572
+ style: styles$q.subTitleBelow,
2529
2573
  variant: "H6semiBold",
2530
2574
  text: title
2531
2575
  }
2532
2576
  ) : null, subtitle ? /* @__PURE__ */ React.createElement(
2533
2577
  CustomTypography,
2534
2578
  {
2535
- style: styles$r.subtitle,
2579
+ style: styles$q.subtitle,
2536
2580
  variant: "P3regular",
2537
2581
  text: subtitle
2538
2582
  }
2539
- ) : null, /* @__PURE__ */ React.createElement(View, { style: styles$r.buttonContainer }, leftButtonShown ? /* @__PURE__ */ React.createElement(
2583
+ ) : null, /* @__PURE__ */ React.createElement(View, { style: styles$q.buttonContainer }, leftButtonShown ? /* @__PURE__ */ React.createElement(
2540
2584
  Pressable,
2541
2585
  {
2542
2586
  testID: "Left-Button-Press",
2543
- style: styles$r.buttonLeft,
2587
+ style: styles$q.buttonLeft,
2544
2588
  onPress: onButtonPress
2545
2589
  },
2546
2590
  /* @__PURE__ */ React.createElement(
2547
2591
  CustomTypography,
2548
2592
  {
2549
- style: styles$r.buttonLeftText,
2593
+ style: styles$q.buttonLeftText,
2550
2594
  variant: "B2semiBold",
2551
2595
  text: buttonText
2552
2596
  }
2553
2597
  )
2554
- ) : null, rightButtonShown ? /* @__PURE__ */ React.createElement(Pressable, { style: styles$r.button, onPress: onButtonPress }, /* @__PURE__ */ React.createElement(
2598
+ ) : null, rightButtonShown ? /* @__PURE__ */ React.createElement(Pressable, { style: styles$q.button, onPress: onButtonPress }, /* @__PURE__ */ React.createElement(
2555
2599
  CustomTypography,
2556
2600
  {
2557
- style: styles$r.buttonText,
2601
+ style: styles$q.buttonText,
2558
2602
  variant: "B2semiBold",
2559
2603
  text: buttonText
2560
2604
  }
@@ -2610,7 +2654,7 @@ const LINE_COLOR_KEYS = {
2610
2654
  unfilledColor: "SURFACE_PRIMARY_TRANSPARENT"
2611
2655
  };
2612
2656
 
2613
- const styles$q = StyleSheet.create({
2657
+ const styles$p = StyleSheet.create({
2614
2658
  lineContainer: {
2615
2659
  flexDirection: "row",
2616
2660
  alignItems: "center",
@@ -2672,7 +2716,7 @@ const CustomProgressBar = ({
2672
2716
  const effectiveLineFillColor = fillColor ?? theme[LINE_COLOR_KEYS.fillColor];
2673
2717
  const effectiveLineUnfilledColor = unfilledColor ?? theme[LINE_COLOR_KEYS.unfilledColor];
2674
2718
  const effectiveLineHeight = height ?? LINE_DEFAULTS.trackHeight;
2675
- const renderCircleCenter = () => /* @__PURE__ */ React.createElement(View, { style: styles$q.circleCenter }, /* @__PURE__ */ React.createElement(
2719
+ const renderCircleCenter = () => /* @__PURE__ */ React.createElement(View, { style: styles$p.circleCenter }, /* @__PURE__ */ React.createElement(
2676
2720
  CustomText$1,
2677
2721
  {
2678
2722
  text: `${progress}%`,
@@ -2695,7 +2739,7 @@ const CustomProgressBar = ({
2695
2739
  return /* @__PURE__ */ React.createElement(
2696
2740
  View,
2697
2741
  {
2698
- style: [styles$q.lineContainer, isRTL && styles$q.lineContainerRTL],
2742
+ style: [styles$p.lineContainer, isRTL && styles$p.lineContainerRTL],
2699
2743
  testID: "custom-progress-bar-line-wrapper"
2700
2744
  },
2701
2745
  /* @__PURE__ */ React.createElement(
@@ -2744,7 +2788,7 @@ const CustomProgressBar = ({
2744
2788
  };
2745
2789
  var CustomProgressBar$1 = withThemeProvider(CustomProgressBar);
2746
2790
 
2747
- const styles$p = StyleSheet.create({
2791
+ const styles$o = StyleSheet.create({
2748
2792
  container: {
2749
2793
  flexDirection: "row",
2750
2794
  alignItems: "center"
@@ -2810,13 +2854,13 @@ const Star = ({
2810
2854
  emptyStarColor
2811
2855
  );
2812
2856
  stars.push(
2813
- /* @__PURE__ */ React.createElement(View, { key: i, style: [styles$p.star, starStyle] }, starType)
2857
+ /* @__PURE__ */ React.createElement(View, { key: i, style: [styles$o.star, starStyle] }, starType)
2814
2858
  );
2815
2859
  }
2816
- return /* @__PURE__ */ React.createElement(View, { style: styles$p.container, testID: "star" }, stars);
2860
+ return /* @__PURE__ */ React.createElement(View, { style: styles$o.container, testID: "star" }, stars);
2817
2861
  };
2818
2862
 
2819
- var styles$o = StyleSheet.create({
2863
+ var styles$n = StyleSheet.create({
2820
2864
  container: {
2821
2865
  flexDirection: "row",
2822
2866
  gap: DHRE_PADDING.SM,
@@ -2872,12 +2916,12 @@ const Tabs = ({
2872
2916
  onSelectionChange(selectedTabs);
2873
2917
  }
2874
2918
  };
2875
- return /* @__PURE__ */ React.createElement(View, { style: [styles$o.container, style] }, data?.map(({ id, title, isSelected }) => /* @__PURE__ */ React.createElement(
2919
+ return /* @__PURE__ */ React.createElement(View, { style: [styles$n.container, style] }, data?.map(({ id, title, isSelected }) => /* @__PURE__ */ React.createElement(
2876
2920
  Pressable,
2877
2921
  {
2878
2922
  key: id,
2879
2923
  style: {
2880
- ...styles$o.button,
2924
+ ...styles$n.button,
2881
2925
  backgroundColor: isSelected ? theme.SURFACE_INVERTED : theme.SURFACE_SECONDARY,
2882
2926
  borderColor: isSelected ? theme.SURFACE_INVERTED : theme.STROKE_TERTIARY
2883
2927
  },
@@ -2888,7 +2932,7 @@ const Tabs = ({
2888
2932
  {
2889
2933
  variant: FontStyle.BODY1_MEDIUM,
2890
2934
  style: {
2891
- ...styles$o.textStyle,
2935
+ ...styles$n.textStyle,
2892
2936
  color: isSelected ? theme.CONTENT_INVERTED : theme.CONTENT_PRIMARY
2893
2937
  },
2894
2938
  text: title
@@ -2898,7 +2942,7 @@ const Tabs = ({
2898
2942
  };
2899
2943
  var Tabs$1 = withThemeProvider(Tabs);
2900
2944
 
2901
- const styles$n = StyleSheet.create({
2945
+ const styles$m = StyleSheet.create({
2902
2946
  container: {
2903
2947
  width: "100%"
2904
2948
  },
@@ -2961,8 +3005,8 @@ const Tags = ({
2961
3005
  ScrollView,
2962
3006
  {
2963
3007
  testID,
2964
- style: styles$n.container,
2965
- contentContainerStyle: styles$n.contentContainer,
3008
+ style: styles$m.container,
3009
+ contentContainerStyle: styles$m.contentContainer,
2966
3010
  horizontal: false
2967
3011
  },
2968
3012
  tags?.map((tag) => /* @__PURE__ */ React.createElement(
@@ -2972,16 +3016,16 @@ const Tags = ({
2972
3016
  key: tag,
2973
3017
  onPress: () => toggleTag(tag),
2974
3018
  style: [
2975
- styles$n.tag,
3019
+ styles$m.tag,
2976
3020
  tagStyles,
2977
- selectedTags.includes(tag) ? styles$n.selectedTag : styles$n.tagUnSelected
3021
+ selectedTags.includes(tag) ? styles$m.selectedTag : styles$m.tagUnSelected
2978
3022
  ]
2979
3023
  },
2980
3024
  /* @__PURE__ */ React.createElement(
2981
3025
  CustomTypography,
2982
3026
  {
2983
3027
  variant: selectedTags.includes(tag) ? "H9semiBold" : "P4regular",
2984
- style: selectedTags.includes(tag) ? styles$n.tagText : styles$n.tagUnselectedText,
3028
+ style: selectedTags.includes(tag) ? styles$m.tagText : styles$m.tagUnselectedText,
2985
3029
  text: tag
2986
3030
  }
2987
3031
  ),
@@ -2997,7 +3041,7 @@ const Tags = ({
2997
3041
  );
2998
3042
  };
2999
3043
 
3000
- const styles$m = StyleSheet.create({
3044
+ const styles$l = StyleSheet.create({
3001
3045
  container: {
3002
3046
  width: horizontalScale(70),
3003
3047
  height: verticalScale(25),
@@ -3062,26 +3106,26 @@ const CustomSwitch = ({
3062
3106
  Pressable,
3063
3107
  {
3064
3108
  onPress: toggleSwitch,
3065
- style: [styles$m.container, { width }],
3109
+ style: [styles$l.container, { width }],
3066
3110
  testID: "custom-switch"
3067
3111
  },
3068
3112
  /* @__PURE__ */ React.createElement(
3069
3113
  View,
3070
3114
  {
3071
3115
  style: [
3072
- styles$m.track,
3116
+ styles$l.track,
3073
3117
  {
3074
3118
  backgroundColor: isOn ? DHRE_COLORS_ALERT.DH_SUCCESS_GREEN_ACCENT : DHRE_COLORS_TEXT.DH_TEXTDISABLED
3075
3119
  }
3076
3120
  ]
3077
3121
  },
3078
- /* @__PURE__ */ React.createElement(Animated.View, { style: [styles$m.thumb, animatedStyle] }),
3122
+ /* @__PURE__ */ React.createElement(Animated.View, { style: [styles$l.thumb, animatedStyle] }),
3079
3123
  type !== ToggleButtonType.SMALL && /* @__PURE__ */ React.createElement(
3080
3124
  CustomTypography,
3081
3125
  {
3082
3126
  variant: "B3semiBold",
3083
3127
  style: [
3084
- styles$m.text,
3128
+ styles$l.text,
3085
3129
  { textAlign: isOn ? TextDirectType.left : TextDirectType.right }
3086
3130
  ],
3087
3131
  text: isOn ? ToggleTextType.ON : ToggleTextType.OFF
@@ -3091,10 +3135,9 @@ const CustomSwitch = ({
3091
3135
  );
3092
3136
  };
3093
3137
 
3094
- const styles$l = StyleSheet.create({
3138
+ const styles$k = StyleSheet.create({
3095
3139
  container: {
3096
- paddingVertical: DHRE_PADDING.LG,
3097
- borderBottomWidth: moderateScale(1)
3140
+ paddingVertical: DHRE_PADDING.LG
3098
3141
  },
3099
3142
  header: {
3100
3143
  flexDirection: "row",
@@ -3151,18 +3194,19 @@ const Accordion = ({
3151
3194
  return /* @__PURE__ */ React.createElement(
3152
3195
  View,
3153
3196
  {
3154
- style: [{
3155
- ...styles$l.container,
3156
- borderBottomColor: theme.SURFACE_PRIMARY_TRANSPARENT,
3157
- ...containerStyle,
3158
- borderRadius: 0
3159
- }],
3197
+ style: [
3198
+ {
3199
+ ...styles$k.container,
3200
+ borderRadius: 0,
3201
+ ...containerStyle
3202
+ }
3203
+ ],
3160
3204
  testID: testId
3161
3205
  },
3162
3206
  /* @__PURE__ */ React.createElement(
3163
3207
  Pressable,
3164
3208
  {
3165
- style: [styles$l.header, headerStyle, disabled && { opacity: 0.5 }],
3209
+ style: [styles$k.header, headerStyle, disabled && { opacity: 0.5 }],
3166
3210
  onPressOut: !disabled ? onToggle : void 0
3167
3211
  },
3168
3212
  headerComponent ? headerComponent() : /* @__PURE__ */ React.createElement(
@@ -3171,7 +3215,7 @@ const Accordion = ({
3171
3215
  variant: titleVariant,
3172
3216
  text: title,
3173
3217
  style: {
3174
- ...styles$l.title,
3218
+ ...styles$k.title,
3175
3219
  color: theme.CONTENT_PRIMARY,
3176
3220
  ...titleStyle
3177
3221
  }
@@ -3180,25 +3224,31 @@ const Accordion = ({
3180
3224
  icon ? React.cloneElement(icon, {
3181
3225
  width: DHRE_SPACING_BASE.SPACE_20,
3182
3226
  height: DHRE_SPACING_BASE.SPACE_20,
3183
- style: styles$l.iconStyle
3227
+ style: styles$k.iconStyle
3184
3228
  }) : null
3185
3229
  ),
3186
3230
  optionalElement ? optionalElement() : null,
3187
- isOpen && /* @__PURE__ */ React.createElement(Animated.View, { style: [styles$l.content, slideAnimation && { height: cardHeight }] }, /* @__PURE__ */ React.createElement(
3188
- View,
3231
+ isOpen && /* @__PURE__ */ React.createElement(
3232
+ Animated.View,
3189
3233
  {
3190
- ref: contentRef,
3191
- onLayout: (event) => {
3192
- setContentHeight(event.nativeEvent.layout.height);
3193
- }
3234
+ style: [styles$k.content, slideAnimation && { height: cardHeight }]
3194
3235
  },
3195
- children
3196
- ))
3236
+ /* @__PURE__ */ React.createElement(
3237
+ View,
3238
+ {
3239
+ ref: contentRef,
3240
+ onLayout: (event) => {
3241
+ setContentHeight(event.nativeEvent.layout.height);
3242
+ }
3243
+ },
3244
+ children
3245
+ )
3246
+ )
3197
3247
  );
3198
3248
  };
3199
3249
  var Accordion$1 = withThemeProvider(Accordion);
3200
3250
 
3201
- const styles$k = StyleSheet.create({
3251
+ const styles$j = StyleSheet.create({
3202
3252
  container: {
3203
3253
  position: "absolute",
3204
3254
  alignSelf: "center",
@@ -3317,20 +3367,20 @@ const Toast = React.forwardRef(
3317
3367
  Animated.View,
3318
3368
  {
3319
3369
  style: [
3320
- styles$k.container,
3370
+ styles$j.container,
3321
3371
  { bottom },
3322
3372
  { backgroundColor: theme.SURFACE_TERTIARY }
3323
3373
  ],
3324
3374
  testID: "TOAST"
3325
3375
  },
3326
- /* @__PURE__ */ React.createElement(View, { style: styles$k.toastContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$k.innerContainer }, /* @__PURE__ */ React.createElement(Pressable, { onPress: hideToast, style: styles$k.icon }, isSuccess ? sucessIcon : warning ? warningIcon : errorIcon), /* @__PURE__ */ React.createElement(View, { style: styles$k.textContainer }, /* @__PURE__ */ React.createElement(
3376
+ /* @__PURE__ */ React.createElement(View, { style: styles$j.toastContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$j.innerContainer }, /* @__PURE__ */ React.createElement(Pressable, { onPress: hideToast, style: styles$j.icon }, isSuccess ? sucessIcon : warning ? warningIcon : errorIcon), /* @__PURE__ */ React.createElement(View, { style: styles$j.textContainer }, /* @__PURE__ */ React.createElement(
3327
3377
  CustomTypography,
3328
3378
  {
3329
3379
  variant: "BODY2_LIGHT",
3330
3380
  text: message,
3331
- style: [styles$k.messageText, { color: theme.CONTENT_SECONDRY }]
3381
+ style: [styles$j.messageText, { color: theme.CONTENT_SECONDRY }]
3332
3382
  }
3333
- ), subjectText && /* @__PURE__ */ React.createElement(View, { style: styles$k.subContainer }, /* @__PURE__ */ React.createElement(
3383
+ ), subjectText && /* @__PURE__ */ React.createElement(View, { style: styles$j.subContainer }, /* @__PURE__ */ React.createElement(
3334
3384
  Button,
3335
3385
  {
3336
3386
  title: subjectText,
@@ -3355,7 +3405,7 @@ const Toast = React.forwardRef(
3355
3405
  Animated.View,
3356
3406
  {
3357
3407
  style: [
3358
- styles$k.progressBar,
3408
+ styles$j.progressBar,
3359
3409
  {
3360
3410
  width: progressAnim,
3361
3411
  backgroundColor: accentColor
@@ -3372,7 +3422,7 @@ const ToastWithProvider = React.forwardRef(
3372
3422
  );
3373
3423
  ToastWithProvider.displayName = "Toast";
3374
3424
 
3375
- const styles$j = StyleSheet.create({
3425
+ const styles$i = StyleSheet.create({
3376
3426
  inputContainer: {
3377
3427
  flexDirection: "row",
3378
3428
  justifyContent: "center",
@@ -3451,8 +3501,8 @@ const CustomSearchBar = ({
3451
3501
  {
3452
3502
  testID,
3453
3503
  style: [
3454
- styles$j.inputContainer,
3455
- size === "small" ? styles$j.inputContainerSmall : styles$j.inputContainerLarge,
3504
+ styles$i.inputContainer,
3505
+ size === "small" ? styles$i.inputContainerSmall : styles$i.inputContainerLarge,
3456
3506
  {
3457
3507
  ...height !== void 0 && { height: verticalScale(height) },
3458
3508
  backgroundColor: disabled ? theme[Theme.SURFACE_PRIMARY] : theme[Theme.SURFACE_PRIMARY_TRANSPARENT],
@@ -3474,7 +3524,7 @@ const CustomSearchBar = ({
3474
3524
  React.cloneElement(searchIcon, {
3475
3525
  width: DHRE_SPACING.LG,
3476
3526
  height: DHRE_SPACING.LG,
3477
- style: [styles$j.searchIconStyle, searchIconStyle]
3527
+ style: [styles$i.searchIconStyle, searchIconStyle]
3478
3528
  })
3479
3529
  ),
3480
3530
  /* @__PURE__ */ React.createElement(
@@ -3483,7 +3533,7 @@ const CustomSearchBar = ({
3483
3533
  ...props,
3484
3534
  testID: `${testID}-INPUT`,
3485
3535
  style: [
3486
- styles$j.input,
3536
+ styles$i.input,
3487
3537
  { color: theme[Theme.CONTENT_PRIMARY] },
3488
3538
  inputStyle
3489
3539
  ],
@@ -3518,14 +3568,14 @@ const CustomSearchBar = ({
3518
3568
  React.cloneElement(rightIcon, {
3519
3569
  // width: moderateScale(24),
3520
3570
  // height: moderateScale(24),
3521
- style: [styles$j.crossIconStyle, crossIconStyle]
3571
+ style: [styles$i.crossIconStyle, crossIconStyle]
3522
3572
  })
3523
3573
  )
3524
3574
  );
3525
3575
  };
3526
3576
  var CustomSearchBar$1 = withThemeProvider(CustomSearchBar);
3527
3577
 
3528
- const styles$i = StyleSheet.create({
3578
+ const styles$h = StyleSheet.create({
3529
3579
  container: {
3530
3580
  flexDirection: "row",
3531
3581
  justifyContent: "space-between",
@@ -3559,7 +3609,7 @@ const CustomHeader = ({
3559
3609
  rightIcons
3560
3610
  }) => {
3561
3611
  const { theme } = useTheme();
3562
- return /* @__PURE__ */ React.createElement(View, { style: styles$i.container, testID: testId }, /* @__PURE__ */ React.createElement(View, { style: styles$i.pageTitleContainer }, leftIcon && /* @__PURE__ */ React.createElement(HeaderIcon, { config: leftIcon }), /* @__PURE__ */ React.createElement(
3612
+ return /* @__PURE__ */ React.createElement(View, { style: styles$h.container, testID: testId }, /* @__PURE__ */ React.createElement(View, { style: styles$h.pageTitleContainer }, leftIcon && /* @__PURE__ */ React.createElement(HeaderIcon, { config: leftIcon }), /* @__PURE__ */ React.createElement(
3563
3613
  CustomTypography,
3564
3614
  {
3565
3615
  variant: "BODY1_MEDIUM",
@@ -3569,11 +3619,11 @@ const CustomHeader = ({
3569
3619
  ), titleSuffixIcon && React.cloneElement(titleSuffixIcon, {
3570
3620
  width: ICON_SIZE,
3571
3621
  height: ICON_SIZE
3572
- })), rightIcons && rightIcons.length > 0 && /* @__PURE__ */ React.createElement(View, { style: styles$i.iconsContainer }, rightIcons.map((config, index) => /* @__PURE__ */ React.createElement(HeaderIcon, { key: index, config }))));
3622
+ })), rightIcons && rightIcons.length > 0 && /* @__PURE__ */ React.createElement(View, { style: styles$h.iconsContainer }, rightIcons.map((config, index) => /* @__PURE__ */ React.createElement(HeaderIcon, { key: index, config }))));
3573
3623
  };
3574
3624
  var CustomHeader$1 = withThemeProvider(CustomHeader);
3575
3625
 
3576
- const styles$h = StyleSheet.create({
3626
+ const styles$g = StyleSheet.create({
3577
3627
  container: {
3578
3628
  flex: 1
3579
3629
  },
@@ -3603,14 +3653,14 @@ const ActionButton = ({
3603
3653
  {
3604
3654
  testID,
3605
3655
  onPress,
3606
- style: [styles$h.actionButton, style]
3656
+ style: [styles$g.actionButton, style]
3607
3657
  },
3608
3658
  icon,
3609
3659
  /* @__PURE__ */ React.createElement(
3610
3660
  CustomTypography,
3611
3661
  {
3612
3662
  variant: "L1_REGULAR",
3613
- style: [styles$h.titleStyle, titleStyle],
3663
+ style: [styles$g.titleStyle, titleStyle],
3614
3664
  text: title
3615
3665
  }
3616
3666
  )
@@ -3651,7 +3701,7 @@ const SwipableList = (props) => {
3651
3701
  return id;
3652
3702
  });
3653
3703
  }, []);
3654
- const leftActionHandle = (item, leftPrimaryActionIcon, leftPrimaryActionTitle, leftSecondaryActionIcon, leftSecondaryActionTitle) => /* @__PURE__ */ React.createElement(View, { style: styles$h.actionBtn }, leftPrimaryActionIcon && /* @__PURE__ */ React.createElement(
3704
+ const leftActionHandle = (item, leftPrimaryActionIcon, leftPrimaryActionTitle, leftSecondaryActionIcon, leftSecondaryActionTitle) => /* @__PURE__ */ React.createElement(View, { style: styles$g.actionBtn }, leftPrimaryActionIcon && /* @__PURE__ */ React.createElement(
3655
3705
  ActionButton,
3656
3706
  {
3657
3707
  icon: leftPrimaryActionIcon,
@@ -3678,7 +3728,7 @@ const SwipableList = (props) => {
3678
3728
  titleStyle
3679
3729
  }
3680
3730
  ));
3681
- const rightActionHandle = (item) => /* @__PURE__ */ React.createElement(View, { style: [styles$h.actionBtn, rightPrimaryActionStyle] }, rightPrimaryActionIcon && /* @__PURE__ */ React.createElement(
3731
+ const rightActionHandle = (item) => /* @__PURE__ */ React.createElement(View, { style: [styles$g.actionBtn, rightPrimaryActionStyle] }, rightPrimaryActionIcon && /* @__PURE__ */ React.createElement(
3682
3732
  ActionButton,
3683
3733
  {
3684
3734
  icon: rightPrimaryActionIcon,
@@ -3692,7 +3742,7 @@ const SwipableList = (props) => {
3692
3742
  titleStyle
3693
3743
  }
3694
3744
  ));
3695
- const renderItem = ({ item }) => /* @__PURE__ */ React.createElement(View, { testID: `${testId}-LIST`, style: styles$h.container }, /* @__PURE__ */ React.createElement(
3745
+ const renderItem = ({ item }) => /* @__PURE__ */ React.createElement(View, { testID: `${testId}-LIST`, style: styles$g.container }, /* @__PURE__ */ React.createElement(
3696
3746
  Swipeable,
3697
3747
  {
3698
3748
  ref: (ref) => swipeableRefs.current[item.id] = ref,
@@ -3718,7 +3768,7 @@ const SwipableList = (props) => {
3718
3768
  View,
3719
3769
  {
3720
3770
  style: {
3721
- ...styles$h.seperator,
3771
+ ...styles$g.seperator,
3722
3772
  backgroundColor: theme.BORDER_SEPRATOR
3723
3773
  }
3724
3774
  }
@@ -3728,7 +3778,15 @@ const SwipableList = (props) => {
3728
3778
  };
3729
3779
  var SwipableList$1 = withThemeProvider(SwipableList);
3730
3780
 
3731
- const styles$g = StyleSheet.create({
3781
+ const OUTLINED_GRADIENT_COLORS = [
3782
+ DHRE_CYAN_HIGHLIGHT[300],
3783
+ "#438CB1"
3784
+ ];
3785
+ const OUTLINED_GRADIENT_START = { x: 0, y: 0 };
3786
+ const OUTLINED_GRADIENT_END = { x: 1, y: 1 };
3787
+ const OUTLINED_BORDER_WIDTH = 1;
3788
+
3789
+ const styles$f = StyleSheet.create({
3732
3790
  container: {
3733
3791
  justifyContent: "center",
3734
3792
  alignItems: "center"
@@ -3768,13 +3826,6 @@ const ICON_BLUR_TYPE_STYLE = StyleSheet.create({
3768
3826
  overflow: "hidden"
3769
3827
  }
3770
3828
  });
3771
- const OUTLINED_GRADIENT_COLORS = [
3772
- DHRE_CYAN_HIGHLIGHT[300],
3773
- "#438CB1"
3774
- ];
3775
- const OUTLINED_GRADIENT_START = { x: 0, y: 0 };
3776
- const OUTLINED_GRADIENT_END = { x: 1, y: 1 };
3777
- const OUTLINED_BORDER_WIDTH = 1;
3778
3829
  const OUTLINED_BUTTON_STYLES = StyleSheet.create({
3779
3830
  shell: {
3780
3831
  borderRadius: ICON_BUTTON_RADIUS,
@@ -3823,7 +3874,8 @@ const CustomIcon = ({
3823
3874
  titleStyle,
3824
3875
  type,
3825
3876
  size = "large",
3826
- labelPosition
3877
+ labelPosition,
3878
+ outlinedBackgroundColor
3827
3879
  }) => {
3828
3880
  const { theme } = useTheme();
3829
3881
  const sizeSpec = size ? ICON_SIZE_SPEC[size] : null;
@@ -3892,7 +3944,7 @@ const CustomIcon = ({
3892
3944
  {
3893
3945
  width: innerSize,
3894
3946
  height: innerSize,
3895
- backgroundColor: theme[Theme.SURFACE_PRIMARY],
3947
+ backgroundColor: outlinedBackgroundColor ?? theme[Theme.SURFACE_PRIMARY],
3896
3948
  padding
3897
3949
  }
3898
3950
  ]
@@ -3915,7 +3967,7 @@ const CustomIcon = ({
3915
3967
  return renderOutlinedButton();
3916
3968
  }
3917
3969
  };
3918
- const outerStyle = labelPosition ? [ICON_LABEL_POSITION_STYLES[labelPosition], containerStyle ?? {}] : [styles$g.container, containerStyle ?? {}];
3970
+ const outerStyle = labelPosition ? [ICON_LABEL_POSITION_STYLES[labelPosition], containerStyle ?? {}] : [styles$f.container, containerStyle ?? {}];
3919
3971
  const resolvedTitleColor = type ? { color: theme[Theme.CONTENT_PRIMARY] } : void 0;
3920
3972
  const resolvedTitleVariant = titleVariant ?? ICON_TITLE_VARIANT_FOR_SIZE[size ?? "large"];
3921
3973
  return /* @__PURE__ */ React.createElement(
@@ -3931,14 +3983,14 @@ const CustomIcon = ({
3931
3983
  {
3932
3984
  variant: resolvedTitleVariant,
3933
3985
  text: title,
3934
- style: [styles$g.title, resolvedTitleColor, titleStyle]
3986
+ style: [styles$f.title, resolvedTitleColor, titleStyle]
3935
3987
  }
3936
3988
  )
3937
3989
  );
3938
3990
  };
3939
3991
  var CustomIcon$1 = withThemeProvider(CustomIcon);
3940
3992
 
3941
- const createStyles$5 = (theme) => {
3993
+ const createStyles$6 = (theme) => {
3942
3994
  return StyleSheet.create({
3943
3995
  container: {
3944
3996
  position: "absolute",
@@ -10139,7 +10191,7 @@ const CustomLoader = ({
10139
10191
  customeBox
10140
10192
  }) => {
10141
10193
  const { theme, mode } = useTheme();
10142
- const styles = createStyles$5(theme);
10194
+ const styles = createStyles$6(theme);
10143
10195
  const isDP = brandName === "DP";
10144
10196
  const isNakheel = brandName === "Nakheel";
10145
10197
  if (!loading) return null;
@@ -10179,7 +10231,7 @@ const CustomLoader = ({
10179
10231
  };
10180
10232
  var CustomLoader$1 = withThemeProvider(CustomLoader);
10181
10233
 
10182
- const createStyles$4 = (scaledSize, color) => StyleSheet.create({
10234
+ const createStyles$5 = (scaledSize, color) => StyleSheet.create({
10183
10235
  // Full-screen absolute overlay — mirrors CustomLoader `container`
10184
10236
  container: {
10185
10237
  position: "absolute",
@@ -10301,7 +10353,7 @@ const LoaderContent = ({
10301
10353
  }, []);
10302
10354
  const color = theme[Theme.CONTENT_PRIMARY];
10303
10355
  const styles = useMemo(
10304
- () => createStyles$4(scaledSize, color),
10356
+ () => createStyles$5(scaledSize, color),
10305
10357
  [scaledSize, color]
10306
10358
  );
10307
10359
  return /* @__PURE__ */ React.createElement(View, { style: [styles.container, containerStyle], testID }, /* @__PURE__ */ React.createElement(View, { style: [styles.backdrop, backdropStyle] }, /* @__PURE__ */ React.createElement(View, { style: [styles.box, boxStyle] }, /* @__PURE__ */ React.createElement(
@@ -10365,14 +10417,14 @@ const HorizontalLine = ({ backgroundColor = "SURFACE_SECONDARY", style }) => {
10365
10417
  View,
10366
10418
  {
10367
10419
  style: [
10368
- styles$f.line,
10420
+ styles$e.line,
10369
10421
  { backgroundColor: theme[backgroundColor] },
10370
10422
  style
10371
10423
  ]
10372
10424
  }
10373
10425
  );
10374
10426
  };
10375
- const styles$f = StyleSheet.create({
10427
+ const styles$e = StyleSheet.create({
10376
10428
  line: {
10377
10429
  height: 1,
10378
10430
  width: "100%"
@@ -10395,18 +10447,18 @@ const Topic = ({
10395
10447
  TouchableOpacity,
10396
10448
  {
10397
10449
  style: [
10398
- styles$e.button,
10450
+ styles$d.button,
10399
10451
  { backgroundColor: theme[Theme.SURFACE_SECONDARY] },
10400
10452
  containterStyle
10401
10453
  ],
10402
10454
  onPress
10403
10455
  },
10404
- rightIcon && /* @__PURE__ */ React.createElement(View, { style: styles$e.rightIconContainer }, React.cloneElement(rightIcon)),
10405
- /* @__PURE__ */ React.createElement(View, { style: styles$e.timeContainer }, time && /* @__PURE__ */ React.createElement(CustomText$1, { text: time, variant: FontStyle.L2_REGULAR })),
10406
- /* @__PURE__ */ React.createElement(View, { style: styles$e.textContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$e.paymentView }, statusImage && /* @__PURE__ */ React.createElement(View, null, React.cloneElement(statusImage)), subTitle && /* @__PURE__ */ React.createElement(
10456
+ rightIcon && /* @__PURE__ */ React.createElement(View, { style: styles$d.rightIconContainer }, React.cloneElement(rightIcon)),
10457
+ /* @__PURE__ */ React.createElement(View, { style: styles$d.timeContainer }, time && /* @__PURE__ */ React.createElement(CustomText$1, { text: time, variant: FontStyle.L2_REGULAR })),
10458
+ /* @__PURE__ */ React.createElement(View, { style: styles$d.textContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$d.paymentView }, statusImage && /* @__PURE__ */ React.createElement(View, null, React.cloneElement(statusImage)), subTitle && /* @__PURE__ */ React.createElement(
10407
10459
  CustomText$1,
10408
10460
  {
10409
- style: [styles$e.subTitle, subTitleStyle],
10461
+ style: [styles$d.subTitle, subTitleStyle],
10410
10462
  text: subTitle,
10411
10463
  variant: FontStyle.L2_REGULAR,
10412
10464
  textColor: Theme.CONTENT_PRIMARY
@@ -10421,7 +10473,7 @@ const Topic = ({
10421
10473
  ))
10422
10474
  );
10423
10475
  };
10424
- const styles$e = StyleSheet.create({
10476
+ const styles$d = StyleSheet.create({
10425
10477
  button: {
10426
10478
  flexDirection: "row",
10427
10479
  alignItems: "center",
@@ -10517,14 +10569,14 @@ const ContactModal = ({
10517
10569
  const renderEmailOptions = () => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
10518
10570
  CustomText$1,
10519
10571
  {
10520
- style: styles$d.title,
10572
+ style: styles$c.title,
10521
10573
  text: "Open email app",
10522
10574
  variant: "L2_REGULAR"
10523
10575
  }
10524
10576
  ), /* @__PURE__ */ React.createElement(
10525
10577
  CustomText$1,
10526
10578
  {
10527
- style: styles$d.subtitle,
10579
+ style: styles$c.subtitle,
10528
10580
  text: "Which app would you like to open?",
10529
10581
  variant: "L2_REGULAR"
10530
10582
  }
@@ -10532,33 +10584,33 @@ const ContactModal = ({
10532
10584
  Pressable,
10533
10585
  {
10534
10586
  onPress: () => handleOptionPress(),
10535
- style: styles$d.optionButton
10587
+ style: styles$c.optionButton
10536
10588
  },
10537
10589
  /* @__PURE__ */ React.createElement(
10538
10590
  CustomText$1,
10539
10591
  {
10540
- style: styles$d.optionText,
10592
+ style: styles$c.optionText,
10541
10593
  text: option,
10542
10594
  variant: "B3_BOLD"
10543
10595
  }
10544
10596
  )
10545
10597
  ))));
10546
- const renderContent = () => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(View, { style: styles$d.viewContainer }, isMailOpen ? renderEmailOptions() : /* @__PURE__ */ React.createElement(Pressable, { onPress: handleCall, style: styles$d.optionButton }, /* @__PURE__ */ React.createElement(
10598
+ const renderContent = () => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(View, { style: styles$c.viewContainer }, isMailOpen ? renderEmailOptions() : /* @__PURE__ */ React.createElement(Pressable, { onPress: handleCall, style: styles$c.optionButton }, /* @__PURE__ */ React.createElement(
10547
10599
  CustomText$1,
10548
10600
  {
10549
- style: styles$d.optionText,
10601
+ style: styles$c.optionText,
10550
10602
  text: `Call ${phoneNumber}`,
10551
10603
  variant: "B3_BOLD"
10552
10604
  }
10553
- ))), /* @__PURE__ */ React.createElement(Pressable, { onPress: onClose, style: styles$d.cancelButton }, /* @__PURE__ */ React.createElement(
10605
+ ))), /* @__PURE__ */ React.createElement(Pressable, { onPress: onClose, style: styles$c.cancelButton }, /* @__PURE__ */ React.createElement(
10554
10606
  CustomText$1,
10555
10607
  {
10556
- style: styles$d.cancelText,
10608
+ style: styles$c.cancelText,
10557
10609
  text: "Cancel",
10558
10610
  variant: "B2_REGULAR"
10559
10611
  }
10560
10612
  )));
10561
- return /* @__PURE__ */ React.createElement(View, { style: styles$d.container }, /* @__PURE__ */ React.createElement(
10613
+ return /* @__PURE__ */ React.createElement(View, { style: styles$c.container }, /* @__PURE__ */ React.createElement(
10562
10614
  Modal$1,
10563
10615
  {
10564
10616
  animationType: "slide",
@@ -10566,10 +10618,10 @@ const ContactModal = ({
10566
10618
  visible,
10567
10619
  onRequestClose: onClose
10568
10620
  },
10569
- /* @__PURE__ */ React.createElement(View, { style: styles$d.modalContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$d.modalContent }, renderContent()))
10621
+ /* @__PURE__ */ React.createElement(View, { style: styles$c.modalContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$c.modalContent }, renderContent()))
10570
10622
  ));
10571
10623
  };
10572
- const styles$d = StyleSheet.create({
10624
+ const styles$c = StyleSheet.create({
10573
10625
  container: {
10574
10626
  flex: 1,
10575
10627
  justifyContent: "center",
@@ -10631,26 +10683,76 @@ const styles$d = StyleSheet.create({
10631
10683
  });
10632
10684
  var ContactModel = withThemeProvider(ContactModal);
10633
10685
 
10634
- const styles$c = StyleSheet.create({
10686
+ const styles$b = StyleSheet.create({
10687
+ // Outer card: wraps Calendar (which includes the custom header via renderHeader)
10688
+ // and provides the dark-blue background + rounded corners.
10689
+ calendarCard: {
10690
+ borderRadius: moderateScale(12),
10691
+ padding: moderateScale(16),
10692
+ overflow: "hidden"
10693
+ },
10694
+ // Rendered via Calendar's renderHeader prop — sits inside the card layout tree.
10695
+ // flex: 1 is required so justifyContent: 'space-between' works across the full row.
10696
+ calendarHeader: {
10697
+ flex: 1,
10698
+ flexDirection: "row",
10699
+ justifyContent: "space-between",
10700
+ alignItems: "center",
10701
+ paddingBottom: verticalScale(16),
10702
+ borderBottomWidth: 1
10703
+ },
10704
+ monthText: {
10705
+ fontSize: 14,
10706
+ fontWeight: "300",
10707
+ lineHeight: 18
10708
+ },
10709
+ arrowsContainer: {
10710
+ flexDirection: "row",
10711
+ gap: horizontalScale(24)
10712
+ },
10635
10713
  applyButton: {
10636
- marginTop: verticalScale(50),
10637
- paddingVertical: verticalScale(14),
10714
+ marginTop: verticalScale(16),
10715
+ height: verticalScale(48),
10716
+ minHeight: verticalScale(48),
10717
+ paddingHorizontal: horizontalScale(24),
10718
+ paddingVertical: verticalScale(12),
10638
10719
  justifyContent: "center",
10639
10720
  alignItems: "center",
10640
- borderRadius: 0
10641
- },
10642
- applyButtonText: {
10643
- ...FONT_STYLES.L1_REGULAR
10721
+ borderRadius: moderateScale(100),
10722
+ borderWidth: 1
10644
10723
  }
10645
10724
  });
10646
10725
 
10647
10726
  const DateRangePicker = (props) => {
10648
- const { onButtonPress, btnTitle = "Apply" } = props;
10727
+ const {
10728
+ onButtonPress,
10729
+ btnTitle = "Apply",
10730
+ style: _consumerStyle,
10731
+ theme: _consumerTheme,
10732
+ ...calendarProps
10733
+ } = props;
10649
10734
  const [selectedRange, setSelectedRange] = useState({
10650
10735
  startDate: "",
10651
10736
  endDate: ""
10652
10737
  });
10653
- const { theme, mode } = useTheme();
10738
+ const [currentMonth, setCurrentMonth] = useState(/* @__PURE__ */ new Date());
10739
+ const { theme } = useTheme();
10740
+ const prevMonth = () => setCurrentMonth((prev) => {
10741
+ const d = new Date(prev);
10742
+ d.setMonth(d.getMonth() - 1);
10743
+ return d;
10744
+ });
10745
+ const nextMonth = () => setCurrentMonth((prev) => {
10746
+ const d = new Date(prev);
10747
+ d.setMonth(d.getMonth() + 1);
10748
+ return d;
10749
+ });
10750
+ const monthKey = `${currentMonth.getFullYear()}-${currentMonth.getMonth()}`;
10751
+ const currentDateStr = currentMonth.toISOString().split("T")[0];
10752
+ const monthLabel = currentMonth.toLocaleDateString("en-US", {
10753
+ month: "long",
10754
+ year: "numeric"
10755
+ });
10654
10756
  const onDayPress = (day) => {
10655
10757
  const { dateString } = day;
10656
10758
  const { startDate, endDate } = selectedRange;
@@ -10673,64 +10775,176 @@ const DateRangePicker = (props) => {
10673
10775
  while (start < end) {
10674
10776
  start.setDate(start.getDate() + 1);
10675
10777
  markedDates[start.toISOString().split("T")[0]] = {
10676
- color: NAKHEEL_DEFAULT.NAKHEEL_BACKGROUND_SANDY,
10677
- textColor: NAKHEEL_DEFAULT.NAKHEEL_TEXT_COLOR
10778
+ color: theme.SURFACE_PRIMARY_TRANSPARENT,
10779
+ textColor: theme.CONTENT_PRIMARY
10678
10780
  };
10679
10781
  }
10680
10782
  }
10681
10783
  if (startDate) {
10682
10784
  markedDates[startDate] = {
10683
10785
  startingDay: true,
10684
- textColor: theme.SURFACE_SECONDARY,
10685
- customContainerStyle: mode === "dark" ? { backgroundColor: theme.SURFACE_INVERTED } : {
10686
- backgroundColor: theme.SURFACE_INVERTED
10786
+ textColor: theme.CONTENT_INVERTED,
10787
+ customContainerStyle: {
10788
+ backgroundColor: theme.SURFACE_INVERTED,
10789
+ borderWidth: 1,
10790
+ borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
10791
+ borderRadius: 200,
10792
+ width: moderateScale(36),
10793
+ height: moderateScale(36),
10794
+ alignItems: "center",
10795
+ justifyContent: "center"
10687
10796
  }
10688
10797
  };
10689
10798
  }
10690
10799
  if (endDate) {
10691
10800
  markedDates[endDate] = {
10692
10801
  endingDay: true,
10693
- color: NAKHEEL_DEFAULT.NAKHEEL_BACKGROUND_SANDY,
10694
- textColor: theme.SURFACE_SECONDARY,
10695
- customContainerStyle: mode === "dark" ? { backgroundColor: theme.SURFACE_INVERTED } : {
10696
- backgroundColor: theme.SURFACE_INVERTED
10802
+ color: theme.SURFACE_PRIMARY_TRANSPARENT,
10803
+ textColor: theme.CONTENT_INVERTED,
10804
+ customContainerStyle: {
10805
+ backgroundColor: theme.SURFACE_INVERTED,
10806
+ borderWidth: 1,
10807
+ borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
10808
+ borderRadius: 200,
10809
+ width: moderateScale(36),
10810
+ height: moderateScale(36),
10811
+ alignItems: "center",
10812
+ justifyContent: "center"
10697
10813
  }
10698
10814
  };
10699
10815
  markedDates[startDate] = {
10700
10816
  startingDay: true,
10701
- color: NAKHEEL_DEFAULT.NAKHEEL_BACKGROUND_SANDY,
10702
- textColor: theme.SURFACE_SECONDARY,
10703
- customContainerStyle: mode === "dark" ? { backgroundColor: theme.SURFACE_INVERTED } : {
10704
- backgroundColor: theme.SURFACE_INVERTED
10817
+ color: theme.SURFACE_PRIMARY_TRANSPARENT,
10818
+ textColor: theme.CONTENT_INVERTED,
10819
+ customContainerStyle: {
10820
+ backgroundColor: theme.SURFACE_INVERTED,
10821
+ borderWidth: 1,
10822
+ borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
10823
+ borderRadius: 200,
10824
+ width: moderateScale(36),
10825
+ height: moderateScale(36),
10826
+ alignItems: "center",
10827
+ justifyContent: "center"
10705
10828
  }
10706
10829
  };
10707
10830
  }
10708
10831
  return markedDates;
10709
10832
  };
10710
10833
  const isButtonDisabled = !selectedRange.startDate || !selectedRange.endDate;
10711
- return /* @__PURE__ */ React.createElement(View, null, /* @__PURE__ */ React.createElement(
10712
- Calendar,
10834
+ const renderCalendarHeader = () => /* @__PURE__ */ React.createElement(
10835
+ View,
10713
10836
  {
10714
- markedDates: getMarkedDates(),
10715
- mode: "date",
10716
- markingType: "period",
10717
- theme: {
10718
- calendarBackground: "transparent",
10719
- arrowColor: theme.CONTENT_PRIMARY,
10720
- monthTextColor: theme.CONTENT_PRIMARY,
10721
- dayTextColor: theme.CONTENT_SECONDRY,
10722
- todayTextColor: NAKHEEL_DEFAULT.NAKHEEL_BACKGROUND_SANDY,
10723
- textDisabledColor: theme.CONTENT_DISABLE
10837
+ style: [
10838
+ styles$b.calendarHeader,
10839
+ { borderBottomColor: theme.STROKE_TERTIARY }
10840
+ ]
10841
+ },
10842
+ /* @__PURE__ */ React.createElement(Text, { style: [styles$b.monthText, { color: theme.CONTENT_PRIMARY }] }, monthLabel),
10843
+ /* @__PURE__ */ React.createElement(View, { style: styles$b.arrowsContainer }, /* @__PURE__ */ React.createElement(
10844
+ TouchableOpacity,
10845
+ {
10846
+ onPress: prevMonth,
10847
+ hitSlop: { top: 8, bottom: 8, left: 8, right: 8 }
10724
10848
  },
10725
- style: {
10726
- backgroundColor: theme.SURFACE_SECONDARY,
10727
- color: theme.CONTENT_SECONDRY,
10728
- borderRadius: 0
10849
+ /* @__PURE__ */ React.createElement(Svg$1, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none" }, /* @__PURE__ */ React.createElement(
10850
+ Path,
10851
+ {
10852
+ d: "M15 19.5L7.5 12L15 4.5",
10853
+ stroke: theme.CONTENT_PRIMARY,
10854
+ strokeWidth: 1.5,
10855
+ strokeLinecap: "round",
10856
+ strokeLinejoin: "round"
10857
+ }
10858
+ ))
10859
+ ), /* @__PURE__ */ React.createElement(
10860
+ TouchableOpacity,
10861
+ {
10862
+ onPress: nextMonth,
10863
+ hitSlop: { top: 8, bottom: 8, left: 8, right: 8 }
10729
10864
  },
10730
- onDayPress,
10731
- firstDay: 1,
10732
- ...props
10733
- }
10865
+ /* @__PURE__ */ React.createElement(Svg$1, { width: 16, height: 16, viewBox: "0 0 18 18", fill: "none" }, /* @__PURE__ */ React.createElement(
10866
+ Path,
10867
+ {
10868
+ d: "M6.75 3.375L12.375 9L6.75 14.625",
10869
+ stroke: theme.CONTENT_PRIMARY,
10870
+ strokeWidth: 1.5,
10871
+ strokeLinecap: "round",
10872
+ strokeLinejoin: "round"
10873
+ }
10874
+ ))
10875
+ ))
10876
+ );
10877
+ return /* @__PURE__ */ React.createElement(View, null, /* @__PURE__ */ React.createElement(
10878
+ View,
10879
+ {
10880
+ style: [
10881
+ styles$b.calendarCard,
10882
+ { backgroundColor: theme.SURFACE_SECONDARY }
10883
+ ]
10884
+ },
10885
+ /* @__PURE__ */ React.createElement(
10886
+ Calendar,
10887
+ {
10888
+ key: monthKey,
10889
+ current: currentDateStr,
10890
+ markedDates: getMarkedDates(),
10891
+ markingType: "period",
10892
+ hideArrows: true,
10893
+ renderHeader: renderCalendarHeader,
10894
+ theme: {
10895
+ calendarBackground: "transparent",
10896
+ dayTextColor: theme.CONTENT_PRIMARY,
10897
+ textDisabledColor: theme.CONTENT_DISABLE_DARK,
10898
+ todayTextColor: theme.CONTENT_PRIMARY,
10899
+ textSectionTitleColor: theme.CONTENT_SECONDRY,
10900
+ textDayFontSize: 16,
10901
+ textDayFontWeight: "500",
10902
+ textDayHeaderFontSize: 11,
10903
+ textDayHeaderFontWeight: "300",
10904
+ // Reduce row gap from default 14px (7+7) to 4px (2+2) to match Figma.
10905
+ weekVerticalMargin: 2,
10906
+ // Remove the calendar body's default 5px horizontal padding so the date
10907
+ // grid aligns flush with the custom renderHeader content.
10908
+ "stylesheet.calendar.main": {
10909
+ container: {
10910
+ paddingLeft: 0,
10911
+ paddingRight: 0,
10912
+ backgroundColor: "transparent"
10913
+ }
10914
+ },
10915
+ // Strip Calendar header container's default padding/margin, zero the
10916
+ // day-names row top margin, and apply uppercase + correct sizing to
10917
+ // each day abbreviation label.
10918
+ "stylesheet.calendar.header": {
10919
+ header: {
10920
+ paddingLeft: 0,
10921
+ paddingRight: 0,
10922
+ marginTop: 0,
10923
+ marginBottom: 0
10924
+ },
10925
+ week: {
10926
+ marginTop: 8,
10927
+ flexDirection: "row",
10928
+ justifyContent: "space-around"
10929
+ },
10930
+ dayHeader: {
10931
+ marginTop: 2,
10932
+ marginBottom: 7,
10933
+ width: 32,
10934
+ textAlign: "center",
10935
+ textTransform: "uppercase",
10936
+ fontSize: 11,
10937
+ fontWeight: "300",
10938
+ color: theme.CONTENT_SECONDRY
10939
+ }
10940
+ }
10941
+ },
10942
+ style: { backgroundColor: "transparent", borderRadius: 0 },
10943
+ onDayPress,
10944
+ firstDay: 1,
10945
+ ...calendarProps
10946
+ }
10947
+ )
10734
10948
  ), /* @__PURE__ */ React.createElement(
10735
10949
  Button,
10736
10950
  {
@@ -10738,11 +10952,8 @@ const DateRangePicker = (props) => {
10738
10952
  onPress: () => {
10739
10953
  onButtonPress(selectedRange?.startDate, selectedRange?.endDate);
10740
10954
  },
10741
- containerStyle: {
10742
- ...styles$c.applyButton,
10743
- backgroundColor: theme.SURFACE_INVERTED
10744
- },
10745
- textStyle: { color: theme.CONTENT_INVERTED },
10955
+ variant: "primary",
10956
+ size: "large",
10746
10957
  disabled: isButtonDisabled
10747
10958
  }
10748
10959
  ));
@@ -10766,20 +10977,20 @@ const OurOfficesButton = ({
10766
10977
  TouchableOpacity,
10767
10978
  {
10768
10979
  style: [
10769
- styles$b.button,
10980
+ styles$a.button,
10770
10981
  { backgroundColor: theme["SURFACE_SECONDARY"] },
10771
10982
  containerStyle
10772
10983
  ],
10773
10984
  onPress
10774
10985
  },
10775
- leftIcon && /* @__PURE__ */ React.createElement(View, { style: styles$b.iconContainer }, React.cloneElement(leftIcon)),
10776
- /* @__PURE__ */ React.createElement(View, { style: styles$b.textContainer }, /* @__PURE__ */ React.createElement(
10986
+ leftIcon && /* @__PURE__ */ React.createElement(View, { style: styles$a.iconContainer }, React.cloneElement(leftIcon)),
10987
+ /* @__PURE__ */ React.createElement(View, { style: styles$a.textContainer }, /* @__PURE__ */ React.createElement(
10777
10988
  CustomText$1,
10778
10989
  {
10779
10990
  text: title,
10780
10991
  variant: titleVariant,
10781
10992
  textColor: titleColor,
10782
- style: styles$b.textView
10993
+ style: styles$a.textView
10783
10994
  }
10784
10995
  ), /* @__PURE__ */ React.createElement(
10785
10996
  CustomText$1,
@@ -10787,13 +10998,13 @@ const OurOfficesButton = ({
10787
10998
  text: description,
10788
10999
  variant: descriptionVariant,
10789
11000
  textColor: descriptionColor,
10790
- style: styles$b.flexWrap
11001
+ style: styles$a.flexWrap
10791
11002
  }
10792
11003
  )),
10793
- rightIcon && /* @__PURE__ */ React.createElement(View, { style: styles$b.rightIconContainer }, React.cloneElement(rightIcon))
11004
+ rightIcon && /* @__PURE__ */ React.createElement(View, { style: styles$a.rightIconContainer }, React.cloneElement(rightIcon))
10794
11005
  );
10795
11006
  };
10796
- const styles$b = StyleSheet.create({
11007
+ const styles$a = StyleSheet.create({
10797
11008
  button: {
10798
11009
  flexDirection: "row",
10799
11010
  alignItems: "center",
@@ -10817,7 +11028,7 @@ const styles$b = StyleSheet.create({
10817
11028
  });
10818
11029
  var OurOffices = withThemeProvider(OurOfficesButton);
10819
11030
 
10820
- const styles$a = StyleSheet.create({
11031
+ const styles$9 = StyleSheet.create({
10821
11032
  iconContainer: {
10822
11033
  position: "relative",
10823
11034
  alignItems: "center"
@@ -10846,10 +11057,10 @@ const NotificationBandge = ({
10846
11057
  if (notificationCount <= 0) {
10847
11058
  return icon;
10848
11059
  }
10849
- return /* @__PURE__ */ React.createElement(View, { style: styles$a.iconContainer }, icon, /* @__PURE__ */ React.createElement(View, { style: styles$a.badge }, /* @__PURE__ */ React.createElement(Text, { style: [styles$a.badgeText] }, notificationCount > 99 ? "99+" : notificationCount)));
11060
+ return /* @__PURE__ */ React.createElement(View, { style: styles$9.iconContainer }, icon, /* @__PURE__ */ React.createElement(View, { style: styles$9.badge }, /* @__PURE__ */ React.createElement(Text, { style: [styles$9.badgeText] }, notificationCount > 99 ? "99+" : notificationCount)));
10850
11061
  };
10851
11062
 
10852
- const createStyles$3 = (theme) => {
11063
+ const createStyles$4 = (theme) => {
10853
11064
  return StyleSheet.create({
10854
11065
  // ── ScrollableList ────────────────────────────────────────────
10855
11066
  container: {
@@ -10944,7 +11155,7 @@ const CategoryItem = memo(
10944
11155
  enableTextWrap
10945
11156
  }) => {
10946
11157
  const { theme } = useTheme();
10947
- const styles = useMemo(() => createStyles$3(theme), [theme]);
11158
+ const styles = useMemo(() => createStyles$4(theme), [theme]);
10948
11159
  const handlePress = useCallback(
10949
11160
  () => onPress(item.name, item.value),
10950
11161
  [onPress, item.name, item.value]
@@ -11041,7 +11252,7 @@ const ScrollableList = ({
11041
11252
  data && data.length > 0 ? data[0].name : null
11042
11253
  );
11043
11254
  const { theme } = useTheme();
11044
- const styles = useMemo(() => createStyles$3(theme), [theme]);
11255
+ const styles = useMemo(() => createStyles$4(theme), [theme]);
11045
11256
  const activeKey = activeTab ?? selectedItem;
11046
11257
  const handlePress = useCallback(
11047
11258
  (name, value) => {
@@ -11084,7 +11295,7 @@ const ScrollableList = ({
11084
11295
  };
11085
11296
  var category = withThemeProvider(ScrollableList);
11086
11297
 
11087
- const createStyles$2 = (theme) => {
11298
+ const createStyles$3 = (theme) => {
11088
11299
  return StyleSheet.create({
11089
11300
  container: {
11090
11301
  flex: 1,
@@ -11162,7 +11373,7 @@ const FeedbackForm = ({
11162
11373
  const isFilled = feedback.length > 0;
11163
11374
  const label = inputLabel ?? inputText;
11164
11375
  const { theme } = useTheme();
11165
- const styles = createStyles$2(theme);
11376
+ const styles = createStyles$3(theme);
11166
11377
  return /* @__PURE__ */ React.createElement(View, { style: styles.container }, /* @__PURE__ */ React.createElement(
11167
11378
  CustomText$1,
11168
11379
  {
@@ -11247,7 +11458,7 @@ const CountryDropDown = ({
11247
11458
  setCallingCode(`+${country.callingCode[0]}`);
11248
11459
  getCountryCode(`+${country.callingCode[0]}`);
11249
11460
  };
11250
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(View, { style: [styles$9.container, containerStyle] }, /* @__PURE__ */ React.createElement(View, { style: [styles$9.countryPickerContainer, countryPickerStyle] }, /* @__PURE__ */ React.createElement(
11461
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(View, { style: [styles$8.container, containerStyle] }, /* @__PURE__ */ React.createElement(View, { style: [styles$8.countryPickerContainer, countryPickerStyle] }, /* @__PURE__ */ React.createElement(
11251
11462
  CountryPicker,
11252
11463
  {
11253
11464
  withFilter: true,
@@ -11261,20 +11472,20 @@ const CountryDropDown = ({
11261
11472
  Text,
11262
11473
  {
11263
11474
  onPress: () => setPickerVisible(true),
11264
- style: [styles$9.callingCode, callingCodeStyle]
11475
+ style: [styles$8.callingCode, callingCodeStyle]
11265
11476
  },
11266
11477
  callingCode
11267
- )), /* @__PURE__ */ React.createElement(View, { style: styles$9.flex }, (isFocused || value) && /* @__PURE__ */ React.createElement(
11478
+ )), /* @__PURE__ */ React.createElement(View, { style: styles$8.flex }, (isFocused || value) && /* @__PURE__ */ React.createElement(
11268
11479
  CustomTypography,
11269
11480
  {
11270
11481
  variant: "L2_REGULAR",
11271
11482
  text: label ?? "",
11272
- style: styles$9.floatingLabel
11483
+ style: styles$8.floatingLabel
11273
11484
  }
11274
11485
  ), /* @__PURE__ */ React.createElement(
11275
11486
  TextInput,
11276
11487
  {
11277
- style: [styles$9.input, inputStyle],
11488
+ style: [styles$8.input, inputStyle],
11278
11489
  placeholder: !isFocused ? placeholder : "",
11279
11490
  keyboardType: "phone-pad",
11280
11491
  value,
@@ -11290,13 +11501,13 @@ const CountryDropDown = ({
11290
11501
  variant: "L2_REGULAR",
11291
11502
  text: errorMessage ?? "",
11292
11503
  style: {
11293
- ...styles$9.errorStyle,
11504
+ ...styles$8.errorStyle,
11294
11505
  color: DHRE_DEFAULT.DH_SEMENTIC_ERROR
11295
11506
  }
11296
11507
  }
11297
11508
  ) : null);
11298
11509
  };
11299
- const styles$9 = StyleSheet.create({
11510
+ const styles$8 = StyleSheet.create({
11300
11511
  flex: {
11301
11512
  flex: 1
11302
11513
  },
@@ -11357,6 +11568,7 @@ const CommonTextInput = (props) => {
11357
11568
  keyboardType = "default",
11358
11569
  placeholderText,
11359
11570
  inputStyle,
11571
+ containerStyle,
11360
11572
  maxLength,
11361
11573
  errorMessage,
11362
11574
  helperText,
@@ -11382,10 +11594,10 @@ const CommonTextInput = (props) => {
11382
11594
  const containerBackground = isDisabled ? theme[Theme.SURFACE_PRIMARY] : theme[Theme.SURFACE_TERTIARY_TRANSPARENT];
11383
11595
  const inputTextColor = isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_PRIMARY];
11384
11596
  const placeholderColor = theme[Theme.CONTENT_SECONDRY];
11385
- const labelColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.CONTENT_TERTIARY] : isFocused ? theme[Theme.CONTENT_PRIMARY] : theme[Theme.CONTENT_TERTIARY];
11597
+ const labelColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_PRIMARY];
11386
11598
  const helperColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_SECONDRY];
11387
11599
  const helperMessage = errorMessage || helperText;
11388
- return /* @__PURE__ */ React.createElement(Pressable, { onPress: handlePress, style: styles$8.container }, /* @__PURE__ */ React.createElement(
11600
+ return /* @__PURE__ */ React.createElement(Pressable, { onPress: handlePress, style: [styles$7.container, containerStyle] }, /* @__PURE__ */ React.createElement(
11389
11601
  TextInput$1,
11390
11602
  {
11391
11603
  mode: "outlined",
@@ -11394,7 +11606,7 @@ const CommonTextInput = (props) => {
11394
11606
  spellCheck: false,
11395
11607
  autoCorrect: false,
11396
11608
  outlineStyle: {
11397
- ...styles$8.outlineStyle,
11609
+ ...styles$7.outlineStyle,
11398
11610
  borderColor: currentBorderColor,
11399
11611
  borderWidth,
11400
11612
  backgroundColor: containerBackground
@@ -11416,7 +11628,8 @@ const CommonTextInput = (props) => {
11416
11628
  primary: labelColor,
11417
11629
  // error drives the error indicator colour
11418
11630
  error: isError ? theme[Theme.ERROR] : labelColor,
11419
- // background behind the floating label — must be solid to cut through the border
11631
+ // background behind the floating label pill — must be opaque and match the
11632
+ // parent surface; defaults to SURFACE_PRIMARY (standard screen background)
11420
11633
  background: theme[Theme.SURFACE_PRIMARY]
11421
11634
  },
11422
11635
  fonts: {
@@ -11435,12 +11648,7 @@ const CommonTextInput = (props) => {
11435
11648
  }
11436
11649
  }
11437
11650
  },
11438
- style: [
11439
- styles$8.input,
11440
- inputStyle,
11441
- multiline && styles$8.multilineInput,
11442
- { backgroundColor: containerBackground }
11443
- ],
11651
+ style: [styles$7.input, inputStyle, multiline && styles$7.multilineInput],
11444
11652
  contentStyle: {
11445
11653
  fontFamily: InterLight,
11446
11654
  textAlign: isRTL ? "right" : "left"
@@ -11471,7 +11679,7 @@ const CommonTextInput = (props) => {
11471
11679
  {
11472
11680
  style: [
11473
11681
  FONT_STYLES[isDisabled ? FontStyle.BODY2_MEDIUM : FontStyle.BODY2_LIGHT],
11474
- styles$8.helperStyle,
11682
+ styles$7.helperStyle,
11475
11683
  {
11476
11684
  color: helperColor,
11477
11685
  textAlign: isRTL ? "right" : "left"
@@ -11481,7 +11689,7 @@ const CommonTextInput = (props) => {
11481
11689
  helperMessage
11482
11690
  ) : null);
11483
11691
  };
11484
- const styles$8 = StyleSheet.create({
11692
+ const styles$7 = StyleSheet.create({
11485
11693
  container: {
11486
11694
  justifyContent: "center"
11487
11695
  },
@@ -11548,7 +11756,7 @@ const CustomDropdown = (props) => {
11548
11756
  const valueTextColor = disable ? theme.CONTENT_TERTIARY : hasValue ? theme.CONTENT_PRIMARY : theme.CONTENT_SECONDRY;
11549
11757
  const helperColor = isError ? theme.ERROR : theme.CONTENT_SECONDRY;
11550
11758
  const helperMessage = errorMessage || helperText;
11551
- const fieldBackground = theme.SURFACE_SECONDARY;
11759
+ const fieldBackground = theme.SURFACE_TERTIARY_TRANSPARENT;
11552
11760
  const labelColor = theme.CONTENT_PRIMARY;
11553
11761
  const renderLabel = () => {
11554
11762
  if (value || isFocus) {
@@ -11556,11 +11764,11 @@ const CustomDropdown = (props) => {
11556
11764
  Text,
11557
11765
  {
11558
11766
  style: [
11559
- styles$7.label,
11767
+ styles$6.label,
11560
11768
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11561
11769
  {
11562
- backgroundColor: fieldBackground,
11563
- color: labelColor
11770
+ color: labelColor,
11771
+ backgroundColor: theme.SURFACE_PRIMARY
11564
11772
  },
11565
11773
  labelStyle,
11566
11774
  isFocus && (labelFocusStyle ?? { color: labelColor })
@@ -11581,11 +11789,11 @@ const CustomDropdown = (props) => {
11581
11789
  };
11582
11790
  const renderItem = (item) => {
11583
11791
  const isSelected = item[valueField] === value;
11584
- return /* @__PURE__ */ React.createElement(View, { style: [styles$7.itemContainer, itemContainerStyle] }, /* @__PURE__ */ React.createElement(
11792
+ return /* @__PURE__ */ React.createElement(View, { style: [styles$6.itemContainer, itemContainerStyle] }, /* @__PURE__ */ React.createElement(
11585
11793
  Text,
11586
11794
  {
11587
11795
  style: [
11588
- styles$7.itemText,
11796
+ styles$6.itemText,
11589
11797
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11590
11798
  { color: theme.CONTENT_PRIMARY },
11591
11799
  itemTextStyle,
@@ -11595,12 +11803,12 @@ const CustomDropdown = (props) => {
11595
11803
  item[labelField]
11596
11804
  ));
11597
11805
  };
11598
- return /* @__PURE__ */ React.createElement(View, { style: [styles$7.container, containerStyle] }, label && renderLabel(), /* @__PURE__ */ React.createElement(
11806
+ return /* @__PURE__ */ React.createElement(View, { style: [styles$6.container, containerStyle] }, label && renderLabel(), /* @__PURE__ */ React.createElement(
11599
11807
  Dropdown,
11600
11808
  {
11601
11809
  ...props,
11602
11810
  style: [
11603
- styles$7.dropdown,
11811
+ styles$6.dropdown,
11604
11812
  {
11605
11813
  borderColor: fieldBorderColor,
11606
11814
  borderWidth: fieldBorderWidth,
@@ -11610,18 +11818,18 @@ const CustomDropdown = (props) => {
11610
11818
  isFocus && dropdownFocusStyle
11611
11819
  ],
11612
11820
  placeholderStyle: [
11613
- styles$7.placeholderStyle,
11821
+ styles$6.placeholderStyle,
11614
11822
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11615
11823
  { color: theme.CONTENT_SECONDRY },
11616
11824
  placeholderStyle
11617
11825
  ],
11618
11826
  selectedTextStyle: [
11619
- styles$7.selectedTextStyle,
11827
+ styles$6.selectedTextStyle,
11620
11828
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11621
11829
  { color: valueTextColor },
11622
11830
  selectedTextStyle
11623
11831
  ],
11624
- iconStyle: [styles$7.iconStyle, iconStyle],
11832
+ iconStyle: [styles$6.iconStyle, iconStyle],
11625
11833
  data: data ?? [],
11626
11834
  labelField,
11627
11835
  valueField,
@@ -11643,7 +11851,7 @@ const CustomDropdown = (props) => {
11643
11851
  containerStyle: [
11644
11852
  {
11645
11853
  marginTop: verticalScale(5),
11646
- backgroundColor: fieldBackground,
11854
+ backgroundColor: theme.SURFACE_SECONDARY,
11647
11855
  borderColor: theme.STROKE_TERTIARY,
11648
11856
  borderWidth: 1,
11649
11857
  borderRadius: DHRE_RADIUS_BASE.RADIUS_8
@@ -11651,7 +11859,7 @@ const CustomDropdown = (props) => {
11651
11859
  menuContainerStyle
11652
11860
  ],
11653
11861
  activeColor: activeColor ?? theme.SURFACE_SECONDARY,
11654
- itemContainerStyle: [styles$7.itemListStyle, itemContainerStyle],
11862
+ itemContainerStyle: [styles$6.itemListStyle, itemContainerStyle],
11655
11863
  disable,
11656
11864
  autoScroll,
11657
11865
  dropdownPosition,
@@ -11664,7 +11872,7 @@ const CustomDropdown = (props) => {
11664
11872
  Text,
11665
11873
  {
11666
11874
  style: [
11667
- styles$7.helperText,
11875
+ styles$6.helperText,
11668
11876
  FONT_STYLES[FontStyle.BODY2_LIGHT],
11669
11877
  { color: helperColor }
11670
11878
  ]
@@ -11672,7 +11880,7 @@ const CustomDropdown = (props) => {
11672
11880
  helperMessage
11673
11881
  ) : null);
11674
11882
  };
11675
- const styles$7 = StyleSheet.create({
11883
+ const styles$6 = StyleSheet.create({
11676
11884
  container: {
11677
11885
  marginVertical: verticalScale(4),
11678
11886
  direction: "ltr",
@@ -11719,7 +11927,7 @@ const styles$7 = StyleSheet.create({
11719
11927
  });
11720
11928
  var DropDown = withThemeProvider(CustomDropdown);
11721
11929
 
11722
- const styles$6 = StyleSheet.create({
11930
+ const styles$5 = StyleSheet.create({
11723
11931
  mainContainer: {
11724
11932
  flexDirection: "row",
11725
11933
  justifyContent: "space-between",
@@ -11778,18 +11986,18 @@ const CustomSwitchBtn = ({
11778
11986
  {
11779
11987
  disabled,
11780
11988
  onPress: toggleSwitch,
11781
- style: { ...styles$6.mainContainer, ...containerStyle }
11989
+ style: { ...styles$5.mainContainer, ...containerStyle }
11782
11990
  },
11783
11991
  /* @__PURE__ */ React.createElement(
11784
11992
  Animated.View,
11785
11993
  {
11786
- style: [styles$6.circle, { transform: [{ translateX }], ...circleStyle }]
11994
+ style: [styles$5.circle, { transform: [{ translateX }], ...circleStyle }]
11787
11995
  }
11788
11996
  ),
11789
11997
  /* @__PURE__ */ React.createElement(
11790
11998
  CustomTypography,
11791
11999
  {
11792
- style: [styles$6.activeText, value ? inActiveTextStyle : activeTextStyle],
12000
+ style: [styles$5.activeText, value ? inActiveTextStyle : activeTextStyle],
11793
12001
  text: activeText,
11794
12002
  variant: activeTextVariant
11795
12003
  }
@@ -11798,7 +12006,7 @@ const CustomSwitchBtn = ({
11798
12006
  CustomTypography,
11799
12007
  {
11800
12008
  style: [
11801
- styles$6.inActiveText,
12009
+ styles$5.inActiveText,
11802
12010
  value ? activeTextStyle : inActiveTextStyle
11803
12011
  ],
11804
12012
  text: inActiveText,
@@ -11836,7 +12044,7 @@ class ToastService {
11836
12044
  }
11837
12045
  const toastService = new ToastService();
11838
12046
 
11839
- const createStyles$1 = (theme) => StyleSheet.create({
12047
+ const createStyles$2 = (theme) => StyleSheet.create({
11840
12048
  listContainer: {
11841
12049
  paddingHorizontal: 10,
11842
12050
  alignItems: "center"
@@ -11878,7 +12086,7 @@ const TagsComponent = ({
11878
12086
  unselectedTagButton
11879
12087
  }) => {
11880
12088
  const { theme } = useTheme();
11881
- const styles = createStyles$1(theme);
12089
+ const styles = createStyles$2(theme);
11882
12090
  const reorderedTags = () => {
11883
12091
  if (selectedTag) {
11884
12092
  return [
@@ -11928,7 +12136,7 @@ const TagsComponent = ({
11928
12136
  };
11929
12137
  var TagSingleSelection = withThemeProvider(TagsComponent);
11930
12138
 
11931
- const styles$5 = StyleSheet.create({
12139
+ const styles$4 = StyleSheet.create({
11932
12140
  textInputContainer: {
11933
12141
  flexDirection: "row",
11934
12142
  gap: DHRE_PADDING.MD,
@@ -12111,12 +12319,12 @@ const OTPInput = React.forwardRef(
12111
12319
  ...otpHeaderTextStyle
12112
12320
  }
12113
12321
  }
12114
- ), /* @__PURE__ */ React.createElement(View, { style: { ...styles$5.textInputContainer } }, Array.from({ length }).map((_, index) => /* @__PURE__ */ React.createElement(
12322
+ ), /* @__PURE__ */ React.createElement(View, { style: { ...styles$4.textInputContainer } }, Array.from({ length }).map((_, index) => /* @__PURE__ */ React.createElement(
12115
12323
  TextInput,
12116
12324
  {
12117
12325
  key: index?.toString(),
12118
12326
  style: {
12119
- ...styles$5.textInputStyle,
12327
+ ...styles$4.textInputStyle,
12120
12328
  color: !isEditable ? theme$1.CONTENT_DISABLE_DARK : otp.length === length ? theme$1.STROKE_PRIMARY : theme$1.CONTENT_PRIMARY,
12121
12329
  backgroundColor: !isEditable ? theme$1.SURFACE_PRIMARY : theme$1.SURFACE_TERTIARY_TRANSPARENT,
12122
12330
  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,
@@ -12137,7 +12345,7 @@ const OTPInput = React.forwardRef(
12137
12345
  selectionColor: theme$1.CONTENT_PRIMARY,
12138
12346
  editable: isEditable
12139
12347
  }
12140
- ))), !errorMessageMaxReachCount && /* @__PURE__ */ React.createElement(View, { style: styles$5.timerContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$5.timerIconContainer }, errorMessage ? /* @__PURE__ */ React.createElement(React.Fragment, null, errorIcon ? React.cloneElement(errorIcon, {
12348
+ ))), !errorMessageMaxReachCount && /* @__PURE__ */ React.createElement(View, { style: styles$4.timerContainer }, /* @__PURE__ */ React.createElement(View, { style: styles$4.timerIconContainer }, errorMessage ? /* @__PURE__ */ React.createElement(React.Fragment, null, errorIcon ? React.cloneElement(errorIcon, {
12141
12349
  width: DHRE_SPACING_BASE.SPACE_20,
12142
12350
  height: DHRE_SPACING_BASE.SPACE_20
12143
12351
  }) : null, /* @__PURE__ */ React.createElement(
@@ -12161,7 +12369,7 @@ const OTPInput = React.forwardRef(
12161
12369
  Pressable,
12162
12370
  {
12163
12371
  onPress: onClickResendOTP,
12164
- style: styles$5.resendOTPStyle,
12372
+ style: styles$4.resendOTPStyle,
12165
12373
  disabled: disableResendButton() || !isResendOtpEnable
12166
12374
  },
12167
12375
  /* @__PURE__ */ React.createElement(
@@ -12175,7 +12383,7 @@ const OTPInput = React.forwardRef(
12175
12383
  }
12176
12384
  }
12177
12385
  )
12178
- )), errorMessageMaxReachCount ? /* @__PURE__ */ React.createElement(View, { style: styles$5.resendOtpContainer }, /* @__PURE__ */ React.createElement(
12386
+ )), errorMessageMaxReachCount ? /* @__PURE__ */ React.createElement(View, { style: styles$4.resendOtpContainer }, /* @__PURE__ */ React.createElement(
12179
12387
  CustomTypography,
12180
12388
  {
12181
12389
  text: errorMessageMaxReachCount,
@@ -12190,7 +12398,7 @@ const OTPInput = React.forwardRef(
12190
12398
  );
12191
12399
  OTPInput.displayName = "OTPInput";
12192
12400
 
12193
- const styles$4 = StyleSheet.create({
12401
+ const styles$3 = StyleSheet.create({
12194
12402
  stepperContainer: {
12195
12403
  flexDirection: "row",
12196
12404
  marginBottom: 24,
@@ -12284,27 +12492,27 @@ const Stepper = ({
12284
12492
  const { theme } = useTheme();
12285
12493
  const renderCircleStyle = (status) => {
12286
12494
  if (status === Status.Active) {
12287
- return { ...styles$4.activeStepCircle, borderColor: theme.CONTENT_PRIMARY };
12495
+ return { ...styles$3.activeStepCircle, borderColor: theme.CONTENT_PRIMARY };
12288
12496
  } else if (status === Status.Inactive) {
12289
12497
  return {
12290
- ...styles$4.inactiveStepCircle,
12498
+ ...styles$3.inactiveStepCircle,
12291
12499
  borderColor: theme.CONTENT_SECONDRY
12292
12500
  };
12293
12501
  } else if (status === Status.Completed) {
12294
- return { ...styles$4.completeStepCircle, backgroundColor: theme.SUCCESS };
12502
+ return { ...styles$3.completeStepCircle, backgroundColor: theme.SUCCESS };
12295
12503
  } else {
12296
- return { ...styles$4.stepCountCircle, borderColor: theme.BORDER_PRIMARY };
12504
+ return { ...styles$3.stepCountCircle, borderColor: theme.BORDER_PRIMARY };
12297
12505
  }
12298
12506
  };
12299
12507
  const renderLableStyle = (status) => {
12300
12508
  if (status === Status.Active) {
12301
- return { ...styles$4.activeStepLabel, color: theme.CONTENT_PRIMARY };
12509
+ return { ...styles$3.activeStepLabel, color: theme.CONTENT_PRIMARY };
12302
12510
  } else if (status === Status.Inactive) {
12303
- return { ...styles$4.inactiveStepLabel, color: theme.CONTENT_SECONDRY };
12511
+ return { ...styles$3.inactiveStepLabel, color: theme.CONTENT_SECONDRY };
12304
12512
  } else if (status === Status.Completed) {
12305
- return { ...styles$4.completeStepLabel, color: theme.CONTENT_PRIMARY };
12513
+ return { ...styles$3.completeStepLabel, color: theme.CONTENT_PRIMARY };
12306
12514
  } else {
12307
- return { ...styles$4.countStepLabel, color: theme.CONTENT_PRIMARY };
12515
+ return { ...styles$3.countStepLabel, color: theme.CONTENT_PRIMARY };
12308
12516
  }
12309
12517
  };
12310
12518
  const renderDividerStyle = (status) => {
@@ -12314,25 +12522,25 @@ const Stepper = ({
12314
12522
  return { borderColor: theme.BORDER_PRIMARY };
12315
12523
  } else if (status === Status.Completed) {
12316
12524
  return {
12317
- ...styles$4.completeStepDivider,
12525
+ ...styles$3.completeStepDivider,
12318
12526
  borderColor: theme.CONTENT_PRIMARY
12319
12527
  };
12320
12528
  } else {
12321
12529
  return { borderColor: theme.CONTENT_SECONDRY };
12322
12530
  }
12323
12531
  };
12324
- return /* @__PURE__ */ React.createElement(View, { style: { ...styles$4.stepperContainer, ...containerStyle } }, data?.map((item, index) => {
12532
+ return /* @__PURE__ */ React.createElement(View, { style: { ...styles$3.stepperContainer, ...containerStyle } }, data?.map((item, index) => {
12325
12533
  const stepCircleStyle = renderCircleStyle(item?.status);
12326
12534
  const dividerStyle = renderDividerStyle(item?.status);
12327
12535
  const labelStyle = renderLableStyle(item?.status);
12328
- const lastViewStyle = index === data?.length - 1 ? styles$4.lastStepWrapper : null;
12536
+ const lastViewStyle = index === data?.length - 1 ? styles$3.lastStepWrapper : null;
12329
12537
  return /* @__PURE__ */ React.createElement(
12330
12538
  View,
12331
12539
  {
12332
12540
  key: index?.toString(),
12333
- style: { ...styles$4.stepperWrapper, ...lastViewStyle }
12541
+ style: { ...styles$3.stepperWrapper, ...lastViewStyle }
12334
12542
  },
12335
- /* @__PURE__ */ React.createElement(View, { style: styles$4.stepperSeparatorContainer }, /* @__PURE__ */ React.createElement(View, { style: { ...stepCircleStyle } }, showStepCount && /* @__PURE__ */ React.createElement(
12543
+ /* @__PURE__ */ React.createElement(View, { style: styles$3.stepperSeparatorContainer }, /* @__PURE__ */ React.createElement(View, { style: { ...stepCircleStyle } }, showStepCount && /* @__PURE__ */ React.createElement(
12336
12544
  CustomTypography,
12337
12545
  {
12338
12546
  text: item?.step,
@@ -12341,8 +12549,8 @@ const Stepper = ({
12341
12549
  color: theme.CONTENT_PRIMARY
12342
12550
  }
12343
12551
  }
12344
- ), showStatus && item?.status === Status.Completed && completedStatusIcon), index != data?.length - 1 && /* @__PURE__ */ React.createElement(View, { style: { ...styles$4.separator, ...dividerStyle } })),
12345
- /* @__PURE__ */ React.createElement(View, { style: styles$4.lableContainer }, /* @__PURE__ */ React.createElement(
12552
+ ), showStatus && item?.status === Status.Completed && completedStatusIcon), index != data?.length - 1 && /* @__PURE__ */ React.createElement(View, { style: { ...styles$3.separator, ...dividerStyle } })),
12553
+ /* @__PURE__ */ React.createElement(View, { style: styles$3.lableContainer }, /* @__PURE__ */ React.createElement(
12346
12554
  CustomTypography,
12347
12555
  {
12348
12556
  text: item?.label,
@@ -12353,17 +12561,22 @@ const Stepper = ({
12353
12561
  );
12354
12562
  }));
12355
12563
  };
12356
- var index$3 = withThemeProvider(Stepper);
12564
+ var index$4 = withThemeProvider(Stepper);
12357
12565
 
12358
- const styles$3 = StyleSheet.create({
12566
+ const styles$2 = StyleSheet.create({
12359
12567
  container: {
12360
12568
  flex: 1,
12361
12569
  justifyContent: "center",
12362
12570
  alignItems: "center"
12363
12571
  },
12572
+ gradientShell: {
12573
+ borderRadius: DHRE_RADIUS.PILL,
12574
+ padding: OUTLINED_BORDER_WIDTH
12575
+ },
12364
12576
  sliderContainer: {
12365
- height: verticalScale(48),
12366
- // borderRadius: moderateScale(25),
12577
+ height: DHRE_COMPONENT_HEIGHT.BUTTON_MD - OUTLINED_BORDER_WIDTH * 2,
12578
+ // pill shape — overflow:hidden clips all child content to the rounded boundary
12579
+ borderRadius: DHRE_RADIUS.PILL,
12367
12580
  overflow: "hidden",
12368
12581
  justifyContent: "center"
12369
12582
  },
@@ -12374,11 +12587,13 @@ const styles$3 = StyleSheet.create({
12374
12587
  justifyContent: "center"
12375
12588
  },
12376
12589
  button: {
12377
- height: verticalScale(40),
12590
+ height: DHRE_COMPONENT_HEIGHT.INPUT_SM,
12378
12591
  justifyContent: "center",
12379
12592
  alignItems: "center",
12380
- // borderRadius: moderateScale(20),
12381
- margin: 4
12593
+ // circular thumb — consumer can override via sliderStyle prop
12594
+ borderRadius: DHRE_RADIUS.PILL,
12595
+ // 4px inset keeps thumb inside pill boundary (matches Figma left:4, top:4)
12596
+ margin: DHRE_PADDING.XS
12382
12597
  },
12383
12598
  buttonTextContainer: {
12384
12599
  position: "absolute",
@@ -12388,11 +12603,10 @@ const styles$3 = StyleSheet.create({
12388
12603
  top: 0,
12389
12604
  alignItems: "center",
12390
12605
  justifyContent: "center"
12391
- // borderRadius: 25,
12392
12606
  }
12393
12607
  });
12394
12608
 
12395
- const BUTTON_WIDTH = 40;
12609
+ const DEFAULT_SIZE = 40;
12396
12610
  const CustomSlideButton = React.forwardRef(
12397
12611
  ({
12398
12612
  label,
@@ -12402,17 +12616,21 @@ const CustomSlideButton = React.forwardRef(
12402
12616
  textStyle,
12403
12617
  containerStyle,
12404
12618
  sliderStyle,
12405
- size = BUTTON_WIDTH,
12619
+ size = DEFAULT_SIZE,
12406
12620
  sliderBackgroundColor = "#fff",
12407
12621
  sliderTextColor = "#000",
12408
- resetTimer = 2e3
12622
+ resetTimer = 2e3,
12623
+ isRTL = false,
12624
+ completedContainerStyle
12409
12625
  }, ref) => {
12626
+ const thumbOffset = verticalScale(size) + DHRE_PADDING.XS * 2;
12410
12627
  const value = useRef(0);
12411
12628
  const cardRef = useRef(null);
12412
12629
  const [translateX] = useState(new Animated.Value(0));
12413
12630
  const sliderConteinerRef = useRef(null);
12414
12631
  const [color] = useState(new Animated.Value(0));
12415
12632
  const [sliderBackgroundColorRef] = useState(new Animated.Value(0));
12633
+ const [isCompleted, setIsCompleted] = useState(false);
12416
12634
  React.useImperativeHandle(ref, () => ({
12417
12635
  reset() {
12418
12636
  resetAll();
@@ -12423,15 +12641,18 @@ const CustomSlideButton = React.forwardRef(
12423
12641
  if (cardRef.current) {
12424
12642
  cardRef.current.setNativeProps({
12425
12643
  style: { width }
12426
- // Change the width here
12427
12644
  });
12428
12645
  value.current = width;
12429
12646
  sliderConteinerRef?.current?.setNativeProps({
12430
12647
  style: { width }
12431
12648
  });
12432
12649
  }
12650
+ if (isRTL) {
12651
+ translateX.setValue(value.current - thumbOffset);
12652
+ }
12433
12653
  };
12434
12654
  const resetAll = () => {
12655
+ setIsCompleted(false);
12435
12656
  onReset?.();
12436
12657
  Animated.timing(sliderBackgroundColorRef, {
12437
12658
  toValue: 0,
@@ -12448,7 +12669,7 @@ const CustomSlideButton = React.forwardRef(
12448
12669
  // because we're animating the color, not layout
12449
12670
  }).start();
12450
12671
  Animated.timing(translateX, {
12451
- toValue: 0,
12672
+ toValue: isRTL ? value.current - thumbOffset : 0,
12452
12673
  useNativeDriver: false
12453
12674
  }).start();
12454
12675
  };
@@ -12459,39 +12680,73 @@ const CustomSlideButton = React.forwardRef(
12459
12680
  },
12460
12681
  onPanResponderTerminationRequest: () => false,
12461
12682
  onPanResponderMove: (evt, gestureState) => {
12462
- if (gestureState.dx > 0 && gestureState.dx <= value?.current - BUTTON_WIDTH - 8) {
12463
- translateX.setValue(gestureState.dx);
12464
- const colorValue = gestureState.dx > value.current / 3 ? 1 : 0;
12465
- Animated.timing(color, {
12466
- toValue: colorValue,
12467
- duration: 0,
12468
- // no transition time, immediate change
12469
- useNativeDriver: false
12470
- // because we're animating the color, not layout
12471
- }).start();
12683
+ if (isRTL) {
12684
+ if (gestureState.dx < 0 && gestureState.dx >= -(value.current - thumbOffset)) {
12685
+ translateX.setValue(value.current - thumbOffset + gestureState.dx);
12686
+ const colorValue = gestureState.dx < -(value.current / 3) ? 1 : 0;
12687
+ Animated.timing(color, {
12688
+ toValue: colorValue,
12689
+ duration: 0,
12690
+ // no transition time, immediate change
12691
+ useNativeDriver: false
12692
+ }).start();
12693
+ }
12694
+ } else {
12695
+ if (gestureState.dx > 0 && gestureState.dx <= value.current - thumbOffset) {
12696
+ translateX.setValue(gestureState.dx);
12697
+ const colorValue = gestureState.dx > value.current / 3 ? 1 : 0;
12698
+ Animated.timing(color, {
12699
+ toValue: colorValue,
12700
+ duration: 0,
12701
+ // no transition time, immediate change
12702
+ useNativeDriver: false
12703
+ }).start();
12704
+ }
12472
12705
  }
12473
12706
  },
12474
12707
  onPanResponderRelease: (e, gestureState) => {
12475
- if (gestureState.dx >= value.current * 0.8) {
12476
- Animated.timing(translateX, {
12477
- toValue: value?.current - (BUTTON_WIDTH + 8),
12478
- // Slide to the end
12479
- duration: 300,
12480
- useNativeDriver: false
12481
- }).start();
12482
- Animated.timing(sliderBackgroundColorRef, {
12483
- toValue: 1,
12484
- duration: 0,
12485
- // no transition time, immediate change
12486
- useNativeDriver: false
12487
- // because we're animating the color, not layout
12488
- }).start();
12489
- onComplete?.();
12490
- setTimeout(() => {
12708
+ if (isRTL) {
12709
+ if (gestureState.dx <= -(value.current * 0.8)) {
12710
+ Animated.timing(translateX, {
12711
+ toValue: 0,
12712
+ // snap to leftmost position (completed side for RTL)
12713
+ duration: 300,
12714
+ useNativeDriver: false
12715
+ }).start();
12716
+ Animated.timing(sliderBackgroundColorRef, {
12717
+ toValue: 1,
12718
+ duration: 0,
12719
+ useNativeDriver: false
12720
+ }).start();
12721
+ setIsCompleted(true);
12722
+ onComplete?.();
12723
+ setTimeout(() => {
12724
+ resetAll();
12725
+ }, resetTimer);
12726
+ } else {
12491
12727
  resetAll();
12492
- }, resetTimer);
12728
+ }
12493
12729
  } else {
12494
- resetAll();
12730
+ if (gestureState.dx >= value.current * 0.8) {
12731
+ Animated.timing(translateX, {
12732
+ toValue: value.current - thumbOffset,
12733
+ // slide to the end
12734
+ duration: 300,
12735
+ useNativeDriver: false
12736
+ }).start();
12737
+ Animated.timing(sliderBackgroundColorRef, {
12738
+ toValue: 1,
12739
+ duration: 0,
12740
+ useNativeDriver: false
12741
+ }).start();
12742
+ setIsCompleted(true);
12743
+ onComplete?.();
12744
+ setTimeout(() => {
12745
+ resetAll();
12746
+ }, resetTimer);
12747
+ } else {
12748
+ resetAll();
12749
+ }
12495
12750
  }
12496
12751
  },
12497
12752
  onPanResponderTerminate: () => {
@@ -12507,49 +12762,62 @@ const CustomSlideButton = React.forwardRef(
12507
12762
  outputRange: [sliderBackgroundColor, "transparent"]
12508
12763
  });
12509
12764
  const { theme } = useTheme();
12510
- return /* @__PURE__ */ React.createElement(View, { style: {
12511
- ...styles$3.sliderContainer,
12512
- backgroundColor: theme.SURFACE_INVERTED,
12513
- ...containerStyle
12514
- }, onLayout: handleLayout, ref: cardRef }, /* @__PURE__ */ React.createElement(
12515
- Animated.View,
12516
- {
12517
- style: [styles$3.buttonTextContainer, { backgroundColor, transform: [{ translateX }] }],
12518
- ref: sliderConteinerRef
12519
- }
12520
- ), /* @__PURE__ */ React.createElement(
12521
- View,
12522
- {
12523
- style: styles$3.buttonTextContainer
12524
- },
12525
- /* @__PURE__ */ React.createElement(Animated.Text, { style: [{
12526
- alignSelf: "center",
12527
- ...textStyle
12528
- }, { color: textColor }] }, label)
12529
- ), /* @__PURE__ */ React.createElement(
12530
- Animated.View,
12765
+ return /* @__PURE__ */ React.createElement(
12766
+ LinearGradient$1,
12531
12767
  {
12532
- style: [styles$3.slider, { transform: [{ translateX }] }],
12533
- ...panResponder.panHandlers
12768
+ colors: OUTLINED_GRADIENT_COLORS,
12769
+ start: OUTLINED_GRADIENT_START,
12770
+ end: OUTLINED_GRADIENT_END,
12771
+ style: styles$2.gradientShell
12534
12772
  },
12535
12773
  /* @__PURE__ */ React.createElement(
12536
12774
  View,
12537
12775
  {
12538
- style: {
12539
- ...styles$3.button,
12540
- backgroundColor: theme.SURFACE_PRIMARY,
12541
- width: verticalScale(size),
12542
- height: verticalScale(size),
12543
- // borderRadius: verticalScale(size / 2),
12544
- ...sliderStyle
12545
- }
12776
+ style: [
12777
+ styles$2.sliderContainer,
12778
+ { backgroundColor: theme.SURFACE_INVERTED },
12779
+ containerStyle,
12780
+ isCompleted && { backgroundColor: theme.BUTTON_SUCCESS_FILL },
12781
+ isCompleted ? completedContainerStyle : void 0
12782
+ ],
12783
+ onLayout: handleLayout,
12784
+ ref: cardRef
12546
12785
  },
12547
- icon
12786
+ /* @__PURE__ */ React.createElement(
12787
+ Animated.View,
12788
+ {
12789
+ style: [styles$2.buttonTextContainer, { backgroundColor, transform: [{ translateX }] }],
12790
+ ref: sliderConteinerRef
12791
+ }
12792
+ ),
12793
+ /* @__PURE__ */ React.createElement(View, { style: styles$2.buttonTextContainer }, /* @__PURE__ */ React.createElement(Animated.Text, { style: [{ alignSelf: "center", ...textStyle }, { color: textColor }] }, label)),
12794
+ /* @__PURE__ */ React.createElement(
12795
+ Animated.View,
12796
+ {
12797
+ style: [styles$2.slider, { transform: [{ translateX }] }],
12798
+ ...panResponder.panHandlers
12799
+ },
12800
+ /* @__PURE__ */ React.createElement(
12801
+ View,
12802
+ {
12803
+ style: {
12804
+ ...styles$2.button,
12805
+ backgroundColor: theme.SURFACE_PRIMARY,
12806
+ width: verticalScale(size),
12807
+ height: verticalScale(size),
12808
+ ...sliderStyle
12809
+ }
12810
+ },
12811
+ icon
12812
+ )
12813
+ )
12548
12814
  )
12549
- ));
12815
+ );
12550
12816
  }
12551
12817
  );
12552
- var index$2 = withThemeProvider(CustomSlideButton);
12818
+ var index$3 = withThemeProvider(
12819
+ CustomSlideButton
12820
+ );
12553
12821
 
12554
12822
  const DHRE_STROKE = {
12555
12823
  NONE: 0,
@@ -12609,7 +12877,7 @@ const AVATAR_SPEC = {
12609
12877
  ringInset: 6
12610
12878
  }
12611
12879
  };
12612
- const createStyles = (size, theme) => {
12880
+ const createStyles$1 = (size, theme) => {
12613
12881
  const dimensions = AVATAR_SPEC[size];
12614
12882
  return StyleSheet.create({
12615
12883
  container: {
@@ -12685,9 +12953,9 @@ const createStyles = (size, theme) => {
12685
12953
  }
12686
12954
  });
12687
12955
  };
12688
- const smallStyles = (theme) => createStyles(AvatarSize.SMALL, theme);
12689
- const mediumStyles = (theme) => createStyles(AvatarSize.MEDIUM, theme);
12690
- const largeStyles = (theme) => createStyles(AvatarSize.LARGE, theme);
12956
+ const smallStyles = (theme) => createStyles$1(AvatarSize.SMALL, theme);
12957
+ const mediumStyles = (theme) => createStyles$1(AvatarSize.MEDIUM, theme);
12958
+ const largeStyles = (theme) => createStyles$1(AvatarSize.LARGE, theme);
12691
12959
  const getStylesBySize = (size, theme) => {
12692
12960
  switch (size) {
12693
12961
  case "small":
@@ -12838,7 +13106,7 @@ const Avatar = (props) => {
12838
13106
  };
12839
13107
  var Avatar$1 = withThemeProvider(Avatar);
12840
13108
 
12841
- const styles$2 = StyleSheet.create({
13109
+ const styles$1 = StyleSheet.create({
12842
13110
  accordionContainer: {
12843
13111
  gap: verticalScale(8),
12844
13112
  marginHorizontal: horizontalScale(24),
@@ -12943,13 +13211,13 @@ const AppointmentCard = ({
12943
13211
  isOpen,
12944
13212
  onToggle,
12945
13213
  containerStyle: {
12946
- ...styles$2.accordionStyle,
13214
+ ...styles$1.accordionStyle,
12947
13215
  backgroundColor: theme.SURFACE_SECONDARY,
12948
13216
  borderColor: theme.BORDER_SEPERATOR_HEADER,
12949
13217
  borderBottomColor: theme.BORDER_SEPERATOR_HEADER
12950
13218
  },
12951
- headerStyle: styles$2.accordionHeader,
12952
- headerComponent: () => /* @__PURE__ */ React.createElement(View, { style: styles$2.accordionHeaderContent }, headerIcon, /* @__PURE__ */ React.createElement(View, { style: styles$2.accordionText }, /* @__PURE__ */ React.createElement(
13219
+ headerStyle: styles$1.accordionHeader,
13220
+ headerComponent: () => /* @__PURE__ */ React.createElement(View, { style: styles$1.accordionHeaderContent }, headerIcon, /* @__PURE__ */ React.createElement(View, { style: styles$1.accordionText }, /* @__PURE__ */ React.createElement(
12953
13221
  CustomTypography,
12954
13222
  {
12955
13223
  text: headerTitle,
@@ -12970,18 +13238,18 @@ const AppointmentCard = ({
12970
13238
  View,
12971
13239
  {
12972
13240
  style: [
12973
- styles$2.accordionDetails,
13241
+ styles$1.accordionDetails,
12974
13242
  { borderTopColor: theme.BORDER_SEPERATOR_HEADER }
12975
13243
  ]
12976
13244
  },
12977
- /* @__PURE__ */ React.createElement(View, { style: styles$2.appointmentInfo }, data.map(({ title: title2, value, isLocation, isStatus }) => /* @__PURE__ */ React.createElement(View, { style: styles$2.infoColumn, key: title2 }, /* @__PURE__ */ React.createElement(
13245
+ /* @__PURE__ */ React.createElement(View, { style: styles$1.appointmentInfo }, data.map(({ title: title2, value, isLocation, isStatus }) => /* @__PURE__ */ React.createElement(View, { style: styles$1.infoColumn, key: title2 }, /* @__PURE__ */ React.createElement(
12978
13246
  CustomTypography,
12979
13247
  {
12980
13248
  text: title2,
12981
13249
  variant: FontStyle.L3_REGULAR,
12982
13250
  style: { color: theme.CONTENT_SECONDRY }
12983
13251
  }
12984
- ), /* @__PURE__ */ React.createElement(View, { style: styles$2.infoRow }, isStatus && statusIcon, /* @__PURE__ */ React.createElement(
13252
+ ), /* @__PURE__ */ React.createElement(View, { style: styles$1.infoRow }, isStatus && statusIcon, /* @__PURE__ */ React.createElement(
12985
13253
  CustomTypography,
12986
13254
  {
12987
13255
  text: value,
@@ -12996,7 +13264,7 @@ const AppointmentCard = ({
12996
13264
  text: directionText,
12997
13265
  variant: FontStyle.L2_REGULAR,
12998
13266
  style: [
12999
- styles$2.getDirectionsText,
13267
+ styles$1.getDirectionsText,
13000
13268
  { color: theme.CONTENT_PRIMARY }
13001
13269
  ],
13002
13270
  onPress: onDirectionPress
@@ -13006,7 +13274,7 @@ const AppointmentCard = ({
13006
13274
  View,
13007
13275
  {
13008
13276
  style: [
13009
- styles$2.infoContainer,
13277
+ styles$1.infoContainer,
13010
13278
  {
13011
13279
  backgroundColor: theme.SURFACE_TERTIARY
13012
13280
  }
@@ -13026,7 +13294,7 @@ const AppointmentCard = ({
13026
13294
  View,
13027
13295
  {
13028
13296
  style: [
13029
- styles$2.actionsContainer,
13297
+ styles$1.actionsContainer,
13030
13298
  {
13031
13299
  borderTopColor: theme.BORDER_SEPERATOR_HEADER
13032
13300
  }
@@ -13038,7 +13306,7 @@ const AppointmentCard = ({
13038
13306
  text: viewText,
13039
13307
  variant: FontStyle.L2_REGULAR,
13040
13308
  style: [
13041
- styles$2.viewText,
13309
+ styles$1.viewText,
13042
13310
  {
13043
13311
  color: theme.CONTENT_PRIMARY
13044
13312
  }
@@ -13046,12 +13314,12 @@ const AppointmentCard = ({
13046
13314
  onPress: onViewDetailsPress
13047
13315
  }
13048
13316
  ),
13049
- /* @__PURE__ */ React.createElement(View, { style: styles$2.actionIcons }, /* @__PURE__ */ React.createElement(
13317
+ /* @__PURE__ */ React.createElement(View, { style: styles$1.actionIcons }, /* @__PURE__ */ React.createElement(
13050
13318
  CustomIcon$1,
13051
13319
  {
13052
13320
  icon: deleteIcon,
13053
13321
  containerStyle: {
13054
- ...styles$2.iconContainer,
13322
+ ...styles$1.iconContainer,
13055
13323
  backgroundColor: theme.SURFACE_INVERTED
13056
13324
  },
13057
13325
  onPress: onDeletePress
@@ -13061,7 +13329,7 @@ const AppointmentCard = ({
13061
13329
  {
13062
13330
  icon: editIcon,
13063
13331
  containerStyle: {
13064
- ...styles$2.iconContainer,
13332
+ ...styles$1.iconContainer,
13065
13333
  backgroundColor: theme.SURFACE_INVERTED
13066
13334
  },
13067
13335
  onPress: onEditPress
@@ -13071,26 +13339,37 @@ const AppointmentCard = ({
13071
13339
  )
13072
13340
  );
13073
13341
  };
13074
- var index$1 = withThemeProvider(AppointmentCard);
13342
+ var index$2 = withThemeProvider(AppointmentCard);
13075
13343
 
13076
- const styles$1 = StyleSheet.create({
13344
+ const styles = StyleSheet.create({
13077
13345
  container: {
13078
13346
  flexDirection: "row",
13079
- justifyContent: "space-between",
13080
13347
  alignItems: "center",
13081
- paddingHorizontal: horizontalScale(24),
13082
- paddingVertical: verticalScale(16),
13083
- borderTopWidth: 1,
13084
- borderBottomWidth: 1
13348
+ padding: moderateScale(12),
13349
+ columnGap: horizontalScale(12)
13350
+ },
13351
+ imageWrapper: {
13352
+ width: moderateScale(112),
13353
+ height: moderateScale(112),
13354
+ borderRadius: moderateScale(8),
13355
+ overflow: "hidden"
13356
+ },
13357
+ brandBadge: {
13358
+ position: "absolute",
13359
+ top: moderateScale(8),
13360
+ right: moderateScale(8),
13361
+ // width: moderateScale(40),
13362
+ // height: moderateScale(40),
13363
+ // borderRadius: moderateScale(120),
13364
+ overflow: "hidden",
13365
+ // backgroundColor: '#FFFFFF',
13366
+ alignItems: "center",
13367
+ justifyContent: "center"
13085
13368
  },
13086
13369
  propertyInfo: {
13087
13370
  flex: 1,
13088
- rowGap: verticalScale(4)
13089
- },
13090
- arrowIconContainer: {
13091
- width: moderateScale(32),
13092
- height: moderateScale(32),
13093
- borderRadius: moderateScale(25)
13371
+ justifyContent: "center",
13372
+ rowGap: verticalScale(8)
13094
13373
  },
13095
13374
  propertyNumber: {
13096
13375
  flexDirection: "row",
@@ -13111,87 +13390,104 @@ const PropertyDetails = ({
13111
13390
  subTitleStyle,
13112
13391
  propertyNumberStyle,
13113
13392
  onRightIconPress,
13114
- titleStyle
13393
+ titleStyle,
13394
+ isSelected = false
13115
13395
  }) => {
13116
13396
  const { theme } = useTheme();
13117
13397
  return /* @__PURE__ */ React.createElement(
13118
13398
  View,
13119
13399
  {
13120
- style: {
13121
- ...styles$1.container,
13122
- backgroundColor: theme.SURFACE_SECONDARY,
13123
- borderColor: theme.BORDER_SEPERATOR_HEADER,
13124
- ...containerStyle,
13125
- ...{ borderRadius: 0 }
13126
- }
13400
+ style: [
13401
+ styles.container,
13402
+ {
13403
+ backgroundColor: theme.SURFACE_PRIMARY,
13404
+ borderColor: isSelected ? theme.STROKE_ACTIVE : theme.STROKE_TERTIARY
13405
+ },
13406
+ isSelected && {
13407
+ shadowColor: "rgba(0,157,179,0.1)",
13408
+ shadowOffset: { width: 0, height: 4 },
13409
+ shadowOpacity: 1,
13410
+ shadowRadius: 10,
13411
+ elevation: 4
13412
+ },
13413
+ containerStyle
13414
+ ]
13127
13415
  },
13128
- React.cloneElement(icon, {
13129
- width: moderateScale(87),
13130
- height: moderateScale(87),
13131
- borderRadius: 0
13132
- }),
13133
- /* @__PURE__ */ React.createElement(View, { style: styles$1.propertyInfo }, brandIcon, /* @__PURE__ */ React.createElement(
13416
+ /* @__PURE__ */ React.createElement(View, { style: styles.imageWrapper }, React.cloneElement(icon, {
13417
+ width: "100%",
13418
+ height: "100%",
13419
+ borderRadius: DHRE_RADIUS.MD
13420
+ }), brandIcon && /* @__PURE__ */ React.createElement(View, { style: styles.brandBadge }, brandIcon)),
13421
+ /* @__PURE__ */ React.createElement(View, { style: styles.propertyInfo }, propertyNumber && /* @__PURE__ */ React.createElement(View, { style: [styles.propertyNumber, propertyNumberStyle] }, /* @__PURE__ */ React.createElement(
13134
13422
  CustomTypography,
13135
13423
  {
13136
- text: title,
13137
- variant: FontStyle.L2_REGULAR,
13138
- style: [{ color: theme.CONTENT_PRIMARY }, titleStyle]
13424
+ text: propertyNumber,
13425
+ variant: FontStyle.BODY3_LIGHT,
13426
+ style: { color: theme.CONTENT_SECONDRY }
13139
13427
  }
13140
- ), /* @__PURE__ */ React.createElement(
13428
+ ), hintIcon), /* @__PURE__ */ React.createElement(
13141
13429
  CustomTypography,
13142
13430
  {
13143
13431
  text: subTitle,
13144
- variant: FontStyle.L1_REGULAR,
13432
+ variant: FontStyle.BODY4_LIGHT,
13145
13433
  style: [{ color: theme.CONTENT_PRIMARY }, subTitleStyle]
13146
13434
  }
13147
- ), propertyNumber && /* @__PURE__ */ React.createElement(View, { style: [styles$1.propertyNumber, propertyNumberStyle] }, /* @__PURE__ */ React.createElement(
13435
+ ), /* @__PURE__ */ React.createElement(
13148
13436
  CustomTypography,
13149
13437
  {
13150
- text: propertyNumber,
13151
- variant: FontStyle.L2_REGULAR,
13152
- style: {
13153
- color: theme.CONTENT_SECONDRY
13154
- }
13438
+ text: title,
13439
+ variant: FontStyle.BODY1_MEDIUM,
13440
+ style: [{ color: theme.CONTENT_PRIMARY }, titleStyle]
13155
13441
  }
13156
- ), hintIcon)),
13442
+ )),
13157
13443
  btnIcon && /* @__PURE__ */ React.createElement(
13158
13444
  CustomIcon$1,
13159
13445
  {
13160
13446
  icon: btnIcon,
13161
- containerStyle: {
13162
- ...styles$1.arrowIconContainer,
13163
- backgroundColor: theme.SURFACE_INVERTED
13164
- },
13165
13447
  onPress: onRightIconPress
13166
13448
  }
13167
13449
  )
13168
13450
  );
13169
13451
  };
13170
- var index = withThemeProvider(PropertyDetails);
13452
+ var index$1 = withThemeProvider(PropertyDetails);
13171
13453
 
13172
- const styles = StyleSheet.create({
13173
- container: {
13174
- rowGap: verticalScale(12)
13175
- },
13176
- optionContainer: {
13177
- flexDirection: "row",
13178
- columnGap: horizontalScale(8),
13179
- alignItems: "center"
13180
- },
13181
- radioButton: {
13182
- width: moderateScale(16),
13183
- height: moderateScale(16),
13184
- borderRadius: moderateScale(10),
13185
- borderWidth: moderateScale(1.5),
13186
- borderColor: "#000"
13187
- },
13188
- radioButtonSelected: {
13189
- backgroundColor: "#000"
13190
- },
13191
- label: {
13192
- color: "#000"
13193
- }
13194
- });
13454
+ const createStyles = (themeColors, size, radioColor) => {
13455
+ const radioSize = size === "large" ? moderateScale(24) : moderateScale(20);
13456
+ const dotSize = size === "large" ? moderateScale(12) : moderateScale(10);
13457
+ const resolvedRadioColor = radioColor ?? themeColors[Theme.STROKE_ACTIVE];
13458
+ return StyleSheet.create({
13459
+ container: {
13460
+ rowGap: verticalScale(12)
13461
+ },
13462
+ optionContainer: {
13463
+ flexDirection: "row",
13464
+ columnGap: horizontalScale(8),
13465
+ alignItems: "flex-start"
13466
+ },
13467
+ radioButton: {
13468
+ width: radioSize,
13469
+ height: radioSize,
13470
+ borderRadius: moderateScale(100),
13471
+ borderWidth: 1,
13472
+ borderColor: resolvedRadioColor,
13473
+ justifyContent: "center",
13474
+ alignItems: "center"
13475
+ },
13476
+ radioButtonSelected: {
13477
+ borderWidth: 2,
13478
+ backgroundColor: themeColors[Theme.CONTENT_INVERTED]
13479
+ },
13480
+ radioButtonInnerDot: {
13481
+ width: dotSize,
13482
+ height: dotSize,
13483
+ borderRadius: moderateScale(50),
13484
+ backgroundColor: resolvedRadioColor
13485
+ },
13486
+ label: {
13487
+ color: themeColors[Theme.CONTENT_PRIMARY]
13488
+ }
13489
+ });
13490
+ };
13195
13491
 
13196
13492
  const RadioButtonGroup = ({
13197
13493
  data,
@@ -13199,8 +13495,13 @@ const RadioButtonGroup = ({
13199
13495
  containerStyle,
13200
13496
  labelStyle,
13201
13497
  optionContainerStyle,
13202
- selectedValue
13498
+ selectedValue,
13499
+ size = "large",
13500
+ fontVariant,
13501
+ radioColor
13203
13502
  }) => {
13503
+ const { theme } = useTheme();
13504
+ const styles = createStyles(theme, size, radioColor);
13204
13505
  const [selectedOption, setSelectedOption] = useState(
13205
13506
  selectedValue ?? data[0]?.value
13206
13507
  );
@@ -13208,12 +13509,14 @@ const RadioButtonGroup = ({
13208
13509
  setSelectedOption(item.value);
13209
13510
  onSelect(item);
13210
13511
  };
13512
+ const resolvedFontVariant = fontVariant ?? (size === "small" ? FontStyle.BODY2_MEDIUM : FontStyle.BODY1_MEDIUM);
13211
13513
  return /* @__PURE__ */ React.createElement(View, { style: [styles.container, containerStyle] }, data?.map((item) => /* @__PURE__ */ React.createElement(
13212
13514
  TouchableOpacity,
13213
13515
  {
13214
13516
  key: item.value,
13215
13517
  style: [styles.optionContainer, optionContainerStyle],
13216
- onPress: () => handleSelect(item)
13518
+ onPress: () => handleSelect(item),
13519
+ activeOpacity: 1
13217
13520
  },
13218
13521
  /* @__PURE__ */ React.createElement(
13219
13522
  View,
@@ -13222,18 +13525,20 @@ const RadioButtonGroup = ({
13222
13525
  styles.radioButton,
13223
13526
  selectedOption === item.value && styles.radioButtonSelected
13224
13527
  ]
13225
- }
13528
+ },
13529
+ selectedOption === item.value && /* @__PURE__ */ React.createElement(View, { style: styles.radioButtonInnerDot })
13226
13530
  ),
13227
13531
  /* @__PURE__ */ React.createElement(
13228
13532
  CustomTypography,
13229
13533
  {
13230
- variant: FontStyle.L1_REGULAR,
13534
+ variant: resolvedFontVariant,
13231
13535
  text: item.label,
13232
13536
  style: [styles.label, labelStyle]
13233
13537
  }
13234
13538
  )
13235
13539
  )));
13236
13540
  };
13541
+ var index = withThemeProvider(RadioButtonGroup);
13237
13542
 
13238
- export { Accordion$1 as Accordion, AnimationWithImperativeApi as AnimationLoitte, index$1 as AppointmentCard, Avatar$1 as Avatar, AvatarSize, Background$1 as Background, BackgroundVariant, Badge$1 as Badge, BottomDrawer$1 as BottomDrawer, Button, Cards, category as Category, CheckBox, Chip$1 as Chip, ContactModel, CountryDropDown as CountryPicker, CustomDropdown$1 as CustomDropdown, CustomHeader$1 as CustomHeader, CustomIcon$1 as CustomIcon, CustomLoader$1 as CustomLoader, CustomProgressBar$1 as CustomProgressBar, CustomSearchBar$1 as CustomSearchBar, index$2 as CustomSlideButton, CustomSwitchBtn, CustomText$1 as CustomText, CustomTextInput, CustomTooltip, CustomTypography, DHRE_AVATAR_SIZE, DHRE_COLORS_ALERT, DHRE_COLORS_BG, DHRE_COLORS_PRIMARY, DHRE_COLORS_SECONDARY, DHRE_COLORS_TEXT, DHRE_COMPONENT_HEIGHT, DHRE_CORE_BLUE, DHRE_CYAN_HIGHLIGHT, DHRE_DEEP_SPACE_BLUE, DHRE_DEFAULT, DHRE_ICON_SIZE, DHRE_IMAGE_SIZE, DHRE_INFO_BLUE, DHRE_ORANGE_WARNING, DHRE_PADDING, DHRE_PADDING_BASE, DHRE_RADIUS, DHRE_RADIUS_BASE, DHRE_RED_ERROR, DHRE_SPACING, DHRE_SPACING_BASE, DHRE_STROKE, DHRE_SUCCESS_GREEN, DHRE_WHITE, DateRangePicker$1 as DateRangePicker, DropDown, FONT_STYLES, feedback as FeedbackForm, FileUpload, FontStyle, Line, Loader$1 as Loader, NAKHEEL_DEFAULT, NotificationBandge, OTPInput, OurOffices as OurOfficesButton, PdfView, PopUp, index as PropertyDetails, RadioButtonGroup, ShapeType, TagSingleSelection as SingleSelectionTags, Star as StarRating, index$3 as Stepper, SwipableList$1 as SwipableList, Tabs$1 as Tabs, Tags, TextDirectType, Textinput as TextInput, Theme, ToastWithProvider as Toast, CustomSwitch as ToggleButton, ToggleButtonType, ToggleTextType, Topic$1 as Topic, copyToClipboard, theme as default, height, horizontalScale, moderateScale, toastService, verticalScale, width };
13543
+ export { Accordion$1 as Accordion, AnimationWithImperativeApi as AnimationLoitte, index$2 as AppointmentCard, Avatar$1 as Avatar, AvatarSize, Background$1 as Background, BackgroundVariant, Badge$1 as Badge, BottomDrawer$1 as BottomDrawer, Button, Cards, category as Category, CheckBox, Chip$1 as Chip, ContactModel, CountryDropDown as CountryPicker, CustomDropdown$1 as CustomDropdown, CustomHeader$1 as CustomHeader, CustomIcon$1 as CustomIcon, CustomLoader$1 as CustomLoader, CustomProgressBar$1 as CustomProgressBar, CustomSearchBar$1 as CustomSearchBar, index$3 as CustomSlideButton, CustomSwitchBtn, CustomText$1 as CustomText, CustomTextInput, CustomTooltip, CustomTypography, DHRE_AVATAR_SIZE, DHRE_COLORS_ALERT, DHRE_COLORS_BG, DHRE_COLORS_PRIMARY, DHRE_COLORS_SECONDARY, DHRE_COLORS_TEXT, DHRE_COMPONENT_HEIGHT, DHRE_CONFIRMATION_BASE_GRADIENT, DHRE_CONFIRMATION_ERROR_GRADIENT, DHRE_CORE_BLUE, DHRE_CYAN_HIGHLIGHT, DHRE_DEEP_SPACE_BLUE, DHRE_DEFAULT, DHRE_ICON_SIZE, DHRE_IMAGE_SIZE, DHRE_INFO_BLUE, DHRE_ORANGE_WARNING, DHRE_PADDING, DHRE_PADDING_BASE, DHRE_RADIUS, DHRE_RADIUS_BASE, DHRE_RED_ERROR, DHRE_SPACING, DHRE_SPACING_BASE, DHRE_STROKE, DHRE_SUCCESS_GREEN, DHRE_WHITE, DateRangePicker$1 as DateRangePicker, DropDown, FONT_STYLES, feedback as FeedbackForm, FileUpload, FontStyle, Line, Loader$1 as Loader, NAKHEEL_DEFAULT, NotificationBandge, OTPInput, OurOffices as OurOfficesButton, PdfView, PopUp, index$1 as PropertyDetails, index as RadioButtonGroup, ShapeType, TagSingleSelection as SingleSelectionTags, Star as StarRating, index$4 as Stepper, SwipableList$1 as SwipableList, Tabs$1 as Tabs, Tags, TextDirectType, Textinput as TextInput, Theme, ToastWithProvider as Toast, CustomSwitch as ToggleButton, ToggleButtonType, ToggleTextType, Topic$1 as Topic, copyToClipboard, theme as default, height, horizontalScale, moderateScale, toastService, verticalScale, width };
13239
13544
  //# sourceMappingURL=index.mjs.map