dhre-ui-kit 3.2.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -8,11 +8,11 @@ var reactNative = require('react-native');
8
8
  var Svg = require('react-native-svg');
9
9
  var Modal = require('react-native-modal');
10
10
  var Clipboard = require('@react-native-clipboard/clipboard');
11
- var LinearGradient = require('react-native-linear-gradient');
12
11
  var Tooltip = require('react-native-walkthrough-tooltip');
13
12
  var Pdf = require('react-native-pdf');
14
13
  var Progress = require('react-native-progress');
15
14
  var reactNativeGestureHandler = require('react-native-gesture-handler');
15
+ var LinearGradient = require('react-native-linear-gradient');
16
16
  var LottieView = require('lottie-react-native');
17
17
  var DeviceInfo = require('react-native-device-info');
18
18
  var reactNativeCalendars = require('react-native-calendars');
@@ -44,10 +44,10 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
44
44
  var Svg__default = /*#__PURE__*/_interopDefaultLegacy(Svg);
45
45
  var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
46
46
  var Clipboard__default = /*#__PURE__*/_interopDefaultLegacy(Clipboard);
47
- var LinearGradient__default = /*#__PURE__*/_interopDefaultLegacy(LinearGradient);
48
47
  var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
49
48
  var Pdf__default = /*#__PURE__*/_interopDefaultLegacy(Pdf);
50
49
  var Progress__namespace = /*#__PURE__*/_interopNamespace(Progress);
50
+ var LinearGradient__default = /*#__PURE__*/_interopDefaultLegacy(LinearGradient);
51
51
  var LottieView__default = /*#__PURE__*/_interopDefaultLegacy(LottieView);
52
52
  var DeviceInfo__default = /*#__PURE__*/_interopDefaultLegacy(DeviceInfo);
53
53
  var CountryPicker__default = /*#__PURE__*/_interopDefaultLegacy(CountryPicker);
