dhre-ui-kit 3.3.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,18 @@ 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";
228
247
  Theme2["SHADOW_SOFT_LIGHTEST"] = "SHADOW_SOFT_LIGHTEST";
229
248
  return Theme2;
230
249
  })(Theme || {});
@@ -416,19 +435,22 @@ const DHRE_COLORS_TEXT = {
416
435
  DH_SOFT_GRAY: "#EEEEEE80"
417
436
  };
418
437
  const DHRE_DEEP_SPACE_BLUE = {
419
- 950: "#000A28",
420
- 900: "#18213B",
421
- 800: "#0E2350",
422
- 700: "#334671",
423
- 600: "#4D5F86",
424
- 500: "#6A7897",
425
- 400: "#8994AF",
426
- 300: "#BFC7DB",
427
- 200: "#D8DDEA",
428
- 100: "#F5F8FF",
429
- DSP_900_TRANSPERANT_20: "rgba(0, 10, 40, 0.20)",
430
- DSP_900_TRANSPERANT_10: "rgba(0, 10, 40, 0.10)",
431
- 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)"
432
454
  };
433
455
  const DHRE_CORE_BLUE = {
434
456
  400: "#15214B",
@@ -438,6 +460,12 @@ const DHRE_CORE_BLUE = {
438
460
  50: "#E3E9FC",
439
461
  TRANSPARENT_60: "rgba(0, 30, 140, 0.60)"
440
462
  };
463
+ const DHRE_CORE_TEAL = {
464
+ 500: "#003F48",
465
+ 400: "#077280",
466
+ 300: "#009DB3",
467
+ 100: "#9ADFE8"
468
+ };
441
469
  const DHRE_CYAN_HIGHLIGHT = {
442
470
  600: "#0072B5",
443
471
  500: "#009FD4",
@@ -455,49 +483,50 @@ const DHRE_WHITE = {
455
483
  TRANSPARENT_10: "rgba(255, 255, 255, 0.10)"
456
484
  };
457
485
  const DHRE_INFO_BLUE = {
458
- 400: "#07556C",
459
- 300: "#279DC1",
460
- 200: "#52C5E8",
461
- 100: "#C1EAFC",
462
- 50: "#E9F8FF",
463
- TRANSPARENT_35: "rgba(233, 248, 255, 0.35)",
464
- 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)"
465
493
  };
466
494
  const DHRE_SUCCESS_GREEN = {
467
- 400: "#347243",
468
- 300: "#4EAB65",
469
- 200: "#89C798",
470
- 100: "#C4E3CC",
495
+ 400: "#00A882",
496
+ 300: "#23DBB5",
497
+ 200: "#80EFD8",
498
+ 100: "#A7F1E1",
471
499
  50: "#EBF7EE",
472
- TRANSPARENT_50: "rgba(137, 199, 152, 0.50)",
473
- TRANSPARENT_10: "rgba(137, 199, 152, 0.10)",
474
- 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)"
475
503
  };
476
504
  const DHRE_ORANGE_WARNING = {
477
- 400: "#A4560E",
505
+ 400: "#D26C0E",
478
506
  300: "#EB8425",
479
- 200: "#EEAA6A",
480
- 100: "#FFE0C3",
507
+ 200: "#F1A966",
508
+ 100: "#F7CEA8",
481
509
  50: "#FFF4EA",
482
- TRANSPARENT_60: "#rgba(238, 170, 106, 0.60)",
483
- 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)"
484
512
  };
485
513
  const DHRE_RED_ERROR = {
486
- 400: "#9D032C",
487
- 300: "#EB0542",
488
- 200: "#F0809E",
489
- 100: "#FCE1E8",
514
+ 400: "#8E0000",
515
+ 300: "#DB2348",
516
+ 200: "#F67F97",
517
+ 150: "#F1A7B6",
518
+ 100: "#FEBDCA",
490
519
  50: "#FFF2F5",
491
- TRANSPARENT_400_60: "rgba(235, 5, 66, 0.60)",
492
- 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)"
493
522
  };
494
523
  const DHRE_CONFIRMATION_ERROR_GRADIENT = {
495
- light: ["#F0809E", "#FFFFFF"],
496
- dark: ["#EB0542", "#000A28"]
524
+ light: ["#F67F97", "#FFFFFF"],
525
+ dark: ["#F67F97", "#0F1B2D"]
497
526
  };
498
527
  const DHRE_CONFIRMATION_BASE_GRADIENT = {
499
- light: ["rgba(165, 233, 255, 0)", "#52C5E8"],
500
- dark: ["rgba(165, 233, 255, 0)", "#279DC1"]
528
+ light: ["rgba(0, 180, 224, 0)", "#00B4E0"],
529
+ dark: ["rgba(0, 180, 224, 0)", "#00B4E0"]
501
530
  };