@@ -153,6 +153,7 @@ var Theme = /* @__PURE__ */ ((Theme2) => {
153
153
  Theme2["SURFACE_DISABLE"] = "SURFACE_DISABLE";
154
154
  Theme2["SURFACE_DISABLE_DARK"] = "SURFACE_DISABLE_DARK";
155
155
  Theme2["SURFACE_DISABLE_LIGHT"] = "SURFACE_DISABLE_LIGHT";
156
+ Theme2["SURFACE_DISABLE_SELECTED"] = "SURFACE_DISABLE_SELECTED";
156
157
  Theme2["SURFACE_INVERTED"] = "SURFACE_INVERTED";
157
158
  Theme2["SURFACE_INVERTED_TRANSPARENT"] = "SURFACE_INVERTED_TRANSPARENT";
158
159
  Theme2["SURFACE_DROP_SHADOW"] = "SURFACE_DROP_SHADOW";
@@ -165,6 +166,8 @@ var Theme = /* @__PURE__ */ ((Theme2) => {
165
166
  Theme2["SURFACE_WARNING_TRANSPARENT"] = "SURFACE_WARNING_TRANSPARENT";
166
167
  Theme2["SURFACE_ERROR"] = "SURFACE_ERROR";
167
168
  Theme2["SURFACE_ERROR_TRANSPARENT"] = "SURFACE_ERROR_TRANSPARENT";
169
+ Theme2["SURFACE_HIGHLIGHT"] = "SURFACE_HIGHLIGHT";
170
+ Theme2["SURFACE_POPOVER_HIGHLIGHT"] = "SURFACE_POPOVER_HIGHLIGHT";
168
171
  Theme2["CONTENT_PRIMARY"] = "CONTENT_PRIMARY";
169
172
  Theme2["CONTENT_SECONDRY"] = "CONTENT_SECONDRY";
170
173
  Theme2["CONTENT_TERTIARY"] = "CONTENT_TERTIARY";
@@ -172,6 +175,8 @@ var Theme = /* @__PURE__ */ ((Theme2) => {
172
175
  Theme2["CONTENT_DISABLE_DARK"] = "CONTENT_DISABLE_DARK";
173
176
  Theme2["CONTENT_DISABLE_LIGHT"] = "CONTENT_DISABLE_LIGHT";
174
177
  Theme2["CONTENT_INVERTED"] = "CONTENT_INVERTED";
178
+ Theme2["CONTENT_HIGHLIGHT"] = "CONTENT_HIGHLIGHT";
179
+ Theme2["CONTENT_ARROW_HIGHLIGHT"] = "CONTENT_ARROW_HIGHLIGHT";
175
180
  Theme2["CONTENT_STATIC"] = "CONTENT_STATIC";
176
181
  Theme2["CONTENT_PRIMARY_STATIC"] = "CONTENT_PRIMARY_STATIC";
177
182
  Theme2["CONTENT_SECONDRY_STATIC"] = "CONTENT_SECONDRY_STATIC";
@@ -208,6 +213,13 @@ var Theme = /* @__PURE__ */ ((Theme2) => {
208
213
  Theme2["BUTTON_DISABLED_FILL"] = "BUTTON_DISABLED_FILL";
209
214
  Theme2["BUTTON_DISABLED_FILL_2"] = "BUTTON_DISABLED_FILL_2";
210
215
  Theme2["BUTTON_SUCCESS_FILL"] = "BUTTON_SUCCESS_FILL";
216
+ Theme2["BUTTON_TERTIARY_DEFAULT_FILL"] = "BUTTON_TERTIARY_DEFAULT_FILL";
217
+ Theme2["BUTTON_TERTIARY_HOVER_FILL"] = "BUTTON_TERTIARY_HOVER_FILL";
218
+ Theme2["BUTTON_TERTIARY_DISABLED_FILL"] = "BUTTON_TERTIARY_DISABLED_FILL";
219
+ Theme2["BUTTON_SECONDARY_DEFAULT_STROKE"] = "BUTTON_SECONDARY_DEFAULT_STROKE";
220
+ Theme2["BUTTON_SECONDARY_DISABLED_STROKE"] = "BUTTON_SECONDARY_DISABLED_STROKE";
221
+ Theme2["BUTTON_QUATERNARY_DEFAULT_STROKE"] = "BUTTON_QUATERNARY_DEFAULT_STROKE";
222
+ Theme2["BUTTON_QUATERNARY_DISABLED_STROKE"] = "BUTTON_QUATERNARY_DISABLED_STROKE";
211
223
  Theme2["NOTIFICATIONS_INFO"] = "NOTIFICATIONS_INFO";
212
224
  Theme2["NOTIFICATIONS_HIGHLIGHT"] = "NOTIFICATIONS_HIGHLIGHT";
213
225
  Theme2["BLUR_20"] = "BLUR_20";
@@ -220,11 +232,19 @@ var Theme = /* @__PURE__ */ ((Theme2) => {
220
232
  Theme2["STROKE_SUCCESS"] = "STROKE_SUCCESS";
221
233
  Theme2["STROKE_WARNING"] = "STROKE_WARNING";
222
234
  Theme2["STROKE_INFO"] = "STROKE_INFO";
235
+ Theme2["STROKE_DISABLED_LIGHT"] = "STROKE_DISABLED_LIGHT";
223
236
  Theme2["STROKE_DISABLED_DARK"] = "STROKE_DISABLED_DARK";
224
237
  Theme2["STROKE_DISABLED_DARK2"] = "STROKE_DISABLED_DARK2";
225
238
  Theme2["STROKE_ACTIVE"] = "STROKE_ACTIVE";
226
239
  Theme2["STROKE_DISABLED_SELECTED"] = "STROKE_DISABLED_SELECTED";
227
240
  Theme2["SHADOW_10"] = "SHADOW_10";
241
+ Theme2["SHADOW_5"] = "SHADOW_5";
242
+ Theme2["SHADOW_20"] = "SHADOW_20";
243
+ Theme2["SHADOW_25"] = "SHADOW_25";
244
+ Theme2["SHADOW_HOVER_10"] = "SHADOW_HOVER_10";
245
+ Theme2["SHADOW_HOVER_20"] = "SHADOW_HOVER_20";
246
+ Theme2["SHADOW_HOVER_40"] = "SHADOW_HOVER_40";
247
+ Theme2["SHADOW_SOFT_LIGHTEST"] = "SHADOW_SOFT_LIGHTEST";
228
248
  return Theme2;
229
249
  })(Theme || {});
230
250
 
@@ -415,19 +435,22 @@ const DHRE_COLORS_TEXT = {
415
435
  DH_SOFT_GRAY: "#EEEEEE80"
416
436
  };
417
437
  const DHRE_DEEP_SPACE_BLUE = {
418
- 950: "#000A28",
419
- 900: "#18213B",
420
- 800: "#0E2350",
421
- 700: "#334671",
422
- 600: "#4D5F86",
423
- 500: "#6A7897",
424
- 400: "#8994AF",
425
- 300: "#BFC7DB",
426
- 200: "#D8DDEA",
427
- 100: "#F5F8FF",
428
- DSP_900_TRANSPERANT_20: "rgba(0, 10, 40, 0.20)",
429
- DSP_900_TRANSPERANT_10: "rgba(0, 10, 40, 0.10)",
430
- DSP_900_TRANSPERANT_30: "rgba(0, 10, 40, 0.30)"
438
+ 950: "#0F1B2D",
439
+ 900: "#203041",
440
+ 800: "#3F4957",
441
+ 700: "#575F6C",
442
+ 600: "#6F7681",
443
+ 500: "#878D96",
444
+ 400: "#9FA4AB",
445
+ 300: "#B7BBC0",
446
+ 200: "#CFD1D5",
447
+ 100: "#E9E9E9",
448
+ 50: "#F3F4F4",
449
+ // Base rgb (39, 50, 66) = Deep Space Blue - Supporting/900. The 30% step has no
450
+ // corresponding DHDS export entry; extrapolated from the 10%/20% steps that do.
451
+ DSP_900_TRANSPERANT_10: "rgba(39, 50, 66, 0.10)",
452
+ DSP_900_TRANSPERANT_20: "rgba(39, 50, 66, 0.20)",
453
+ DSP_900_TRANSPERANT_30: "rgba(39, 50, 66, 0.30)"
431
454
  };
432
455
  const DHRE_CORE_BLUE = {
433
456
  400: "#15214B",
@@ -437,6 +460,12 @@ const DHRE_CORE_BLUE = {
437
460
  50: "#E3E9FC",
438
461
  TRANSPARENT_60: "rgba(0, 30, 140, 0.60)"
439
462
  };
463
+ const DHRE_CORE_TEAL = {
464
+ 500: "#003F48",
465
+ 400: "#077280",
466
+ 300: "#009DB3",
467
+ 100: "#9ADFE8"
468
+ };
440
469
  const DHRE_CYAN_HIGHLIGHT = {
441
470
  600: "#0072B5",
442
471
  500: "#009FD4",
@@ -454,49 +483,50 @@ const DHRE_WHITE = {
454
483
  TRANSPARENT_10: "rgba(255, 255, 255, 0.10)"
455
484
  };
456
485
  const DHRE_INFO_BLUE = {
457
- 400: "#07556C",
458
- 300: "#279DC1",
459
- 200: "#52C5E8",
460
- 100: "#C1EAFC",
461
- 50: "#E9F8FF",
462
- TRANSPARENT_35: "rgba(233, 248, 255, 0.35)",
463
- TRASNPARENT: "rgba(233, 248, 255, 0.10)"
486
+ 400: "#0081AD",
487
+ 300: "#00B4E0",
488
+ 200: "#4DCBE9",
489
+ 100: "#99E1F3",
490
+ 50: "#E5F7FC",
491
+ TRANSPARENT_35: "rgba(229, 247, 252, 0.35)",
492
+ TRASNPARENT: "rgba(229, 247, 252, 0.10)"
464
493
  };
465
494
  const DHRE_SUCCESS_GREEN = {
466
- 400: "#347243",
467
- 300: "#4EAB65",
468
- 200: "#89C798",
469
- 100: "#C4E3CC",
495
+ 400: "#00A882",
496
+ 300: "#23DBB5",
497
+ 200: "#80EFD8",
498
+ 100: "#A7F1E1",
470
499
  50: "#EBF7EE",
471
- TRANSPARENT_50: "rgba(137, 199, 152, 0.50)",
472
- TRANSPARENT_10: "rgba(137, 199, 152, 0.10)",
473
- TRANSPARENT_30: "rgba(137, 199, 152, 0.30)"
500
+ TRANSPARENT_50: "rgba(0, 168, 130, 0.50)",
501
+ TRANSPARENT_10: "rgba(0, 168, 130, 0.10)",
502
+ TRANSPARENT_30: "rgba(0, 168, 130, 0.30)"
474
503
  };
475
504
  const DHRE_ORANGE_WARNING = {
476
- 400: "#A4560E",
505
+ 400: "#D26C0E",
477
506
  300: "#EB8425",
478
- 200: "#EEAA6A",
479
- 100: "#FFE0C3",
507
+ 200: "#F1A966",
508
+ 100: "#F7CEA8",
480
509
  50: "#FFF4EA",
481
- TRANSPARENT_60: "#rgba(238, 170, 106, 0.60)",
482
- TRANSPARENT_10: "rgba(238, 170, 106, 0.10)"
510
+ TRANSPARENT_60: "rgba(241, 169, 102, 0.60)",
511
+ TRANSPARENT_10: "rgba(241, 169, 102, 0.10)"
483
512
  };
484
513
  const DHRE_RED_ERROR = {
485
- 400: "#9D032C",
486
- 300: "#EB0542",
487
- 200: "#F0809E",
488
- 100: "#FCE1E8",
514
+ 400: "#8E0000",
515
+ 300: "#DB2348",
516
+ 200: "#F67F97",
517
+ 150: "#F1A7B6",
518
+ 100: "#FEBDCA",
489
519
  50: "#FFF2F5",
490
- TRANSPARENT_400_60: "rgba(235, 5, 66, 0.60)",
491
- TRANSPARENT_400_10: "rgba(235, 5, 66, 0.10)"
520
+ TRANSPARENT_400_60: "rgba(219, 35, 72, 0.60)",
521
+ TRANSPARENT_400_10: "rgba(219, 35, 72, 0.10)"
492
522
  };
493
523
  const DHRE_CONFIRMATION_ERROR_GRADIENT = {
494
- light: ["#F0809E", "#FFFFFF"],
495
- dark: ["#EB0542", "#000A28"]
524
+ light: ["#F67F97", "#FFFFFF"],
525
+ dark: ["#F67F97", "#0F1B2D"]
496
526
  };
497
527
  const DHRE_CONFIRMATION_BASE_GRADIENT = {
498
- light: ["rgba(165, 233, 255, 0)", "#52C5E8"],
499
- dark: ["rgba(165, 233, 255, 0)", "#279DC1"]
528
+ light: ["rgba(0, 180, 224, 0)", "#00B4E0"],
529
+ dark: ["rgba(0, 180, 224, 0)", "#00B4E0"]
500
530
  };
501
531
  const GRADIENT_COLORS_SUCCESS = {
502
532
  light: [
@@ -566,39 +596,39 @@ const GRADIENT_COLORS_PENDING = {
566
596
  const theme = {
567
597
  [Theme.SURFACE_PRIMARY]: {
568
598
  light: "#FFFFFF",
569
- dark: "#000A28"
599
+ dark: "#0F1B2D"
570
600
  },
571
601
  [Theme.SURFACE_PRIMARY_NAKHEEL]: {
572
602
  light: "#E3D6BF",
573
603
  dark: "#000000"
574
604
  },
575
605
  [Theme.SURFACE_PRIMARY_CARDS]: {
576
- light: "#F5F8FF",
577
- dark: "#18213B"
606
+ light: "#F3F4F4",
607
+ dark: "#203041"
578
608
  },
579
609
  [Theme.SURFACE_PRIMARY_TRANSPARENT]: {
580
- light: "rgba(0, 10, 40, 0.10)",
610
+ light: "rgba(39, 50, 66, 0.10)",
581
611
  dark: "rgba(255, 255, 255, 0.10)"
582
612
  },
583
613
  [Theme.SURFACE_SECONDARY]: {
584
- light: "#F5F8FF",
585
- dark: "#0E2350"
614
+ light: "#E9E9E9",
615
+ dark: "#3F4957"
586
616
  },
587
617
  [Theme.SURFACE_SECONDARY_NAKHEEL]: {
588
618
  light: "#F8F7F6",
589
619
  dark: "#00263A"
590
620
  },
591
621
  [Theme.SURFACE_SECONDARY_TRANSPARENT]: {
592
- light: "rgba(0, 10, 40, 0.10)",
593
- dark: "rgba(0, 10, 40, 0.10)"
622
+ light: "rgba(154, 223, 232, 0.05)",
623
+ dark: "rgba(39, 50, 66, 0.10)"
594
624
  },
595
625
  [Theme.SURFACE_TERTIARY]: {
596
- light: "#D8DDEA",
597
- dark: "#334671"
626
+ light: "#CFD1D5",
627
+ dark: "#575F6C"
598
628
  },
599
629
  [Theme.SURFACE_TERTIARY_TRANSPARENT]: {
600
- light: "rgba(60, 172, 252, 0.10)",
601
- dark: "rgba(60, 172, 252, 0.10)"
630
+ light: "rgba(0, 157, 179, 0.10)",
631
+ dark: "rgba(0, 157, 179, 0.05)"
602
632
  },
603
633
  [Theme.SURFACE_STATIC]: {
604
634
  light: "#FFFFFF",
@@ -616,16 +646,20 @@ const theme = {
616
646
  light: "#E1E1E1",
617
647
  dark: "#A7A7A7"
618
648
  },
649
+ [Theme.SURFACE_DISABLE_SELECTED]: {
650
+ light: "#9ADFE8",
651
+ dark: "#003F48"
652
+ },
619
653
  [Theme.SURFACE_DISABLE_DARK]: {
620
- light: "#334671",
621
- dark: "#8994AF"
654
+ light: "#CFD1D5",
655
+ dark: "#575F6C"
622
656
  },
623
657
  [Theme.SURFACE_DISABLE_LIGHT]: {
624
- light: "#BFC7DB",
625
- dark: "#334671"
658
+ light: "#6F7681",
659
+ dark: "#CFD1D5"
626
660
  },
627
661
  [Theme.SURFACE_INVERTED]: {
628
- light: "#000A28",
662
+ light: "#0F1B2D",
629
663
  dark: "#FFFFFF"
630
664
  },
631
665
  [Theme.SURFACE_INVERTED_TRANSPARENT]: {
@@ -637,51 +671,59 @@ const theme = {
637
671
  dark: "#373737"
638
672
  },
639
673
  [Theme.SURFACE_BLUR]: {
640
- light: "rgba(233, 248, 255, 0.35)",
674
+ light: "rgba(229, 247, 252, 0.50)",
641
675
  dark: "rgba(0, 0, 0, 0.50)"
642
676
  },
643
677
  [Theme.SURFACE_SUCCESS]: {
644
- light: "#89C798",
645
- dark: "#4EAB65"
678
+ light: "#23DBB5",
679
+ dark: "#23DBB5"
646
680
  },
647
681
  [Theme.SURFACE_SUCCESS_TRANSPARENT]: {
648
- light: "rgba(137, 199, 152, 0.10)",
649
- dark: "rgba(137, 199, 152, 0.50)"
682
+ light: "rgba(0, 168, 130, 0.10)",
683
+ dark: "rgba(0, 168, 130, 0.20)"
650
684
  },
651
685
  [Theme.SURFACE_INFO]: {
652
- light: "#52C5E8",
653
- dark: "#279DC1"
686
+ light: "#00B4E0",
687
+ dark: "#00B4E0"
654
688
  },
655
689
  [Theme.SURFACE_INFO_TRANSPARENT]: {
656
- light: "rgba(233, 248, 255, 0.35)",
657
- dark: "rgba(233, 248, 255, 0.10)"
690
+ light: "rgba(229, 247, 252, 0.50)",
691
+ dark: "rgba(229, 247, 252, 0.10)"
658
692
  },
659
693
  [Theme.SURFACE_WARNING]: {
660
- light: "#FFF4EA",
661
- dark: "#A4560E"
694
+ light: "#EB8425",
695
+ dark: "#EB8425"
662
696
  },
663
697
  [Theme.SURFACE_WARNING_TRANSPARENT]: {
664
- light: "rgba(238, 170, 106, 0.10)",
665
- dark: "rgba(238, 170, 106, 0.60)"
698
+ light: "rgba(241, 169, 102, 0.20)",
699
+ dark: "rgba(241, 169, 102, 0.20)"
666
700
  },
667
701
  [Theme.SURFACE_ERROR]: {
668
- light: "#F0809E",
669
- dark: "#EB0542"
702
+ light: "#F67F97",
703
+ dark: "#F67F97"
670
704
  },
671
705
  [Theme.SURFACE_ERROR_TRANSPARENT]: {
672
- light: "rgba(235, 5, 66, 0.10)",
673
- dark: "rgba(235, 5, 66, 0.60)"
706
+ light: "rgba(219, 35, 72, 0.10)",
707
+ dark: "rgba(219, 35, 72, 0.10)"
708
+ },
709
+ [Theme.SURFACE_HIGHLIGHT]: {
710
+ light: "#009DB3",
711
+ dark: "#009DB3"
712
+ },
713
+ [Theme.SURFACE_POPOVER_HIGHLIGHT]: {
714
+ light: "#009DB3",
715
+ dark: "#009DB3"
674
716
  },
675
717
  [Theme.CONTENT_PRIMARY]: {
676
- light: "#000A28",
718
+ light: "#0F1B2D",
677
719
  dark: "#FFFFFF"
678
720
  },
679
721
  [Theme.CONTENT_SECONDRY]: {
680
- light: "#0E2350",
681
- dark: "#BFC7DB"
722
+ light: "#3F4957",
723
+ dark: "#CFD1D5"
682
724
  },
683
725
  [Theme.CONTENT_TERTIARY]: {
684
- light: "#6F7681",
726
+ light: "#575F6C",
685
727
  dark: "#9FA4AB"
686
728
  },
687
729
  [Theme.CONTENT_SECONDARY_TEXT]: {
@@ -697,16 +739,24 @@ const theme = {
697
739
  dark: "#686868"
698
740
  },
699
741
  [Theme.CONTENT_DISABLE_DARK]: {
700
- light: "#6A7897",
701
- dark: "#6A7897"
742
+ light: "#B7BBC0",
743
+ dark: "#878D96"
702
744
  },
703
745
  [Theme.CONTENT_DISABLE_LIGHT]: {
704
- light: "#BFC7DB",
705
- dark: "#BFC7DB"
746
+ light: "#878D96",
747
+ dark: "#B7BBC0"
706
748
  },
707
749
  [Theme.CONTENT_INVERTED]: {
708
750
  light: "#FFFFFF",
709
- dark: "#000A28"
751
+ dark: "#0F1B2D"
752
+ },
753
+ [Theme.CONTENT_HIGHLIGHT]: {
754
+ light: "#009DB3",
755
+ dark: "#009DB3"
756
+ },
757
+ [Theme.CONTENT_ARROW_HIGHLIGHT]: {
758
+ light: "#80EFD8",
759
+ dark: "#80EFD8"
710
760
  },
711
761
  [Theme.CONTENT_STATIC]: {
712
762
  light: "#FFFFFF",
@@ -761,40 +811,40 @@ const theme = {
761
811
  dark: "#19394A"
762
812
  },
763
813
  [Theme.WARNING]: {
764
- light: "#EB8425",
765
- dark: "#EEAA6A"
814
+ light: "#D26C0E",
815
+ dark: "#EB8425"
766
816
  },
767
817
  [Theme.WARNING_EMPHASIS]: {
768
- light: "#A4560E",
769
- dark: "#FFE0C3"
818
+ light: "#9A4401",
819
+ dark: "#F7CEA8"
770
820
  },
771
821
  [Theme.SUCCESS]: {
772
- light: "#4EAB65",
773
- dark: "#89C798"
822
+ light: "#018869",
823
+ dark: "#80EFD8"
774
824
  },
775
825
  [Theme.SUCCESS_EMPHASIS]: {
776
- light: "#347243",
777
- dark: "#C4E3CC"
826
+ light: "#01513F",
827
+ dark: "#A7F1E1"
778
828
  },
779
829
  [Theme.INFO]: {
780
- light: "#279DC1",
781
- dark: "#52C5E8"
830
+ light: "#0081AD",
831
+ dark: "#00B4E0"
782
832
  },
783
833
  [Theme.INFO_EMPHASIS]: {
784
- light: "#07556C",
785
- dark: "#C1EAFC"
834
+ light: "#03526D",
835
+ dark: "#99E1F3"
786
836
  },
787
837
  [Theme.ERROR]: {
788
- light: "#EB0542",
789
- dark: "#F0809E"
838
+ light: "#DB2348",
839
+ dark: "#F67F97"
790
840
  },
791
841
  [Theme.ERROR_EMPHASIS]: {
792
- light: "#9D032C",
793
- dark: "#FCE1E8"
842
+ light: "#8E0000",
843
+ dark: "#FEBDCA"
794
844
  },
795
845
  [Theme.LINK]: {
796
- light: "#25C6FB",
797
- dark: "#2CD8FD"
846
+ light: "#0F1B2D",
847
+ dark: "#FFFFFF"
798
848
  },
799
849
  [Theme.LINK_INVERTED]: {
800
850
  light: "#0072B5",
@@ -817,40 +867,68 @@ const theme = {
817
867
  dark: "#C2C2C2"
818
868
  },
819
869
  [Theme.BUTTON_DEFAULT_FILL]: {
820
- light: "#000A28",
870
+ light: "#0F1B2D",
821
871
  dark: "#FFFFFF"
822
872
  },
823
873
  [Theme.BUTTON_HOVER_FILL]: {
824
- light: "#0E2350",
825
- dark: "#D8DDEA"
874
+ light: "#3F4957",
875
+ dark: "#CFD1D5"
826
876
  },
827
877
  [Theme.BUTTON_HOVER_FILL_SECONDARY]: {
828
- light: "#BFC7DB",
829
- dark: "#0E2350"
878
+ light: "#F3F4F4",
879
+ dark: "#203041"
830
880
  },
831
881
  [Theme.BUTTON_INVRTED_FILL]: {
832
882
  light: "#FFFFFF",
833
- dark: "#000A28"
883
+ dark: "#0F1B2D"
834
884
  },
835
885
  [Theme.BUTTON_DISABLED_FILL]: {
836
- light: "#BFC7DB",
837
- dark: "#D8DDEA"
886
+ light: "#203041",
887
+ dark: "#F3F4F4"
838
888
  },
839
889
  [Theme.BUTTON_DISABLED_FILL_2]: {
840
890
  light: "#8994AF",
841
891
  dark: "#BFC7DB"
842
892
  },
843
893
  [Theme.BUTTON_SUCCESS_FILL]: {
844
- light: "#4EAB65",
845
- dark: "#4EAB65"
894
+ light: "#23DBB5",
895
+ dark: "#23DBB5"
896
+ },
897
+ [Theme.BUTTON_TERTIARY_DEFAULT_FILL]: {
898
+ light: "#009DB3",
899
+ dark: "#009DB3"
900
+ },
901
+ [Theme.BUTTON_TERTIARY_HOVER_FILL]: {
902
+ light: "#077280",
903
+ dark: "#077280"
904
+ },
905
+ [Theme.BUTTON_TERTIARY_DISABLED_FILL]: {
906
+ light: "#9ADFE8",
907
+ dark: "#003F48"
908
+ },
909
+ [Theme.BUTTON_SECONDARY_DEFAULT_STROKE]: {
910
+ light: "#0F1B2D",
911
+ dark: "#FFFFFF"
912
+ },
913
+ [Theme.BUTTON_SECONDARY_DISABLED_STROKE]: {
914
+ light: "#CFD1D5",
915
+ dark: "#878D96"
916
+ },
917
+ [Theme.BUTTON_QUATERNARY_DEFAULT_STROKE]: {
918
+ light: "#009DB3",
919
+ dark: "#009DB3"
920
+ },
921
+ [Theme.BUTTON_QUATERNARY_DISABLED_STROKE]: {
922
+ light: "#9ADFE8",
923
+ dark: "#003F48"
846
924
  },
847
925
  [Theme.NOTIFICATIONS_INFO]: {
848
- light: "rgba(0, 10, 40, 0.20)",
926
+ light: "rgba(39, 50, 66, 0.20)",
849
927
  dark: "rgba(255, 255, 255, 0.30)"
850
928
  },
851
929
  [Theme.NOTIFICATIONS_HIGHLIGHT]: {
852
- light: "#0072B5",
853
- dark: "#2CD8FD"
930
+ light: "#23DBB5",
931
+ dark: "#80EFD8"
854
932
  },
855
933
  [Theme.BLUR_20]: {
856
934
  light: "rgba(255, 255, 255, 0.20)",
@@ -861,7 +939,7 @@ const theme = {
861
939
  dark: "rgba(0, 0, 0, 0.25)"
862
940
  },
863
941
  [Theme.STROKE_PRIMARY]: {
864
- dark: DHRE_DEEP_SPACE_BLUE[100],
942
+ dark: "#FFFFFF",
865
943
  light: DHRE_DEEP_SPACE_BLUE[950]
866
944
  },
867
945
  [Theme.STROKE_SECONDARY]: {
@@ -869,12 +947,12 @@ const theme = {
869
947
  light: DHRE_DEEP_SPACE_BLUE[400]
870
948
  },
871
949
  [Theme.STROKE_TERTIARY]: {
872
- dark: "#334671",
873
- light: "#BFC7DB"
950
+ dark: DHRE_DEEP_SPACE_BLUE[700],
951
+ light: DHRE_DEEP_SPACE_BLUE[300]
874
952
  },
875
953
  [Theme.STROKE_INVERTED]: {
876
954
  dark: DHRE_DEEP_SPACE_BLUE[950],
877
- light: DHRE_DEEP_SPACE_BLUE[300]
955
+ light: "#FFFFFF"
878
956
  },
879
957
  [Theme.STROKE_ERROR]: {
880
958
  dark: DHRE_RED_ERROR[200],
@@ -892,26 +970,59 @@ const theme = {
892
970
  dark: DHRE_ORANGE_WARNING[200],
893
971
  light: DHRE_ORANGE_WARNING[300]
894
972
  },
973
+ [Theme.STROKE_DISABLED_LIGHT]: {
974
+ dark: DHRE_DEEP_SPACE_BLUE[400],
975
+ light: DHRE_DEEP_SPACE_BLUE[600]
976
+ },
895
977
  [Theme.STROKE_DISABLED_DARK]: {
896
978
  dark: DHRE_DEEP_SPACE_BLUE[700],
897
- light: DHRE_DEEP_SPACE_BLUE[500]
979
+ light: DHRE_DEEP_SPACE_BLUE[300]
898
980
  },
899
981
  [Theme.STROKE_DISABLED_DARK2]: {
900
982
  dark: DHRE_DEEP_SPACE_BLUE[800],
901
983
  light: DHRE_DEEP_SPACE_BLUE[200]
902
984
  },
903
985
  [Theme.STROKE_ACTIVE]: {
904
- dark: "#009db3",
905
- light: "#009db3"
906
- // light-theme value pending DHDS Figma spec
986
+ dark: "#009DB3",
987
+ light: "#009DB3"
907
988
  },
908
989
  [Theme.STROKE_DISABLED_SELECTED]: {
909
- dark: "#003f48",
990
+ dark: "#003F48",
910
991
  light: "#9ADFE8"
911
992
  },
912
993
  [Theme.SHADOW_10]: {
913
994
  dark: "rgba(255, 255, 255, 0.20)",
914
995
  light: "rgba(0, 0, 0, 0.10)"
996
+ },
997
+ [Theme.SHADOW_5]: {
998
+ dark: "rgba(255, 255, 255, 0.05)",
999
+ light: "rgba(0, 0, 0, 0.05)"
1000
+ },
1001
+ [Theme.SHADOW_20]: {
1002
+ dark: "rgba(255, 255, 255, 0.20)",
1003
+ light: "rgba(0, 0, 0, 0.20)"
1004
+ },
1005
+ [Theme.SHADOW_25]: {
1006
+ dark: "rgba(255, 255, 255, 0.25)",
1007
+ light: "rgba(0, 0, 0, 0.25)"
1008
+ },
1009
+ [Theme.SHADOW_HOVER_10]: {
1010
+ dark: "rgba(0, 157, 179, 0.10)",
1011
+ light: "rgba(88, 195, 209, 0.10)"
1012
+ },
1013
+ [Theme.SHADOW_HOVER_20]: {
1014
+ dark: "rgba(0, 157, 179, 0.20)",
1015
+ light: "rgba(88, 195, 209, 0.20)"
1016
+ },
1017
+ [Theme.SHADOW_HOVER_40]: {
1018
+ dark: "rgba(0, 157, 179, 0.40)",
1019
+ light: "rgba(88, 195, 209, 0.40)"
1020
+ },
1021
+ // Figma: effects/dh-shadow/5, "Shadow/Soft/Lightest" (dropdown/menu surfaces).
1022
+ [Theme.SHADOW_SOFT_LIGHTEST]: {
1023
+ dark: "rgba(255, 255, 255, 0.05)",
1024
+ light: "rgba(0, 10, 40, 0.05)"
1025
+ // light-theme value pending DHDS Figma spec
915
1026
  }
916
1027
  };
917
1028
 
@@ -1258,12 +1369,22 @@ const DHRE_IMAGE_SIZE = {
1258
1369
  CARD_MD: moderateScale(200)
1259
1370
  };
1260
1371
 
1372
+ const DHRE_STROKE = {
1373
+ NONE: 0,
1374
+ THIN: 1,
1375
+ // default dividers, input borders
1376
+ MEDIUM: 2,
1377
+ // focused state, selected borders
1378
+ THICK: 4
1379
+ // emphasis borders, active indicators
1380
+ };
1381
+
1261
1382
  const chipStyles = reactNative.StyleSheet.create({
1262
1383
  base: {
1263
1384
  flexDirection: "row",
1264
1385
  alignItems: "center",
1265
1386
  justifyContent: "center",
1266
- borderWidth: 1,
1387
+ borderWidth: DHRE_STROKE.THIN,
1267
1388
  borderRadius: DHRE_RADIUS.PILL,
1268
1389
  gap: DHRE_PADDING.SM
1269
1390
  },
@@ -1294,24 +1415,26 @@ const getSizeStyle = (size) => size === "large" ? chipStyles.sizeLarge : chipSty
1294
1415
  function resolveContainerColors(themeColors, selected, disabled) {
1295
1416
  if (disabled) {
1296
1417
  return {
1297
- backgroundColor: selected ? themeColors[Theme.SURFACE_TERTIARY_TRANSPARENT] : themeColors[Theme.SURFACE_PRIMARY_TRANSPARENT],
1298
- borderColor: themeColors[Theme.CONTENT_DISABLE_DARK]
1418
+ backgroundColor: selected ? themeColors[Theme.SURFACE_DISABLE_SELECTED] : themeColors[Theme.SURFACE_PRIMARY_CARDS],
1419
+ borderColor: themeColors[Theme.CONTENT_TERTIARY]
1299
1420
  };
1300
1421
  }
1301
1422
  if (selected) {
1302
1423
  return {
1303
- backgroundColor: themeColors[Theme.SURFACE_INVERTED],
1304
- borderColor: themeColors[Theme.STROKE_SECONDARY]
1424
+ backgroundColor: themeColors[Theme.SURFACE_HIGHLIGHT],
1425
+ borderColor: "transparent"
1305
1426
  };
1306
1427
  }
1307
1428
  return {
1308
- backgroundColor: themeColors[Theme.SURFACE_SECONDARY],
1309
- borderColor: themeColors[Theme.STROKE_TERTIARY]
1429
+ backgroundColor: themeColors[Theme.SURFACE_PRIMARY],
1430
+ borderColor: themeColors[Theme.STROKE_PRIMARY]
1310
1431
  };
1311
1432
  }
1312
1433
  function resolveContentColor(themeColors, selected, disabled) {
1313
- if (disabled) return themeColors[Theme.CONTENT_DISABLE_DARK];
1314
- if (selected) return themeColors[Theme.CONTENT_INVERTED];
1434
+ if (disabled) {
1435
+ return selected ? themeColors[Theme.CONTENT_DISABLE_LIGHT] : themeColors[Theme.CONTENT_DISABLE_DARK];
1436
+ }
1437
+ if (selected) return themeColors[Theme.CONTENT_STATIC];
1315
1438
  return themeColors[Theme.CONTENT_PRIMARY];
1316
1439
  }
1317
1440
  const Chip = ({
@@ -1753,7 +1876,7 @@ const styles$w = reactNative.StyleSheet.create({
1753
1876
  alignSelf: "center"
1754
1877
  }
1755
1878
  });
1756
- const BUTTON_COLORS = {
1879
+ ({
1757
1880
  // Backgrounds (legacy — no longer used by Button.tsx; resolved via theme)
1758
1881
  /** @deprecated resolved via Theme.BUTTON_DEFAULT_FILL in Button.tsx */
1759
1882
  PRIMARY_DEFAULT_BG: DHRE_COLORS_TEXT.DH_WHITE,
@@ -1776,19 +1899,14 @@ const BUTTON_COLORS = {
1776
1899
  /** @deprecated resolved via Theme.STROKE_DISABLED_DARK in Button.tsx */
1777
1900
  DISABLED_TEXT: DHRE_DEEP_SPACE_BLUE[500],
1778
1901
  // #6A7897 (dark mode)
1779
- // Borders — gradient tokens are STATIC (same in light and dark per DHDS spec)
1780
- /** --DH-Gradient/Stroke/Primary-button start → cyan */
1781
- GRADIENT_BORDER_START: DHRE_CYAN_HIGHLIGHT[300],
1782
- // #2CD8FD
1783
- /** --DH-Gradient/Stroke/Primary-button end → blue */
1784
- GRADIENT_BORDER_END: "#3590E1",
1902
+ // Borders
1785
1903
  /** @deprecated resolved via Theme.BORDER_INVERTED in Button.tsx */
1786
1904
  SECONDARY_BORDER: DHRE_COLORS_TEXT.DH_WHITE,
1787
1905
  // #FFFFFF (dark mode)
1788
1906
  /** @deprecated resolved via Theme.STROKE_DISABLED_DARK in Button.tsx */
1789
1907
  DISABLED_BORDER: DHRE_DEEP_SPACE_BLUE[500]
1790
1908
  // #6A7897 (dark mode)
1791
- };
1909
+ });
1792
1910
  const pressableBase = {
1793
1911
  flexDirection: "row",
1794
1912
  alignItems: "center",
@@ -1797,7 +1915,6 @@ const pressableBase = {
1797
1915
  overflow: "hidden"
1798
1916
  };
1799
1917
  const BUTTON_SIZE_STYLES = reactNative.StyleSheet.create({
1800
- // ── Large ──────────────────────────────────────────────────────────────────
1801
1918
  largePressable: {
1802
1919
  ...pressableBase,
1803
1920
  minHeight: verticalScale(48),
@@ -1805,13 +1922,6 @@ const BUTTON_SIZE_STYLES = reactNative.StyleSheet.create({
1805
1922
  paddingVertical: verticalScale(12),
1806
1923
  gap: moderateScale(8)
1807
1924
  },
1808
- largeGradientWrapper: {
1809
- borderRadius: DHRE_RADIUS.PILL,
1810
- padding: 1,
1811
- overflow: "hidden",
1812
- height: verticalScale(48) + 2
1813
- },
1814
- // ── Medium ─────────────────────────────────────────────────────────────────
1815
1925
  mediumPressable: {
1816
1926
  ...pressableBase,
1817
1927
  minHeight: verticalScale(40),
@@ -1819,25 +1929,12 @@ const BUTTON_SIZE_STYLES = reactNative.StyleSheet.create({
1819
1929
  paddingVertical: verticalScale(8),
1820
1930
  gap: moderateScale(8)
1821
1931
  },
1822
- mediumGradientWrapper: {
1823
- borderRadius: DHRE_RADIUS.PILL,
1824
- padding: 1,
1825
- overflow: "hidden",
1826
- height: verticalScale(40) + 2
1827
- },
1828
- // ── Small ──────────────────────────────────────────────────────────────────
1829
1932
  smallPressable: {
1830
1933
  ...pressableBase,
1831
1934
  minHeight: verticalScale(32),
1832
1935
  paddingHorizontal: moderateScale(20),
1833
1936
  paddingVertical: verticalScale(8),
1834
1937
  gap: moderateScale(8)
1835
- },
1836
- smallGradientWrapper: {
1837
- borderRadius: DHRE_RADIUS.PILL,
1838
- padding: 1,
1839
- overflow: "hidden",
1840
- height: verticalScale(32) + 2
1841
1938
  }
1842
1939
  });
1843
1940
  const LINK_SIZE_STYLES = reactNative.StyleSheet.create({
@@ -1867,28 +1964,23 @@ const LINK_TEXT_VARIANT_MAP = {
1867
1964
  // 12 px / 16 px lh
1868
1965
  };
1869
1966
  const SIZE_STYLE_MAP = {
1870
- large: {
1871
- pressable: BUTTON_SIZE_STYLES.largePressable,
1872
- gradientWrapper: BUTTON_SIZE_STYLES.largeGradientWrapper
1873
- },
1874
- medium: {
1875
- pressable: BUTTON_SIZE_STYLES.mediumPressable,
1876
- gradientWrapper: BUTTON_SIZE_STYLES.mediumGradientWrapper
1877
- },
1878
- small: {
1879
- pressable: BUTTON_SIZE_STYLES.smallPressable,
1880
- gradientWrapper: BUTTON_SIZE_STYLES.smallGradientWrapper
1881
- }
1967
+ large: BUTTON_SIZE_STYLES.largePressable,
1968
+ medium: BUTTON_SIZE_STYLES.mediumPressable,
1969
+ small: BUTTON_SIZE_STYLES.smallPressable
1882
1970
  };
1883
1971
  function resolveTextThemeKey(variant, disabled) {
1884
1972
  if (disabled) {
1885
- return Theme.STROKE_DISABLED_DARK;
1973
+ return variant === "tertiary" || variant === "quaternary" ? Theme.CONTENT_DISABLE_DARK : Theme.STROKE_DISABLED_DARK;
1886
1974
  }
1887
1975
  switch (variant) {
1888
1976
  case "primary":
1889
1977
  return Theme.CONTENT_INVERTED;
1890
1978
  case "secondary":
1891
1979
  return Theme.CONTENT_PRIMARY;
1980
+ case "tertiary":
1981
+ return Theme.CONTENT_STATIC;
1982
+ case "quaternary":
1983
+ return Theme.CONTENT_PRIMARY;
1892
1984
  case "link":
1893
1985
  return Theme.LINK;
1894
1986
  default:
@@ -1898,9 +1990,7 @@ function resolveTextThemeKey(variant, disabled) {
1898
1990
  function buildPlainContainerStyle(variant, disabled, disabledColor, theme) {
1899
1991
  if (variant === "primary") {
1900
1992
  return {
1901
- backgroundColor: disabledColor ?? theme[Theme.BUTTON_DISABLED_FILL],
1902
- borderWidth: 1,
1903
- borderColor: theme[Theme.STROKE_DISABLED_DARK]
1993
+ backgroundColor: disabled ? disabledColor ?? theme[Theme.BUTTON_DISABLED_FILL] : theme[Theme.BUTTON_DEFAULT_FILL]
1904
1994
  };
1905
1995
  }
1906
1996
  if (variant === "secondary") {
@@ -1914,6 +2004,18 @@ function buildPlainContainerStyle(variant, disabled, disabledColor, theme) {
1914
2004
  borderColor: theme[Theme.BORDER_INVERTED]
1915
2005
  };
1916
2006
  }
2007
+ if (variant === "tertiary") {
2008
+ return {
2009
+ backgroundColor: disabled ? disabledColor ?? theme[Theme.BUTTON_TERTIARY_DISABLED_FILL] : theme[Theme.BUTTON_TERTIARY_DEFAULT_FILL]
2010
+ };
2011
+ }
2012
+ if (variant === "quaternary") {
2013
+ return {
2014
+ backgroundColor: "transparent",
2015
+ borderWidth: 1,
2016
+ borderColor: disabled ? theme[Theme.BUTTON_QUATERNARY_DISABLED_STROKE] : theme[Theme.BUTTON_QUATERNARY_DEFAULT_STROKE]
2017
+ };
2018
+ }
1917
2019
  return {};
1918
2020
  }
1919
2021
  function resolveSpinnerColor(variant, theme) {
@@ -1922,6 +2024,10 @@ function resolveSpinnerColor(variant, theme) {
1922
2024
  return theme[Theme.CONTENT_INVERTED];
1923
2025
  case "secondary":
1924
2026
  return theme[Theme.CONTENT_PRIMARY];
2027
+ case "tertiary":
2028
+ return theme[Theme.CONTENT_STATIC];
2029
+ case "quaternary":
2030
+ return theme[Theme.CONTENT_PRIMARY];
1925
2031
  case "link":
1926
2032
  return theme[Theme.LINK];
1927
2033
  default:
@@ -1949,11 +2055,10 @@ const CustomButton = ({
1949
2055
  size = "large"
1950
2056
  }) => {
1951
2057
  const { theme } = useTheme();
1952
- const isPrimary = variant === "primary";
1953
2058
  const isLink = variant === "link";
1954
2059
  const spinnerColor = loaderColor ?? resolveSpinnerColor(variant, theme);
1955
2060
  const iconSize = isLink && size === "small" ? moderateScale(16) : moderateScale(20);
1956
- const { pressable: pressableStyle, gradientWrapper: gradientWrapperStyle } = SIZE_STYLE_MAP[size];
2061
+ const pressableStyle = SIZE_STYLE_MAP[size];
1957
2062
  const defaultTextVariant = isLink ? LINK_TEXT_VARIANT_MAP[size] : size === "small" ? FontStyle.BODY2_LIGHT : FontStyle.BODY2_MEDIUM;
1958
2063
  const textThemeKey = resolveTextThemeKey(variant, disabled);
1959
2064
  const effectiveTextColor = titleColor ?? textThemeKey;
@@ -1975,32 +2080,6 @@ const CustomButton = ({
1975
2080
  height: iconSize,
1976
2081
  style: rightIconStyle
1977
2082
  }));
1978
- if (isPrimary && !disabled) {
1979
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [gradientWrapperStyle, containerStyle] }, /* @__PURE__ */ React__default["default"].createElement(
1980
- LinearGradient__default["default"],
1981
- {
1982
- colors: [
1983
- BUTTON_COLORS.GRADIENT_BORDER_START,
1984
- BUTTON_COLORS.GRADIENT_BORDER_END
1985
- ],
1986
- start: { x: 0.5, y: 0 },
1987
- end: { x: 0.5, y: 1 },
1988
- style: reactNative.StyleSheet.absoluteFillObject
1989
- }
1990
- ), /* @__PURE__ */ React__default["default"].createElement(
1991
- reactNative.Pressable,
1992
- {
1993
- testID,
1994
- style: [
1995
- pressableStyle,
1996
- { flex: 1, backgroundColor: theme[Theme.BUTTON_DEFAULT_FILL] }
1997
- ],
1998
- onPress,
1999
- disabled: isLoading
2000
- },
2001
- buttonContent
2002
- ));
2003
- }
2004
2083
  if (isLink) {
2005
2084
  return /* @__PURE__ */ React__default["default"].createElement(
2006
2085
  reactNative.Pressable,
@@ -3041,8 +3120,8 @@ const Tabs = ({
3041
3120
  key: id,
3042
3121
  style: {
3043
3122
  ...styles$n.button,
3044
- backgroundColor: isSelected ? theme.SURFACE_INVERTED : theme.SURFACE_SECONDARY,
3045
- borderColor: isSelected ? theme.SURFACE_INVERTED : theme.STROKE_TERTIARY
3123
+ backgroundColor: isSelected ? theme.SURFACE_HIGHLIGHT : theme.SURFACE_PRIMARY,
3124
+ borderColor: isSelected ? theme.SURFACE_HIGHLIGHT : theme.STROKE_PRIMARY
3046
3125
  },
3047
3126
  onPress: () => handlePress(id)
3048
3127
  },
@@ -3052,7 +3131,7 @@ const Tabs = ({
3052
3131
  variant: FontStyle.BODY1_MEDIUM,
3053
3132
  style: {
3054
3133
  ...styles$n.textStyle,
3055
- color: isSelected ? theme.CONTENT_INVERTED : theme.CONTENT_PRIMARY
3134
+ color: isSelected ? theme.CONTENT_STATIC : theme.CONTENT_PRIMARY
3056
3135
  },
3057
3136
  text: title
3058
3137
  }
@@ -3720,6 +3799,7 @@ const ICON_SIZE = DHRE_SPACING.LG;
3720
3799
  const HeaderIcon = ({ config }) => /* @__PURE__ */ React__default["default"].createElement(reactNative.Pressable, { onPress: config.onPress, testID: config.testId }, React__default["default"].cloneElement(config.icon, { width: ICON_SIZE, height: ICON_SIZE }));
3721
3800
  const CustomHeader = ({
3722
3801
  title,
3802
+ titleColor,
3723
3803
  testId = "CUSTOM-HEADER",
3724
3804
  leftIcon,
3725
3805
  titleSuffixIcon,
@@ -3731,7 +3811,7 @@ const CustomHeader = ({
3731
3811
  {
3732
3812
  variant: "BODY1_MEDIUM",
3733
3813
  text: title,
3734
- style: { color: theme.CONTENT_PRIMARY }
3814
+ style: { color: titleColor ?? theme.CONTENT_PRIMARY }
3735
3815
  }
3736
3816
  ), titleSuffixIcon && React__default["default"].cloneElement(titleSuffixIcon, {
3737
3817
  width: ICON_SIZE,
@@ -3909,6 +3989,12 @@ const TAG_SUCCESS_GRADIENT_COLORS = [
3909
3989
  const TAG_SUCCESS_GRADIENT_BASE_COLOR = DHRE_DEEP_SPACE_BLUE[900];
3910
3990
  const TAG_SUCCESS_GRADIENT_START = { x: 0, y: 0 };
3911
3991
  const TAG_SUCCESS_GRADIENT_END = { x: 1, y: 0 };
3992
+ const ERROR_GRADIENT_COLORS = [
3993
+ DHRE_RED_ERROR[200],
3994
+ DHRE_RED_ERROR[150]
3995
+ ];
3996
+ const ERROR_GRADIENT_START = { x: 0, y: 0 };
3997
+ const ERROR_GRADIENT_END = { x: 0, y: 1 };
3912
3998
 
3913
3999
  const styles$f = reactNative.StyleSheet.create({
3914
4000
  container: {
@@ -10835,15 +10921,7 @@ const styles$b = reactNative.StyleSheet.create({
10835
10921
  gap: horizontalScale(24)
10836
10922
  },
10837
10923
  applyButton: {
10838
- marginTop: verticalScale(16),
10839
- height: verticalScale(48),
10840
- minHeight: verticalScale(48),
10841
- paddingHorizontal: horizontalScale(24),
10842
- paddingVertical: verticalScale(12),
10843
- justifyContent: "center",
10844
- alignItems: "center",
10845
- borderRadius: moderateScale(100),
10846
- borderWidth: 1
10924
+ marginTop: verticalScale(16)
10847
10925
  }
10848
10926
  });
10849
10927
 
@@ -10907,11 +10985,9 @@ const DateRangePicker = (props) => {
10907
10985
  if (startDate) {
10908
10986
  markedDates[startDate] = {
10909
10987
  startingDay: true,
10910
- textColor: theme.CONTENT_INVERTED,
10988
+ textColor: theme.CONTENT_PRIMARY,
10911
10989
  customContainerStyle: {
10912
- backgroundColor: theme.SURFACE_INVERTED,
10913
- borderWidth: 1,
10914
- borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
10990
+ backgroundColor: theme.CONTENT_ARROW_HIGHLIGHT,
10915
10991
  borderRadius: 200,
10916
10992
  width: moderateScale(36),
10917
10993
  height: moderateScale(36),
@@ -10924,11 +11000,9 @@ const DateRangePicker = (props) => {
10924
11000
  markedDates[endDate] = {
10925
11001
  endingDay: true,
10926
11002
  color: theme.SURFACE_PRIMARY_TRANSPARENT,
10927
- textColor: theme.CONTENT_INVERTED,
11003
+ textColor: theme.CONTENT_PRIMARY,
10928
11004
  customContainerStyle: {
10929
- backgroundColor: theme.SURFACE_INVERTED,
10930
- borderWidth: 1,
10931
- borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
11005
+ backgroundColor: theme.CONTENT_ARROW_HIGHLIGHT,
10932
11006
  borderRadius: 200,
10933
11007
  width: moderateScale(36),
10934
11008
  height: moderateScale(36),
@@ -10939,11 +11013,9 @@ const DateRangePicker = (props) => {
10939
11013
  markedDates[startDate] = {
10940
11014
  startingDay: true,
10941
11015
  color: theme.SURFACE_PRIMARY_TRANSPARENT,
10942
- textColor: theme.CONTENT_INVERTED,
11016
+ textColor: theme.CONTENT_PRIMARY,
10943
11017
  customContainerStyle: {
10944
- backgroundColor: theme.SURFACE_INVERTED,
10945
- borderWidth: 1,
10946
- borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
11018
+ backgroundColor: theme.CONTENT_ARROW_HIGHLIGHT,
10947
11019
  borderRadius: 200,
10948
11020
  width: moderateScale(36),
10949
11021
  height: moderateScale(36),
@@ -11001,10 +11073,7 @@ const DateRangePicker = (props) => {
11001
11073
  return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, null, /* @__PURE__ */ React__default["default"].createElement(
11002
11074
  reactNative.View,
11003
11075
  {
11004
- style: [
11005
- styles$b.calendarCard,
11006
- { backgroundColor: theme.SURFACE_SECONDARY }
11007
- ]
11076
+ style: [styles$b.calendarCard, { backgroundColor: theme.SURFACE_PRIMARY }]
11008
11077
  },
11009
11078
  /* @__PURE__ */ React__default["default"].createElement(
11010
11079
  reactNativeCalendars.Calendar,
@@ -11020,7 +11089,8 @@ const DateRangePicker = (props) => {
11020
11089
  dayTextColor: theme.CONTENT_PRIMARY,
11021
11090
  textDisabledColor: theme.CONTENT_DISABLE_DARK,
11022
11091
  todayTextColor: theme.CONTENT_PRIMARY,
11023
- textSectionTitleColor: theme.CONTENT_SECONDRY,
11092
+ todayBackgroundColor: theme.CONTENT_ARROW_HIGHLIGHT,
11093
+ textSectionTitleColor: theme.CONTENT_DISABLE_LIGHT,
11024
11094
  textDayFontSize: 16,
11025
11095
  textDayFontWeight: "500",
11026
11096
  textDayHeaderFontSize: 11,
@@ -11059,7 +11129,7 @@ const DateRangePicker = (props) => {
11059
11129
  textTransform: "uppercase",
11060
11130
  fontSize: 11,
11061
11131
  fontWeight: "300",
11062
- color: theme.CONTENT_SECONDRY
11132
+ color: theme.CONTENT_DISABLE_LIGHT
11063
11133
  }
11064
11134
  }
11065
11135
  },
@@ -11713,9 +11783,8 @@ const CommonTextInput = (props) => {
11713
11783
  const isDisabled = !editable;
11714
11784
  const isError = !!(errorMessage?.length || onlyErrorBorderLabel);
11715
11785
  const hasValue = !!value?.length;
11716
- const currentBorderColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.STROKE_TERTIARY] : isFocused || hasValue && !disableBorder ? theme[Theme.STROKE_PRIMARY] : theme[Theme.STROKE_SECONDARY];
11786
+ const currentBorderColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.STROKE_TERTIARY] : isFocused || hasValue && !disableBorder ? theme[Theme.STROKE_ACTIVE] : theme[Theme.STROKE_SECONDARY];
11717
11787
  const borderWidth = isFocused && !isDisabled ? 2 : 1;
11718
- const containerBackground = isDisabled ? theme[Theme.SURFACE_PRIMARY] : theme[Theme.SURFACE_TERTIARY_TRANSPARENT];
11719
11788
  const inputTextColor = isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_PRIMARY];
11720
11789
  const placeholderColor = theme[Theme.CONTENT_SECONDRY];
11721
11790
  const labelColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_PRIMARY];
@@ -11733,7 +11802,7 @@ const CommonTextInput = (props) => {
11733
11802
  ...styles$7.outlineStyle,
11734
11803
  borderColor: currentBorderColor,
11735
11804
  borderWidth,
11736
- backgroundColor: containerBackground
11805
+ backgroundColor: theme[Theme.SURFACE_PRIMARY]
11737
11806
  },
11738
11807
  label,
11739
11808
  value,
@@ -11875,12 +11944,12 @@ const CustomDropdown = (props) => {
11875
11944
  const [isFocus, setIsFocus] = React.useState(false);
11876
11945
  const hasValue = Boolean(value && value.length > 0);
11877
11946
  const isError = Boolean(errorMessage && errorMessage.length > 0);
11878
- const fieldBorderColor = disable ? theme.STROKE_TERTIARY : isError ? theme.STROKE_ERROR : isFocus || hasValue ? theme.STROKE_PRIMARY : theme.STROKE_TERTIARY;
11947
+ const fieldBorderColor = disable ? theme.STROKE_TERTIARY : isError ? theme.STROKE_ERROR : isFocus || hasValue ? theme.STROKE_ACTIVE : theme.STROKE_TERTIARY;
11879
11948
  const fieldBorderWidth = isFocus ? 2 : 1;
11880
11949
  const valueTextColor = disable ? theme.CONTENT_TERTIARY : hasValue ? theme.CONTENT_PRIMARY : theme.CONTENT_SECONDRY;
11881
11950
  const helperColor = isError ? theme.ERROR : theme.CONTENT_SECONDRY;
11882
11951
  const helperMessage = errorMessage || helperText;
11883
- const fieldBackground = theme.SURFACE_TERTIARY_TRANSPARENT;
11952
+ const fieldBackground = theme.SURFACE_PRIMARY;
11884
11953
  const labelColor = theme.CONTENT_PRIMARY;
11885
11954
  const renderLabel = () => {
11886
11955
  if (value || isFocus) {
@@ -11913,19 +11982,34 @@ const CustomDropdown = (props) => {
11913
11982
  };
11914
11983
  const renderItem = (item) => {
11915
11984
  const isSelected = item[valueField] === value;
11916
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$6.itemContainer, itemContainerStyle] }, /* @__PURE__ */ React__default["default"].createElement(
11917
- reactNative.Text,
11985
+ return /* @__PURE__ */ React__default["default"].createElement(
11986
+ reactNative.View,
11918
11987
  {
11919
11988
  style: [
11920
- styles$6.itemText,
11921
- FONT_STYLES[FontStyle.BODY2_LIGHT],
11922
- { color: theme.CONTENT_PRIMARY },
11923
- itemTextStyle,
11924
- isSelected && selectedItemTextStyle
11989
+ styles$6.itemContainer,
11990
+ isSelected && {
11991
+ backgroundColor: theme.SURFACE_INVERTED,
11992
+ borderRadius: DHRE_RADIUS_BASE.RADIUS_8
11993
+ },
11994
+ itemContainerStyle
11925
11995
  ]
11926
11996
  },
11927
- item[labelField]
11928
- ));
11997
+ /* @__PURE__ */ React__default["default"].createElement(
11998
+ reactNative.Text,
11999
+ {
12000
+ style: [
12001
+ styles$6.itemText,
12002
+ FONT_STYLES[FontStyle.BODY1_MEDIUM],
12003
+ {
12004
+ color: isSelected ? theme.CONTENT_INVERTED : theme.CONTENT_PRIMARY
12005
+ },
12006
+ itemTextStyle,
12007
+ isSelected && selectedItemTextStyle
12008
+ ]
12009
+ },
12010
+ item[labelField]
12011
+ )
12012
+ );
11929
12013
  };
11930
12014
  return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [styles$6.container, containerStyle] }, label && renderLabel(), /* @__PURE__ */ React__default["default"].createElement(
11931
12015
  reactNativeElementDropdown.Dropdown,
@@ -11978,7 +12062,13 @@ const CustomDropdown = (props) => {
11978
12062
  backgroundColor: theme.SURFACE_SECONDARY,
11979
12063
  borderColor: theme.STROKE_TERTIARY,
11980
12064
  borderWidth: 1,
11981
- borderRadius: DHRE_RADIUS_BASE.RADIUS_8
12065
+ borderRadius: DHRE_RADIUS_BASE.RADIUS_8,
12066
+ padding: DHRE_PADDING_BASE.PADDING_16,
12067
+ shadowColor: theme.SHADOW_SOFT_LIGHTEST,
12068
+ shadowOffset: { width: 0, height: 2 },
12069
+ shadowOpacity: 1,
12070
+ shadowRadius: 10,
12071
+ elevation: 4
11982
12072
  },
11983
12073
  menuContainerStyle
11984
12074
  ],
@@ -12039,8 +12129,10 @@ const styles$6 = reactNative.StyleSheet.create({
12039
12129
  maxHeight: verticalScale(150)
12040
12130
  },
12041
12131
  itemContainer: {
12132
+ minHeight: verticalScale(48),
12042
12133
  paddingVertical: verticalScale(8),
12043
- paddingHorizontal: horizontalScale(12)
12134
+ paddingHorizontal: horizontalScale(16),
12135
+ justifyContent: "center"
12044
12136
  },
12045
12137
  itemText: {},
12046
12138
  helperText: {
@@ -12182,18 +12274,17 @@ const createStyles$2 = (theme) => reactNative.StyleSheet.create({
12182
12274
  marginHorizontal: 8
12183
12275
  },
12184
12276
  selectedTagButton: {
12185
- backgroundColor: theme.SURFACE_INVERTED,
12186
- borderColor: theme.STROKE_SECONDARY,
12187
- borderWidth: 1
12277
+ backgroundColor: theme.SURFACE_HIGHLIGHT,
12278
+ borderWidth: 0
12188
12279
  },
12189
12280
  unselectedTagButton: {
12190
- backgroundColor: theme.SURFACE_SECONDARY,
12191
- borderColor: theme.STROKE_TERTIARY,
12281
+ backgroundColor: theme.SURFACE_PRIMARY,
12282
+ borderColor: theme.STROKE_PRIMARY,
12192
12283
  borderWidth: 1
12193
12284
  },
12194
12285
  closeButton: {
12195
12286
  marginLeft: 10,
12196
- color: theme.CONTENT_INVERTED,
12287
+ color: theme.CONTENT_STATIC,
12197
12288
  alignSelf: "center"
12198
12289
  },
12199
12290
  circleViewAlignment: {
@@ -12232,7 +12323,7 @@ const TagsComponent = ({
12232
12323
  /* @__PURE__ */ React__default["default"].createElement(reactNative.View, null, /* @__PURE__ */ React__default["default"].createElement(
12233
12324
  CustomText$1,
12234
12325
  {
12235
- textColor: selectedTag === item?.name ? Theme.CONTENT_INVERTED : Theme.CONTENT_PRIMARY,
12326
+ textColor: selectedTag === item?.name ? Theme.CONTENT_STATIC : Theme.CONTENT_PRIMARY,
12236
12327
  variant: FontStyle.BODY3_LIGHT,
12237
12328
  text: item?.name
12238
12329
  }
@@ -12943,16 +13034,6 @@ var index$3 = withThemeProvider(
12943
13034
  CustomSlideButton
12944
13035
  );
12945
13036
 
12946
- const DHRE_STROKE = {
12947
- NONE: 0,
12948
- THIN: 1,
12949
- // default dividers, input borders
12950
- MEDIUM: 2,
12951
- // focused state, selected borders
12952
- THICK: 4
12953
- // emphasis borders, active indicators
12954
- };
12955
-
12956
13037
  var AvatarSize = /* @__PURE__ */ ((AvatarSize2) => {
12957
13038
  AvatarSize2["SMALL"] = "small";
12958
13039
  AvatarSize2["MEDIUM"] = "medium";
@@ -13064,7 +13145,7 @@ const createStyles$1 = (size, theme) => {
13064
13145
  paddingHorizontal: size === AvatarSize.LARGE ? 24 : 12,
13065
13146
  borderRadius: 200,
13066
13147
  borderWidth: 2,
13067
- borderColor: theme.STROKE_INVERTED,
13148
+ borderColor: theme.STROKE_DISABLED_LIGHT,
13068
13149
  backgroundColor: theme.SURFACE_PRIMARY_CARDS,
13069
13150
  justifyContent: "center",
13070
13151
  alignItems: "center"
@@ -13622,7 +13703,8 @@ const RadioButtonGroup = ({
13622
13703
  selectedValue,
13623
13704
  size = "large",
13624
13705
  fontVariant,
13625
- radioColor
13706
+ radioColor,
13707
+ disabled = false
13626
13708
  }) => {
13627
13709
  const { theme } = useTheme();
13628
13710
  const styles = createStyles(theme, size, radioColor);
@@ -13638,6 +13720,7 @@ const RadioButtonGroup = ({
13638
13720
  reactNative.TouchableOpacity,
13639
13721
  {
13640
13722
  key: item.value,
13723
+ disabled,
13641
13724
  style: [styles.optionContainer, optionContainerStyle],
13642
13725
  onPress: () => handleSelect(item),
13643
13726
  activeOpacity: 1
@@ -13702,6 +13785,7 @@ exports.DHRE_COMPONENT_HEIGHT = DHRE_COMPONENT_HEIGHT;
13702
13785
  exports.DHRE_CONFIRMATION_BASE_GRADIENT = DHRE_CONFIRMATION_BASE_GRADIENT;
13703
13786
  exports.DHRE_CONFIRMATION_ERROR_GRADIENT = DHRE_CONFIRMATION_ERROR_GRADIENT;
13704
13787
  exports.DHRE_CORE_BLUE = DHRE_CORE_BLUE;
13788
+ exports.DHRE_CORE_TEAL = DHRE_CORE_TEAL;
13705
13789
  exports.DHRE_CYAN_HIGHLIGHT = DHRE_CYAN_HIGHLIGHT;
13706
13790
  exports.DHRE_DEEP_SPACE_BLUE = DHRE_DEEP_SPACE_BLUE;
13707
13791
  exports.DHRE_DEFAULT = DHRE_DEFAULT;
@@ -13721,6 +13805,9 @@ exports.DHRE_SUCCESS_GREEN = DHRE_SUCCESS_GREEN;
13721
13805
  exports.DHRE_WHITE = DHRE_WHITE;
13722
13806
  exports.DateRangePicker = DateRangePicker$1;
13723
13807
  exports.DropDown = DropDown;
13808
+ exports.ERROR_GRADIENT_COLORS = ERROR_GRADIENT_COLORS;
13809
+ exports.ERROR_GRADIENT_END = ERROR_GRADIENT_END;
13810
+ exports.ERROR_GRADIENT_START = ERROR_GRADIENT_START;
13724
13811
  exports.FONT_STYLES = FONT_STYLES;
13725
13812
  exports.FeedbackForm = feedback;
13726
13813
  exports.FileUpload = FileUpload;