502
531
  const GRADIENT_COLORS_SUCCESS = {
503
532
  light: [
@@ -567,39 +596,39 @@ const GRADIENT_COLORS_PENDING = {
567
596
  const theme = {
568
597
  [Theme.SURFACE_PRIMARY]: {
569
598
  light: "#FFFFFF",
570
- dark: "#000A28"
599
+ dark: "#0F1B2D"
571
600
  },
572
601
  [Theme.SURFACE_PRIMARY_NAKHEEL]: {
573
602
  light: "#E3D6BF",
574
603
  dark: "#000000"
575
604
  },
576
605
  [Theme.SURFACE_PRIMARY_CARDS]: {
577
- light: "#F5F8FF",
578
- dark: "#18213B"
606
+ light: "#F3F4F4",
607
+ dark: "#203041"
579
608
  },
580
609
  [Theme.SURFACE_PRIMARY_TRANSPARENT]: {
581
- light: "rgba(0, 10, 40, 0.10)",
610
+ light: "rgba(39, 50, 66, 0.10)",
582
611
  dark: "rgba(255, 255, 255, 0.10)"
583
612
  },
584
613
  [Theme.SURFACE_SECONDARY]: {
585
- light: "#F5F8FF",
586
- dark: "#0E2350"
614
+ light: "#E9E9E9",
615
+ dark: "#3F4957"
587
616
  },
588
617
  [Theme.SURFACE_SECONDARY_NAKHEEL]: {
589
618
  light: "#F8F7F6",
590
619
  dark: "#00263A"
591
620
  },
592
621
  [Theme.SURFACE_SECONDARY_TRANSPARENT]: {
593
- light: "rgba(0, 10, 40, 0.10)",
594
- dark: "rgba(0, 10, 40, 0.10)"
622
+ light: "rgba(154, 223, 232, 0.05)",
623
+ dark: "rgba(39, 50, 66, 0.10)"
595
624
  },
596
625
  [Theme.SURFACE_TERTIARY]: {
597
- light: "#D8DDEA",
598
- dark: "#334671"
626
+ light: "#CFD1D5",
627
+ dark: "#575F6C"
599
628
  },
600
629
  [Theme.SURFACE_TERTIARY_TRANSPARENT]: {
601
- light: "rgba(60, 172, 252, 0.10)",
602
- dark: "rgba(60, 172, 252, 0.10)"
630
+ light: "rgba(0, 157, 179, 0.10)",
631
+ dark: "rgba(0, 157, 179, 0.05)"
603
632
  },
604
633
  [Theme.SURFACE_STATIC]: {
605
634
  light: "#FFFFFF",
@@ -617,16 +646,20 @@ const theme = {
617
646
  light: "#E1E1E1",
618
647
  dark: "#A7A7A7"
619
648
  },
649
+ [Theme.SURFACE_DISABLE_SELECTED]: {
650
+ light: "#9ADFE8",
651
+ dark: "#003F48"
652
+ },
620
653
  [Theme.SURFACE_DISABLE_DARK]: {
621
- light: "#334671",
622
- dark: "#8994AF"
654
+ light: "#CFD1D5",
655
+ dark: "#575F6C"
623
656
  },
624
657
  [Theme.SURFACE_DISABLE_LIGHT]: {
625
- light: "#BFC7DB",
626
- dark: "#334671"
658
+ light: "#6F7681",
659
+ dark: "#CFD1D5"
627
660
  },
628
661
  [Theme.SURFACE_INVERTED]: {
629
- light: "#000A28",
662
+ light: "#0F1B2D",
630
663
  dark: "#FFFFFF"
631
664
  },
632
665
  [Theme.SURFACE_INVERTED_TRANSPARENT]: {
@@ -638,51 +671,59 @@ const theme = {
638
671
  dark: "#373737"
639
672
  },
640
673
  [Theme.SURFACE_BLUR]: {
641
- light: "rgba(233, 248, 255, 0.35)",
674
+ light: "rgba(229, 247, 252, 0.50)",
642
675
  dark: "rgba(0, 0, 0, 0.50)"
643
676
  },
644
677
  [Theme.SURFACE_SUCCESS]: {
645
- light: "#89C798",
646
- dark: "#4EAB65"
678
+ light: "#23DBB5",
679
+ dark: "#23DBB5"
647
680
  },
648
681
  [Theme.SURFACE_SUCCESS_TRANSPARENT]: {
649
- light: "rgba(137, 199, 152, 0.10)",
650
- dark: "rgba(137, 199, 152, 0.50)"
682
+ light: "rgba(0, 168, 130, 0.10)",
683
+ dark: "rgba(0, 168, 130, 0.20)"
651
684
  },
652
685
  [Theme.SURFACE_INFO]: {
653
- light: "#52C5E8",
654
- dark: "#279DC1"
686
+ light: "#00B4E0",
687
+ dark: "#00B4E0"
655
688
  },
656
689
  [Theme.SURFACE_INFO_TRANSPARENT]: {
657
- light: "rgba(233, 248, 255, 0.35)",
658
- dark: "rgba(233, 248, 255, 0.10)"
690
+ light: "rgba(229, 247, 252, 0.50)",
691
+ dark: "rgba(229, 247, 252, 0.10)"
659
692
  },
660
693
  [Theme.SURFACE_WARNING]: {
661
- light: "#FFF4EA",
662
- dark: "#A4560E"
694
+ light: "#EB8425",
695
+ dark: "#EB8425"
663
696
  },
664
697
  [Theme.SURFACE_WARNING_TRANSPARENT]: {
665
- light: "rgba(238, 170, 106, 0.10)",
666
- dark: "rgba(238, 170, 106, 0.60)"
698
+ light: "rgba(241, 169, 102, 0.20)",
699
+ dark: "rgba(241, 169, 102, 0.20)"
667
700
  },
668
701
  [Theme.SURFACE_ERROR]: {
669
- light: "#F0809E",
670
- dark: "#EB0542"
702
+ light: "#F67F97",
703
+ dark: "#F67F97"
671
704
  },
672
705
  [Theme.SURFACE_ERROR_TRANSPARENT]: {
673
- light: "rgba(235, 5, 66, 0.10)",
674
- 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"
675
716
  },
676
717
  [Theme.CONTENT_PRIMARY]: {
677
- light: "#000A28",
718
+ light: "#0F1B2D",
678
719
  dark: "#FFFFFF"
679
720
  },
680
721
  [Theme.CONTENT_SECONDRY]: {
681
- light: "#0E2350",
682
- dark: "#BFC7DB"
722
+ light: "#3F4957",
723
+ dark: "#CFD1D5"
683
724
  },
684
725
  [Theme.CONTENT_TERTIARY]: {
685
- light: "#6F7681",
726
+ light: "#575F6C",
686
727
  dark: "#9FA4AB"
687
728
  },
688
729
  [Theme.CONTENT_SECONDARY_TEXT]: {
@@ -698,16 +739,24 @@ const theme = {
698
739
  dark: "#686868"
699
740
  },
700
741
  [Theme.CONTENT_DISABLE_DARK]: {
701
- light: "#6A7897",
702
- dark: "#6A7897"
742
+ light: "#B7BBC0",
743
+ dark: "#878D96"
703
744
  },
704
745
  [Theme.CONTENT_DISABLE_LIGHT]: {
705
- light: "#BFC7DB",
706
- dark: "#BFC7DB"
746
+ light: "#878D96",
747
+ dark: "#B7BBC0"
707
748
  },
708
749
  [Theme.CONTENT_INVERTED]: {
709
750
  light: "#FFFFFF",
710
- 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"
711
760
  },
712
761
  [Theme.CONTENT_STATIC]: {
713
762
  light: "#FFFFFF",
@@ -762,40 +811,40 @@ const theme = {
762
811
  dark: "#19394A"
763
812
  },
764
813
  [Theme.WARNING]: {
765
- light: "#EB8425",
766
- dark: "#EEAA6A"
814
+ light: "#D26C0E",
815
+ dark: "#EB8425"
767
816
  },
768
817
  [Theme.WARNING_EMPHASIS]: {
769
- light: "#A4560E",
770
- dark: "#FFE0C3"
818
+ light: "#9A4401",
819
+ dark: "#F7CEA8"
771
820
  },
772
821
  [Theme.SUCCESS]: {
773
- light: "#4EAB65",
774
- dark: "#89C798"
822
+ light: "#018869",
823
+ dark: "#80EFD8"
775
824
  },
776
825
  [Theme.SUCCESS_EMPHASIS]: {
777
- light: "#347243",
778
- dark: "#C4E3CC"
826
+ light: "#01513F",
827
+ dark: "#A7F1E1"
779
828
  },
780
829
  [Theme.INFO]: {
781
- light: "#279DC1",
782
- dark: "#52C5E8"
830
+ light: "#0081AD",
831
+ dark: "#00B4E0"
783
832
  },
784
833
  [Theme.INFO_EMPHASIS]: {
785
- light: "#07556C",
786
- dark: "#C1EAFC"
834
+ light: "#03526D",
835
+ dark: "#99E1F3"
787
836
  },
788
837
  [Theme.ERROR]: {
789
- light: "#EB0542",
790
- dark: "#F0809E"
838
+ light: "#DB2348",
839
+ dark: "#F67F97"
791
840
  },
792
841
  [Theme.ERROR_EMPHASIS]: {
793
- light: "#9D032C",
794
- dark: "#FCE1E8"
842
+ light: "#8E0000",
843
+ dark: "#FEBDCA"
795
844
  },
796
845
  [Theme.LINK]: {
797
- light: "#25C6FB",
798
- dark: "#2CD8FD"
846
+ light: "#0F1B2D",
847
+ dark: "#FFFFFF"
799
848
  },
800
849
  [Theme.LINK_INVERTED]: {
801
850
  light: "#0072B5",
@@ -818,40 +867,68 @@ const theme = {
818
867
  dark: "#C2C2C2"
819
868
  },
820
869
  [Theme.BUTTON_DEFAULT_FILL]: {
821
- light: "#000A28",
870
+ light: "#0F1B2D",
822
871
  dark: "#FFFFFF"
823
872
  },
824
873
  [Theme.BUTTON_HOVER_FILL]: {
825
- light: "#0E2350",
826
- dark: "#D8DDEA"
874
+ light: "#3F4957",
875
+ dark: "#CFD1D5"
827
876
  },
828
877
  [Theme.BUTTON_HOVER_FILL_SECONDARY]: {
829
- light: "#BFC7DB",
830
- dark: "#0E2350"
878
+ light: "#F3F4F4",
879
+ dark: "#203041"
831
880
  },
832
881
  [Theme.BUTTON_INVRTED_FILL]: {
833
882
  light: "#FFFFFF",
834
- dark: "#000A28"
883
+ dark: "#0F1B2D"
835
884
  },
836
885
  [Theme.BUTTON_DISABLED_FILL]: {
837
- light: "#BFC7DB",
838
- dark: "#D8DDEA"
886
+ light: "#203041",
887
+ dark: "#F3F4F4"
839
888
  },
840
889
  [Theme.BUTTON_DISABLED_FILL_2]: {
841
890
  light: "#8994AF",
842
891
  dark: "#BFC7DB"
843
892
  },
844
893
  [Theme.BUTTON_SUCCESS_FILL]: {
845
- light: "#4EAB65",
846
- 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"
847
924
  },
848
925
  [Theme.NOTIFICATIONS_INFO]: {
849
- light: "rgba(0, 10, 40, 0.20)",
926
+ light: "rgba(39, 50, 66, 0.20)",
850
927
  dark: "rgba(255, 255, 255, 0.30)"
851
928
  },
852
929
  [Theme.NOTIFICATIONS_HIGHLIGHT]: {
853
- light: "#0072B5",
854
- dark: "#2CD8FD"
930
+ light: "#23DBB5",
931
+ dark: "#80EFD8"
855
932
  },
856
933
  [Theme.BLUR_20]: {
857
934
  light: "rgba(255, 255, 255, 0.20)",
@@ -862,7 +939,7 @@ const theme = {
862
939
  dark: "rgba(0, 0, 0, 0.25)"
863
940
  },
864
941
  [Theme.STROKE_PRIMARY]: {
865
- dark: DHRE_DEEP_SPACE_BLUE[100],
942
+ dark: "#FFFFFF",
866
943
  light: DHRE_DEEP_SPACE_BLUE[950]
867
944
  },
868
945
  [Theme.STROKE_SECONDARY]: {
@@ -870,12 +947,12 @@ const theme = {
870
947
  light: DHRE_DEEP_SPACE_BLUE[400]
871
948
  },
872
949
  [Theme.STROKE_TERTIARY]: {
873
- dark: "#334671",
874
- light: "#BFC7DB"
950
+ dark: DHRE_DEEP_SPACE_BLUE[700],
951
+ light: DHRE_DEEP_SPACE_BLUE[300]
875
952
  },
876
953
  [Theme.STROKE_INVERTED]: {
877
954
  dark: DHRE_DEEP_SPACE_BLUE[950],
878
- light: DHRE_DEEP_SPACE_BLUE[300]
955
+ light: "#FFFFFF"
879
956
  },
880
957
  [Theme.STROKE_ERROR]: {
881
958
  dark: DHRE_RED_ERROR[200],
@@ -893,27 +970,54 @@ const theme = {
893
970
  dark: DHRE_ORANGE_WARNING[200],
894
971
  light: DHRE_ORANGE_WARNING[300]
895
972
  },
973
+ [Theme.STROKE_DISABLED_LIGHT]: {
974
+ dark: DHRE_DEEP_SPACE_BLUE[400],
975
+ light: DHRE_DEEP_SPACE_BLUE[600]
976
+ },
896
977
  [Theme.STROKE_DISABLED_DARK]: {
897
978
  dark: DHRE_DEEP_SPACE_BLUE[700],
898
- light: DHRE_DEEP_SPACE_BLUE[500]
979
+ light: DHRE_DEEP_SPACE_BLUE[300]
899
980
  },
900
981
  [Theme.STROKE_DISABLED_DARK2]: {
901
982
  dark: DHRE_DEEP_SPACE_BLUE[800],
902
983
  light: DHRE_DEEP_SPACE_BLUE[200]
903
984
  },
904
985
  [Theme.STROKE_ACTIVE]: {
905
- dark: "#009db3",
906
- light: "#009db3"
907
- // light-theme value pending DHDS Figma spec
986
+ dark: "#009DB3",
987
+ light: "#009DB3"
908
988
  },
909
989
  [Theme.STROKE_DISABLED_SELECTED]: {
910
- dark: "#003f48",
990
+ dark: "#003F48",
911
991
  light: "#9ADFE8"
912
992
  },
913
993
  [Theme.SHADOW_10]: {
914
994
  dark: "rgba(255, 255, 255, 0.20)",
915
995
  light: "rgba(0, 0, 0, 0.10)"
916
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
+ },
917
1021
  // Figma: effects/dh-shadow/5, "Shadow/Soft/Lightest" (dropdown/menu surfaces).
918
1022
  [Theme.SHADOW_SOFT_LIGHTEST]: {
919
1023
  dark: "rgba(255, 255, 255, 0.05)",
@@ -1265,12 +1369,22 @@ const DHRE_IMAGE_SIZE = {
1265
1369
  CARD_MD: moderateScale(200)
1266
1370
  };
1267
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
+
1268
1382
  const chipStyles = reactNative.StyleSheet.create({
1269
1383
  base: {
1270
1384
  flexDirection: "row",
1271
1385
  alignItems: "center",
1272
1386
  justifyContent: "center",
1273
- borderWidth: 1,
1387
+ borderWidth: DHRE_STROKE.THIN,
1274
1388
  borderRadius: DHRE_RADIUS.PILL,
1275
1389
  gap: DHRE_PADDING.SM
1276
1390
  },
@@ -1301,24 +1415,26 @@ const getSizeStyle = (size) => size === "large" ? chipStyles.sizeLarge : chipSty
1301
1415
  function resolveContainerColors(themeColors, selected, disabled) {
1302
1416
  if (disabled) {
1303
1417
  return {
1304
- backgroundColor: selected ? themeColors[Theme.SURFACE_TERTIARY_TRANSPARENT] : themeColors[Theme.SURFACE_PRIMARY_TRANSPARENT],
1305
- 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]
1306
1420
  };
1307
1421
  }
1308
1422
  if (selected) {
1309
1423
  return {
1310
- backgroundColor: themeColors[Theme.SURFACE_INVERTED],
1311
- borderColor: themeColors[Theme.STROKE_SECONDARY]
1424
+ backgroundColor: themeColors[Theme.SURFACE_HIGHLIGHT],
1425
+ borderColor: "transparent"
1312
1426
  };
1313
1427
  }
1314
1428
  return {
1315
- backgroundColor: themeColors[Theme.SURFACE_SECONDARY],
1316
- borderColor: themeColors[Theme.STROKE_TERTIARY]
1429
+ backgroundColor: themeColors[Theme.SURFACE_PRIMARY],
1430
+ borderColor: themeColors[Theme.STROKE_PRIMARY]
1317
1431
  };
1318
1432
  }
1319
1433
  function resolveContentColor(themeColors, selected, disabled) {
1320
- if (disabled) return themeColors[Theme.CONTENT_DISABLE_DARK];
1321
- 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];
1322
1438
  return themeColors[Theme.CONTENT_PRIMARY];
1323
1439
  }
1324
1440
  const Chip = ({
@@ -1760,7 +1876,7 @@ const styles$w = reactNative.StyleSheet.create({
1760
1876
  alignSelf: "center"
1761
1877
  }
1762
1878
  });
1763
- const BUTTON_COLORS = {
1879
+ ({
1764
1880
  // Backgrounds (legacy — no longer used by Button.tsx; resolved via theme)
1765
1881
  /** @deprecated resolved via Theme.BUTTON_DEFAULT_FILL in Button.tsx */
1766
1882
  PRIMARY_DEFAULT_BG: DHRE_COLORS_TEXT.DH_WHITE,
@@ -1783,19 +1899,14 @@ const BUTTON_COLORS = {
1783
1899
  /** @deprecated resolved via Theme.STROKE_DISABLED_DARK in Button.tsx */
1784
1900
  DISABLED_TEXT: DHRE_DEEP_SPACE_BLUE[500],
1785
1901
  // #6A7897 (dark mode)
1786
- // Borders — gradient tokens are STATIC (same in light and dark per DHDS spec)
1787
- /** --DH-Gradient/Stroke/Primary-button start → cyan */
1788
- GRADIENT_BORDER_START: DHRE_CYAN_HIGHLIGHT[300],
1789
- // #2CD8FD
1790
- /** --DH-Gradient/Stroke/Primary-button end → blue */
1791
- GRADIENT_BORDER_END: "#3590E1",
1902
+ // Borders
1792
1903
  /** @deprecated resolved via Theme.BORDER_INVERTED in Button.tsx */
1793
1904
  SECONDARY_BORDER: DHRE_COLORS_TEXT.DH_WHITE,
1794
1905
  // #FFFFFF (dark mode)
1795
1906
  /** @deprecated resolved via Theme.STROKE_DISABLED_DARK in Button.tsx */
1796
1907
  DISABLED_BORDER: DHRE_DEEP_SPACE_BLUE[500]
1797
1908
  // #6A7897 (dark mode)
1798
- };
1909
+ });
1799
1910
  const pressableBase = {
1800
1911
  flexDirection: "row",
1801
1912
  alignItems: "center",
@@ -1804,7 +1915,6 @@ const pressableBase = {
1804
1915
  overflow: "hidden"
1805
1916
  };
1806
1917
  const BUTTON_SIZE_STYLES = reactNative.StyleSheet.create({
1807
- // ── Large ──────────────────────────────────────────────────────────────────
1808
1918
  largePressable: {
1809
1919
  ...pressableBase,
1810
1920
  minHeight: verticalScale(48),
@@ -1812,13 +1922,6 @@ const BUTTON_SIZE_STYLES = reactNative.StyleSheet.create({
1812
1922
  paddingVertical: verticalScale(12),
1813
1923
  gap: moderateScale(8)
1814
1924
  },
1815
- largeGradientWrapper: {
1816
- borderRadius: DHRE_RADIUS.PILL,
1817
- padding: 1,
1818
- overflow: "hidden",
1819
- height: verticalScale(48) + 2
1820
- },
1821
- // ── Medium ─────────────────────────────────────────────────────────────────
1822
1925
  mediumPressable: {
1823
1926
  ...pressableBase,
1824
1927
  minHeight: verticalScale(40),
@@ -1826,25 +1929,12 @@ const BUTTON_SIZE_STYLES = reactNative.StyleSheet.create({
1826
1929
  paddingVertical: verticalScale(8),
1827
1930
  gap: moderateScale(8)
1828
1931
  },
1829
- mediumGradientWrapper: {
1830
- borderRadius: DHRE_RADIUS.PILL,
1831
- padding: 1,
1832
- overflow: "hidden",
1833
- height: verticalScale(40) + 2
1834
- },
1835
- // ── Small ──────────────────────────────────────────────────────────────────
1836
1932
  smallPressable: {
1837
1933
  ...pressableBase,
1838
1934
  minHeight: verticalScale(32),
1839
1935
  paddingHorizontal: moderateScale(20),
1840
1936
  paddingVertical: verticalScale(8),
1841
1937
  gap: moderateScale(8)
1842
- },
1843
- smallGradientWrapper: {
1844
- borderRadius: DHRE_RADIUS.PILL,
1845
- padding: 1,
1846
- overflow: "hidden",
1847
- height: verticalScale(32) + 2
1848
1938
  }
1849
1939
  });
1850
1940
  const LINK_SIZE_STYLES = reactNative.StyleSheet.create({
@@ -1874,28 +1964,23 @@ const LINK_TEXT_VARIANT_MAP = {
1874
1964
  // 12 px / 16 px lh
1875
1965
  };
1876
1966
  const SIZE_STYLE_MAP = {
1877
- large: {
1878
- pressable: BUTTON_SIZE_STYLES.largePressable,
1879
- gradientWrapper: BUTTON_SIZE_STYLES.largeGradientWrapper
1880
- },
1881
- medium: {
1882
- pressable: BUTTON_SIZE_STYLES.mediumPressable,
1883
- gradientWrapper: BUTTON_SIZE_STYLES.mediumGradientWrapper
1884
- },
1885
- small: {
1886
- pressable: BUTTON_SIZE_STYLES.smallPressable,
1887
- gradientWrapper: BUTTON_SIZE_STYLES.smallGradientWrapper
1888
- }
1967
+ large: BUTTON_SIZE_STYLES.largePressable,
1968
+ medium: BUTTON_SIZE_STYLES.mediumPressable,
1969
+ small: BUTTON_SIZE_STYLES.smallPressable
1889
1970
  };
1890
1971
  function resolveTextThemeKey(variant, disabled) {
1891
1972
  if (disabled) {
1892
- return Theme.STROKE_DISABLED_DARK;
1973
+ return variant === "tertiary" || variant === "quaternary" ? Theme.CONTENT_DISABLE_DARK : Theme.STROKE_DISABLED_DARK;
1893
1974
  }
1894
1975
  switch (variant) {
1895
1976
  case "primary":
1896
1977
  return Theme.CONTENT_INVERTED;
1897
1978
  case "secondary":
1898
1979
  return Theme.CONTENT_PRIMARY;
1980
+ case "tertiary":
1981
+ return Theme.CONTENT_STATIC;
1982
+ case "quaternary":
1983
+ return Theme.CONTENT_PRIMARY;
1899
1984
  case "link":
1900
1985
  return Theme.LINK;
1901
1986
  default:
@@ -1905,9 +1990,7 @@ function resolveTextThemeKey(variant, disabled) {
1905
1990
  function buildPlainContainerStyle(variant, disabled, disabledColor, theme) {
1906
1991
  if (variant === "primary") {
1907
1992
  return {
1908
- backgroundColor: disabledColor ?? theme[Theme.BUTTON_DISABLED_FILL],
1909
- borderWidth: 1,
1910
- borderColor: theme[Theme.STROKE_DISABLED_DARK]
1993
+ backgroundColor: disabled ? disabledColor ?? theme[Theme.BUTTON_DISABLED_FILL] : theme[Theme.BUTTON_DEFAULT_FILL]
1911
1994
  };
1912
1995
  }
1913
1996
  if (variant === "secondary") {
@@ -1921,6 +2004,18 @@ function buildPlainContainerStyle(variant, disabled, disabledColor, theme) {
1921
2004
  borderColor: theme[Theme.BORDER_INVERTED]
1922
2005
  };
1923
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
+ }
1924
2019
  return {};
1925
2020
  }
1926
2021
  function resolveSpinnerColor(variant, theme) {
@@ -1929,6 +2024,10 @@ function resolveSpinnerColor(variant, theme) {
1929
2024
  return theme[Theme.CONTENT_INVERTED];
1930
2025
  case "secondary":
1931
2026
  return theme[Theme.CONTENT_PRIMARY];
2027
+ case "tertiary":
2028
+ return theme[Theme.CONTENT_STATIC];
2029
+ case "quaternary":
2030
+ return theme[Theme.CONTENT_PRIMARY];
1932
2031
  case "link":
1933
2032
  return theme[Theme.LINK];
1934
2033
  default:
@@ -1956,11 +2055,10 @@ const CustomButton = ({
1956
2055
  size = "large"
1957
2056
  }) => {
1958
2057
  const { theme } = useTheme();
1959
- const isPrimary = variant === "primary";
1960
2058
  const isLink = variant === "link";
1961
2059
  const spinnerColor = loaderColor ?? resolveSpinnerColor(variant, theme);
1962
2060
  const iconSize = isLink && size === "small" ? moderateScale(16) : moderateScale(20);
1963
- const { pressable: pressableStyle, gradientWrapper: gradientWrapperStyle } = SIZE_STYLE_MAP[size];
2061
+ const pressableStyle = SIZE_STYLE_MAP[size];
1964
2062
  const defaultTextVariant = isLink ? LINK_TEXT_VARIANT_MAP[size] : size === "small" ? FontStyle.BODY2_LIGHT : FontStyle.BODY2_MEDIUM;
1965
2063
  const textThemeKey = resolveTextThemeKey(variant, disabled);
1966
2064
  const effectiveTextColor = titleColor ?? textThemeKey;
@@ -1982,32 +2080,6 @@ const CustomButton = ({
1982
2080
  height: iconSize,
1983
2081
  style: rightIconStyle
1984
2082
  }));
1985
- if (isPrimary && !disabled) {
1986
- return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, { style: [gradientWrapperStyle, containerStyle] }, /* @__PURE__ */ React__default["default"].createElement(
1987
- LinearGradient__default["default"],
1988
- {
1989
- colors: [
1990
- BUTTON_COLORS.GRADIENT_BORDER_START,
1991
- BUTTON_COLORS.GRADIENT_BORDER_END
1992
- ],
1993
- start: { x: 0.5, y: 0 },
1994
- end: { x: 0.5, y: 1 },
1995
- style: reactNative.StyleSheet.absoluteFillObject
1996
- }
1997
- ), /* @__PURE__ */ React__default["default"].createElement(
1998
- reactNative.Pressable,
1999
- {
2000
- testID,
2001
- style: [
2002
- pressableStyle,
2003
- { flex: 1, backgroundColor: theme[Theme.BUTTON_DEFAULT_FILL] }
2004
- ],
2005
- onPress,
2006
- disabled: isLoading
2007
- },
2008
- buttonContent
2009
- ));
2010
- }
2011
2083
  if (isLink) {
2012
2084
  return /* @__PURE__ */ React__default["default"].createElement(
2013
2085
  reactNative.Pressable,
@@ -3048,8 +3120,8 @@ const Tabs = ({
3048
3120
  key: id,
3049
3121
  style: {
3050
3122
  ...styles$n.button,
3051
- backgroundColor: isSelected ? theme.SURFACE_INVERTED : theme.SURFACE_SECONDARY,
3052
- 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
3053
3125
  },
3054
3126
  onPress: () => handlePress(id)
3055
3127
  },
@@ -3059,7 +3131,7 @@ const Tabs = ({
3059
3131
  variant: FontStyle.BODY1_MEDIUM,
3060
3132
  style: {
3061
3133
  ...styles$n.textStyle,
3062
- color: isSelected ? theme.CONTENT_INVERTED : theme.CONTENT_PRIMARY
3134
+ color: isSelected ? theme.CONTENT_STATIC : theme.CONTENT_PRIMARY
3063
3135
  },
3064
3136
  text: title
3065
3137
  }
@@ -3727,6 +3799,7 @@ const ICON_SIZE = DHRE_SPACING.LG;
3727
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 }));
3728
3800
  const CustomHeader = ({
3729
3801
  title,
3802
+ titleColor,
3730
3803
  testId = "CUSTOM-HEADER",
3731
3804
  leftIcon,
3732
3805
  titleSuffixIcon,
@@ -3738,7 +3811,7 @@ const CustomHeader = ({
3738
3811
  {
3739
3812
  variant: "BODY1_MEDIUM",
3740
3813
  text: title,
3741
- style: { color: theme.CONTENT_PRIMARY }
3814
+ style: { color: titleColor ?? theme.CONTENT_PRIMARY }
3742
3815
  }
3743
3816
  ), titleSuffixIcon && React__default["default"].cloneElement(titleSuffixIcon, {
3744
3817
  width: ICON_SIZE,
@@ -3916,6 +3989,12 @@ const TAG_SUCCESS_GRADIENT_COLORS = [
3916
3989
  const TAG_SUCCESS_GRADIENT_BASE_COLOR = DHRE_DEEP_SPACE_BLUE[900];
3917
3990
  const TAG_SUCCESS_GRADIENT_START = { x: 0, y: 0 };
3918
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 };
3919
3998
 
3920
3999
  const styles$f = reactNative.StyleSheet.create({
3921
4000
  container: {
@@ -10842,15 +10921,7 @@ const styles$b = reactNative.StyleSheet.create({
10842
10921
  gap: horizontalScale(24)
10843
10922
  },
10844
10923
  applyButton: {
10845
- marginTop: verticalScale(16),
10846
- height: verticalScale(48),
10847
- minHeight: verticalScale(48),
10848
- paddingHorizontal: horizontalScale(24),
10849
- paddingVertical: verticalScale(12),
10850
- justifyContent: "center",
10851
- alignItems: "center",
10852
- borderRadius: moderateScale(100),
10853
- borderWidth: 1
10924
+ marginTop: verticalScale(16)
10854
10925
  }
10855
10926
  });
10856
10927
 
@@ -10914,11 +10985,9 @@ const DateRangePicker = (props) => {
10914
10985
  if (startDate) {
10915
10986
  markedDates[startDate] = {
10916
10987
  startingDay: true,
10917
- textColor: theme.CONTENT_INVERTED,
10988
+ textColor: theme.CONTENT_PRIMARY,
10918
10989
  customContainerStyle: {
10919
- backgroundColor: theme.SURFACE_INVERTED,
10920
- borderWidth: 1,
10921
- borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
10990
+ backgroundColor: theme.CONTENT_ARROW_HIGHLIGHT,
10922
10991
  borderRadius: 200,
10923
10992
  width: moderateScale(36),
10924
10993
  height: moderateScale(36),
@@ -10931,11 +11000,9 @@ const DateRangePicker = (props) => {
10931
11000
  markedDates[endDate] = {
10932
11001
  endingDay: true,
10933
11002
  color: theme.SURFACE_PRIMARY_TRANSPARENT,
10934
- textColor: theme.CONTENT_INVERTED,
11003
+ textColor: theme.CONTENT_PRIMARY,
10935
11004
  customContainerStyle: {
10936
- backgroundColor: theme.SURFACE_INVERTED,
10937
- borderWidth: 1,
10938
- borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
11005
+ backgroundColor: theme.CONTENT_ARROW_HIGHLIGHT,
10939
11006
  borderRadius: 200,
10940
11007
  width: moderateScale(36),
10941
11008
  height: moderateScale(36),
@@ -10946,11 +11013,9 @@ const DateRangePicker = (props) => {
10946
11013
  markedDates[startDate] = {
10947
11014
  startingDay: true,
10948
11015
  color: theme.SURFACE_PRIMARY_TRANSPARENT,
10949
- textColor: theme.CONTENT_INVERTED,
11016
+ textColor: theme.CONTENT_PRIMARY,
10950
11017
  customContainerStyle: {
10951
- backgroundColor: theme.SURFACE_INVERTED,
10952
- borderWidth: 1,
10953
- borderColor: theme.NOTIFICATIONS_HIGHLIGHT,
11018
+ backgroundColor: theme.CONTENT_ARROW_HIGHLIGHT,
10954
11019
  borderRadius: 200,
10955
11020
  width: moderateScale(36),
10956
11021
  height: moderateScale(36),
@@ -11008,10 +11073,7 @@ const DateRangePicker = (props) => {
11008
11073
  return /* @__PURE__ */ React__default["default"].createElement(reactNative.View, null, /* @__PURE__ */ React__default["default"].createElement(
11009
11074
  reactNative.View,
11010
11075
  {
11011
- style: [
11012
- styles$b.calendarCard,
11013
- { backgroundColor: theme.SURFACE_SECONDARY }
11014
- ]
11076
+ style: [styles$b.calendarCard, { backgroundColor: theme.SURFACE_PRIMARY }]
11015
11077
  },
11016
11078
  /* @__PURE__ */ React__default["default"].createElement(
11017
11079
  reactNativeCalendars.Calendar,
@@ -11027,7 +11089,8 @@ const DateRangePicker = (props) => {
11027
11089
  dayTextColor: theme.CONTENT_PRIMARY,
11028
11090
  textDisabledColor: theme.CONTENT_DISABLE_DARK,
11029
11091
  todayTextColor: theme.CONTENT_PRIMARY,
11030
- textSectionTitleColor: theme.CONTENT_SECONDRY,
11092
+ todayBackgroundColor: theme.CONTENT_ARROW_HIGHLIGHT,
11093
+ textSectionTitleColor: theme.CONTENT_DISABLE_LIGHT,
11031
11094
  textDayFontSize: 16,
11032
11095
  textDayFontWeight: "500",
11033
11096
  textDayHeaderFontSize: 11,
@@ -11066,7 +11129,7 @@ const DateRangePicker = (props) => {
11066
11129
  textTransform: "uppercase",
11067
11130
  fontSize: 11,
11068
11131
  fontWeight: "300",
11069
- color: theme.CONTENT_SECONDRY
11132
+ color: theme.CONTENT_DISABLE_LIGHT
11070
11133
  }
11071
11134
  }
11072
11135
  },
@@ -11720,9 +11783,8 @@ const CommonTextInput = (props) => {
11720
11783
  const isDisabled = !editable;
11721
11784
  const isError = !!(errorMessage?.length || onlyErrorBorderLabel);
11722
11785
  const hasValue = !!value?.length;
11723
- 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];
11724
11787
  const borderWidth = isFocused && !isDisabled ? 2 : 1;
11725
- const containerBackground = isDisabled ? theme[Theme.SURFACE_PRIMARY] : theme[Theme.SURFACE_TERTIARY_TRANSPARENT];
11726
11788
  const inputTextColor = isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_PRIMARY];
11727
11789
  const placeholderColor = theme[Theme.CONTENT_SECONDRY];
11728
11790
  const labelColor = isError ? theme[Theme.ERROR] : isDisabled ? theme[Theme.CONTENT_TERTIARY] : theme[Theme.CONTENT_PRIMARY];
@@ -11740,7 +11802,7 @@ const CommonTextInput = (props) => {
11740
11802
  ...styles$7.outlineStyle,
11741
11803
  borderColor: currentBorderColor,
11742
11804
  borderWidth,
11743
- backgroundColor: containerBackground
11805
+ backgroundColor: theme[Theme.SURFACE_PRIMARY]
11744
11806
  },
11745
11807
  label,
11746
11808
  value,
@@ -11882,12 +11944,12 @@ const CustomDropdown = (props) => {
11882
11944
  const [isFocus, setIsFocus] = React.useState(false);
11883
11945
  const hasValue = Boolean(value && value.length > 0);
11884
11946
  const isError = Boolean(errorMessage && errorMessage.length > 0);
11885
- 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;
11886
11948
  const fieldBorderWidth = isFocus ? 2 : 1;
11887
11949
  const valueTextColor = disable ? theme.CONTENT_TERTIARY : hasValue ? theme.CONTENT_PRIMARY : theme.CONTENT_SECONDRY;
11888
11950
  const helperColor = isError ? theme.ERROR : theme.CONTENT_SECONDRY;
11889
11951
  const helperMessage = errorMessage || helperText;
11890
- const fieldBackground = theme.SURFACE_TERTIARY_TRANSPARENT;
11952
+ const fieldBackground = theme.SURFACE_PRIMARY;
11891
11953
  const labelColor = theme.CONTENT_PRIMARY;
11892
11954
  const renderLabel = () => {
11893
11955
  if (value || isFocus) {
@@ -11938,7 +12000,9 @@ const CustomDropdown = (props) => {
11938
12000
  style: [
11939
12001
  styles$6.itemText,
11940
12002
  FONT_STYLES[FontStyle.BODY1_MEDIUM],
11941
- { color: isSelected ? theme.CONTENT_INVERTED : theme.CONTENT_PRIMARY },
12003
+ {
12004
+ color: isSelected ? theme.CONTENT_INVERTED : theme.CONTENT_PRIMARY
12005
+ },
11942
12006
  itemTextStyle,
11943
12007
  isSelected && selectedItemTextStyle
11944
12008
  ]
@@ -12210,18 +12274,17 @@ const createStyles$2 = (theme) => reactNative.StyleSheet.create({
12210
12274
  marginHorizontal: 8
12211
12275
  },
12212
12276
  selectedTagButton: {
12213
- backgroundColor: theme.SURFACE_INVERTED,
12214
- borderColor: theme.STROKE_SECONDARY,
12215
- borderWidth: 1
12277
+ backgroundColor: theme.SURFACE_HIGHLIGHT,
12278
+ borderWidth: 0
12216
12279
  },
12217
12280
  unselectedTagButton: {
12218
- backgroundColor: theme.SURFACE_SECONDARY,
12219
- borderColor: theme.STROKE_TERTIARY,
12281
+ backgroundColor: theme.SURFACE_PRIMARY,
12282
+ borderColor: theme.STROKE_PRIMARY,
12220
12283
  borderWidth: 1
12221
12284
  },
12222
12285
  closeButton: {
12223
12286
  marginLeft: 10,
12224
- color: theme.CONTENT_INVERTED,
12287
+ color: theme.CONTENT_STATIC,
12225
12288
  alignSelf: "center"
12226
12289
  },
12227
12290
  circleViewAlignment: {
@@ -12260,7 +12323,7 @@ const TagsComponent = ({
12260
12323
  /* @__PURE__ */ React__default["default"].createElement(reactNative.View, null, /* @__PURE__ */ React__default["default"].createElement(
12261
12324
  CustomText$1,
12262
12325
  {
12263
- textColor: selectedTag === item?.name ? Theme.CONTENT_INVERTED : Theme.CONTENT_PRIMARY,
12326
+ textColor: selectedTag === item?.name ? Theme.CONTENT_STATIC : Theme.CONTENT_PRIMARY,
12264
12327
  variant: FontStyle.BODY3_LIGHT,
12265
12328
  text: item?.name
12266
12329
  }
@@ -12971,16 +13034,6 @@ var index$3 = withThemeProvider(
12971
13034
  CustomSlideButton
12972
13035
  );
12973
13036
 
12974
- const DHRE_STROKE = {
12975
- NONE: 0,
12976
- THIN: 1,
12977
- // default dividers, input borders
12978
- MEDIUM: 2,
12979
- // focused state, selected borders
12980
- THICK: 4
12981
- // emphasis borders, active indicators
12982
- };
12983
-
12984
13037
  var AvatarSize = /* @__PURE__ */ ((AvatarSize2) => {
12985
13038
  AvatarSize2["SMALL"] = "small";
12986
13039
  AvatarSize2["MEDIUM"] = "medium";
@@ -13092,7 +13145,7 @@ const createStyles$1 = (size, theme) => {
13092
13145
  paddingHorizontal: size === AvatarSize.LARGE ? 24 : 12,
13093
13146
  borderRadius: 200,
13094
13147
  borderWidth: 2,
13095
- borderColor: theme.STROKE_INVERTED,
13148
+ borderColor: theme.STROKE_DISABLED_LIGHT,
13096
13149
  backgroundColor: theme.SURFACE_PRIMARY_CARDS,
13097
13150
  justifyContent: "center",
13098
13151
  alignItems: "center"
@@ -13650,7 +13703,8 @@ const RadioButtonGroup = ({
13650
13703
  selectedValue,
13651
13704
  size = "large",
13652
13705
  fontVariant,
13653
- radioColor
13706
+ radioColor,
13707
+ disabled = false
13654
13708
  }) => {
13655
13709
  const { theme } = useTheme();
13656
13710
  const styles = createStyles(theme, size, radioColor);
@@ -13666,6 +13720,7 @@ const RadioButtonGroup = ({
13666
13720
  reactNative.TouchableOpacity,
13667
13721
  {
13668
13722
  key: item.value,
13723
+ disabled,
13669
13724
  style: [styles.optionContainer, optionContainerStyle],
13670
13725
  onPress: () => handleSelect(item),
13671
13726
  activeOpacity: 1
@@ -13730,6 +13785,7 @@ exports.DHRE_COMPONENT_HEIGHT = DHRE_COMPONENT_HEIGHT;
13730
13785
  exports.DHRE_CONFIRMATION_BASE_GRADIENT = DHRE_CONFIRMATION_BASE_GRADIENT;
13731
13786
  exports.DHRE_CONFIRMATION_ERROR_GRADIENT = DHRE_CONFIRMATION_ERROR_GRADIENT;
13732
13787
  exports.DHRE_CORE_BLUE = DHRE_CORE_BLUE;
13788
+ exports.DHRE_CORE_TEAL = DHRE_CORE_TEAL;
13733
13789
  exports.DHRE_CYAN_HIGHLIGHT = DHRE_CYAN_HIGHLIGHT;
13734
13790
  exports.DHRE_DEEP_SPACE_BLUE = DHRE_DEEP_SPACE_BLUE;
13735
13791
  exports.DHRE_DEFAULT = DHRE_DEFAULT;
@@ -13749,6 +13805,9 @@ exports.DHRE_SUCCESS_GREEN = DHRE_SUCCESS_GREEN;
13749
13805
  exports.DHRE_WHITE = DHRE_WHITE;
13750
13806
  exports.DateRangePicker = DateRangePicker$1;
13751
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;
13752
13811
  exports.FONT_STYLES = FONT_STYLES;
13753
13812
  exports.FeedbackForm = feedback;
13754
13813
  exports.FileUpload = FileUpload;