@newtonschool/grauity 3.3.1 → 3.3.3

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.
Files changed (40) hide show
  1. package/dist/index.d.ts +130 -2124
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/main.cjs +1 -1
  4. package/dist/main.cjs.map +1 -1
  5. package/dist/module.mjs +1 -1
  6. package/dist/module.mjs.map +1 -1
  7. package/dist/ui/elements/Form/OtpInputField/OtpInputField.d.ts.map +1 -1
  8. package/dist/ui/elements/Form/OtpInputField/types.d.ts +17 -0
  9. package/dist/ui/elements/Form/OtpInputField/types.d.ts.map +1 -1
  10. package/dist/ui/elements/Form/OtpInputField/utils.d.ts +17 -0
  11. package/dist/ui/elements/Form/OtpInputField/utils.d.ts.map +1 -0
  12. package/dist/ui/elements/Overlay/Overlay.d.ts.map +1 -1
  13. package/dist/ui/elements/ThemeScope/ThemeScope.d.ts +15 -0
  14. package/dist/ui/elements/ThemeScope/ThemeScope.d.ts.map +1 -0
  15. package/dist/ui/elements/ThemeScope/ThemeScopeProvider.d.ts +8 -0
  16. package/dist/ui/elements/ThemeScope/ThemeScopeProvider.d.ts.map +1 -0
  17. package/dist/ui/elements/ThemeScope/constants.d.ts +7 -0
  18. package/dist/ui/elements/ThemeScope/constants.d.ts.map +1 -0
  19. package/dist/ui/elements/ThemeScope/contexts/ThemeScopeContext.d.ts +7 -0
  20. package/dist/ui/elements/ThemeScope/contexts/ThemeScopeContext.d.ts.map +1 -0
  21. package/dist/ui/elements/ThemeScope/index.d.ts +8 -0
  22. package/dist/ui/elements/ThemeScope/index.d.ts.map +1 -0
  23. package/dist/ui/elements/ThemeScope/types.d.ts +50 -0
  24. package/dist/ui/elements/ThemeScope/types.d.ts.map +1 -0
  25. package/dist/ui/elements/ThemeScope/useThemeScope.d.ts +17 -0
  26. package/dist/ui/elements/ThemeScope/useThemeScope.d.ts.map +1 -0
  27. package/dist/ui/elements/ThemeScope/utils.d.ts +12 -0
  28. package/dist/ui/elements/ThemeScope/utils.d.ts.map +1 -0
  29. package/dist/ui/index.d.ts +4 -0
  30. package/dist/ui/index.d.ts.map +1 -1
  31. package/dist/ui/themes/ThemeContext.d.ts.map +1 -1
  32. package/dist/ui/themes/ThemeProvider.d.ts +11 -1068
  33. package/dist/ui/themes/ThemeProvider.d.ts.map +1 -1
  34. package/dist/ui/themes/darkThemeConstants.d.ts +2 -530
  35. package/dist/ui/themes/darkThemeConstants.d.ts.map +1 -1
  36. package/dist/ui/themes/lightThemeConstants.d.ts +2 -530
  37. package/dist/ui/themes/lightThemeConstants.d.ts.map +1 -1
  38. package/dist/ui/themes/types.d.ts +6 -0
  39. package/dist/ui/themes/types.d.ts.map +1 -1
  40. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import React, { NamedExoticComponent, ReactNode, RefAttributes, Component, HTMLAttributes, DetailedHTMLProps, HTMLInputTypeAttribute } from "react";
1
+ import React, { NamedExoticComponent, Context, ReactNode, RefAttributes, Component, HTMLAttributes, DetailedHTMLProps, HTMLInputTypeAttribute } from "react";
2
2
  import { Substitute, IStyledComponentBase } from "styled-components/dist/types";
3
3
  import { HTMLMotionProps, ForwardRefComponent } from "framer-motion";
4
4
  import { FastOmit } from "styled-components";
@@ -525,2143 +525,106 @@ export interface GrauityInitProps {
525
525
  * But nonetheless all the grauity components should be the children of this component.
526
526
  * */
527
527
  export function GrauityInit({ as, fontSize, multiplier, className, style, children, }: GrauityInitProps): JSX.Element;
528
- export const NS_DARK_THEME_CONFIG: {
529
- colors: {
530
- bg: {
531
- subtle: {
532
- primary: {
533
- default: string;
534
- hover: string;
535
- disabled: string;
536
- };
537
- 'invert-primary': {
538
- default: string;
539
- hover: string;
540
- disabled: string;
541
- };
542
- secondary: {
543
- default: string;
544
- hover: string;
545
- disabled: string;
546
- };
547
- 'invert-secondary': {
548
- default: string;
549
- hover: string;
550
- disabled: string;
551
- };
552
- tertiary: {
553
- default: string;
554
- hover: string;
555
- disabled: string;
556
- };
557
- 'invert-tertiary': {
558
- default: string;
559
- hover: string;
560
- disabled: string;
561
- };
562
- brand: {
563
- default: string;
564
- hover: string;
565
- disabled: string;
566
- };
567
- success: {
568
- default: string;
569
- hover: string;
570
- disabled: string;
571
- };
572
- error: {
573
- default: string;
574
- hover: string;
575
- disabled: string;
576
- };
577
- warning: {
578
- default: string;
579
- hover: string;
580
- disabled: string;
581
- };
582
- yellow: {
583
- default: string;
584
- hover: string;
585
- disabled: string;
586
- };
587
- purple: {
588
- default: string;
589
- hover: string;
590
- disabled: string;
591
- };
592
- };
593
- moderate: {
594
- primary: {
595
- default: string;
596
- hover: string;
597
- disabled: string;
598
- };
599
- secondary: {
600
- default: string;
601
- hover: string;
602
- disabled: string;
603
- };
604
- tertiary: {
605
- default: string;
606
- hover: string;
607
- disabled: string;
608
- };
609
- brand: {
610
- default: string;
611
- hover: string;
612
- disabled: string;
613
- };
614
- success: {
615
- default: string;
616
- hover: string;
617
- disabled: string;
618
- };
619
- error: {
620
- default: string;
621
- hover: string;
622
- disabled: string;
623
- };
624
- warning: {
625
- default: string;
626
- hover: string;
627
- disabled: string;
628
- };
629
- yellow: {
630
- default: string;
631
- hover: string;
632
- disabled: string;
633
- };
634
- purple: {
635
- default: string;
636
- hover: string;
637
- disabled: string;
638
- };
639
- };
640
- emphasis: {
641
- primary: {
642
- default: string;
643
- hover: string;
644
- disabled: string;
645
- };
646
- secondary: {
647
- default: string;
648
- hover: string;
649
- disabled: string;
650
- };
651
- tertiary: {
652
- default: string;
653
- hover: string;
654
- disabled: string;
655
- };
656
- brand: {
657
- default: string;
658
- hover: string;
659
- disabled: string;
660
- };
661
- success: {
662
- default: string;
663
- hover: string;
664
- disabled: string;
665
- };
666
- error: {
667
- default: string;
668
- hover: string;
669
- disabled: string;
670
- };
671
- warning: {
672
- default: string;
673
- hover: string;
674
- disabled: string;
675
- };
676
- yellow: {
677
- default: string;
678
- hover: string;
679
- disabled: string;
680
- };
681
- purple: {
682
- default: string;
683
- hover: string;
684
- disabled: string;
685
- };
686
- };
687
- };
688
- text: {
689
- subtle: {
690
- primary: {
691
- default: string;
692
- hover: string;
693
- disabled: string;
694
- };
695
- secondary: {
696
- default: string;
697
- hover: string;
698
- disabled: string;
699
- };
700
- tertiary: {
701
- default: string;
702
- hover: string;
703
- disabled: string;
704
- };
705
- brand: {
706
- default: string;
707
- hover: string;
708
- disabled: string;
709
- };
710
- success: {
711
- default: string;
712
- hover: string;
713
- disabled: string;
714
- };
715
- error: {
716
- default: string;
717
- hover: string;
718
- disabled: string;
719
- };
720
- warning: {
721
- default: string;
722
- hover: string;
723
- disabled: string;
724
- };
725
- yellow: {
726
- default: string;
727
- hover: string;
728
- disabled: string;
729
- };
730
- purple: {
731
- default: string;
732
- hover: string;
733
- disabled: string;
734
- };
735
- };
736
- moderate: {
737
- primary: {
738
- default: string;
739
- hover: string;
740
- disabled: string;
741
- };
742
- secondary: {
743
- default: string;
744
- hover: string;
745
- disabled: string;
746
- };
747
- tertiary: {
748
- default: string;
749
- hover: string;
750
- disabled: string;
751
- };
752
- brand: {
753
- default: string;
754
- hover: string;
755
- disabled: string;
756
- };
757
- success: {
758
- default: string;
759
- hover: string;
760
- disabled: string;
761
- };
762
- error: {
763
- default: string;
764
- hover: string;
765
- disabled: string;
766
- };
767
- warning: {
768
- default: string;
769
- hover: string;
770
- disabled: string;
771
- };
772
- yellow: {
773
- default: string;
774
- hover: string;
775
- disabled: string;
776
- };
777
- purple: {
778
- default: string;
779
- hover: string;
780
- disabled: string;
781
- };
782
- };
783
- emphasis: {
784
- primary: {
785
- default: string;
786
- hover: string;
787
- disabled: string;
788
- };
789
- 'invert-primary': {
790
- default: string;
791
- hover: string;
792
- disabled: string;
793
- };
794
- secondary: {
795
- default: string;
796
- hover: string;
797
- disabled: string;
798
- };
799
- white: {
800
- default: string;
801
- hover: string;
802
- disabled: string;
803
- };
804
- tertiary: {
805
- default: string;
806
- hover: string;
807
- disabled: string;
808
- };
809
- brand: {
810
- default: string;
811
- hover: string;
812
- disabled: string;
813
- };
814
- success: {
815
- default: string;
816
- hover: string;
817
- disabled: string;
818
- };
819
- error: {
820
- default: string;
821
- hover: string;
822
- disabled: string;
823
- };
824
- warning: {
825
- default: string;
826
- hover: string;
827
- disabled: string;
828
- };
829
- yellow: {
830
- default: string;
831
- hover: string;
832
- disabled: string;
833
- };
834
- purple: {
835
- default: string;
836
- hover: string;
837
- disabled: string;
838
- };
839
- };
840
- };
841
- border: {
842
- subtle: {
843
- primary: {
844
- default: string;
845
- hover: string;
846
- disabled: string;
847
- };
848
- 'invert-primary': {
849
- default: string;
850
- hover: string;
851
- disabled: string;
852
- };
853
- secondary: {
854
- default: string;
855
- hover: string;
856
- disabled: string;
857
- };
858
- tertiary: {
859
- default: string;
860
- hover: string;
861
- disabled: string;
862
- };
863
- brand: {
864
- default: string;
865
- hover: string;
866
- disabled: string;
867
- };
868
- success: {
869
- default: string;
870
- hover: string;
871
- disabled: string;
872
- };
873
- error: {
874
- default: string;
875
- hover: string;
876
- disabled: string;
877
- };
878
- warning: {
879
- default: string;
880
- hover: string;
881
- disabled: string;
882
- };
883
- yellow: {
884
- default: string;
885
- hover: string;
886
- disabled: string;
887
- };
888
- purple: {
889
- default: string;
890
- hover: string;
891
- disabled: string;
892
- };
893
- };
894
- moderate: {
895
- primary: {
896
- default: string;
897
- hover: string;
898
- disabled: string;
899
- };
900
- 'invert-primary': {
901
- default: string;
902
- hover: string;
903
- disabled: string;
904
- };
905
- secondary: {
906
- default: string;
907
- hover: string;
908
- disabled: string;
909
- };
910
- tertiary: {
911
- default: string;
912
- hover: string;
913
- disabled: string;
914
- };
915
- brand: {
916
- default: string;
917
- hover: string;
918
- disabled: string;
919
- };
920
- success: {
921
- default: string;
922
- hover: string;
923
- disabled: string;
924
- };
925
- error: {
926
- default: string;
927
- hover: string;
928
- disabled: string;
929
- };
930
- warning: {
931
- default: string;
932
- hover: string;
933
- disabled: string;
934
- };
935
- yellow: {
936
- default: string;
937
- hover: string;
938
- disabled: string;
939
- };
940
- purple: {
941
- default: string;
942
- hover: string;
943
- disabled: string;
944
- };
945
- };
946
- emphasis: {
947
- primary: {
948
- default: string;
949
- hover: string;
950
- disabled: string;
951
- };
952
- 'invert-primary': {
953
- default: string;
954
- hover: string;
955
- disabled: string;
956
- };
957
- secondary: {
958
- default: string;
959
- hover: string;
960
- disabled: string;
961
- };
962
- tertiary: {
963
- default: string;
964
- hover: string;
965
- disabled: string;
966
- };
967
- brand: {
968
- default: string;
969
- hover: string;
970
- disabled: string;
971
- };
972
- success: {
973
- default: string;
974
- hover: string;
975
- disabled: string;
976
- };
977
- error: {
978
- default: string;
979
- hover: string;
980
- disabled: string;
981
- };
982
- warning: {
983
- default: string;
984
- hover: string;
985
- disabled: string;
986
- };
987
- yellow: {
988
- default: string;
989
- hover: string;
990
- disabled: string;
991
- };
992
- purple: {
993
- default: string;
994
- hover: string;
995
- disabled: string;
996
- };
528
+ export enum NSThemeType {
529
+ Light = "light",
530
+ Dark = "dark"
531
+ }
532
+ export type NSTheme = `${NSThemeType}`;
533
+ enum ThemeClass {
534
+ Light = "grauity-theme-light",
535
+ Dark = "grauity-theme-dark"
536
+ }
537
+ type ThemeClassName = `${ThemeClass}`;
538
+ type RequiredProps = 'className';
539
+ type ForbiddenProps = 'applyTheme' | 'invert' | 'as';
540
+ type AllowedComponentProps<T extends React.ElementType> = Omit<React.ComponentPropsWithoutRef<T>, ForbiddenProps>;
541
+ type EnforceComponentType<T extends React.ElementType> = RequiredProps extends keyof React.ComponentPropsWithoutRef<T> ? ForbiddenProps & keyof React.ComponentPropsWithoutRef<T> extends never ? T : never : never;
542
+ export type NSThemeScopeProps<T extends React.ElementType> = {
543
+ /**
544
+ * The theme to apply within this scope. If not provided, it will
545
+ * inherit from the parent scope. Takes precedence over `invert` prop.
546
+ */
547
+ applyTheme?: NSTheme;
548
+ /**
549
+ * If true, it will apply the invert of the parent theme.
550
+ */
551
+ invert?: boolean;
552
+ /**
553
+ * The HTML element (like `'div'`) or React component to render as the root of this
554
+ * theme scope. If a React component, it must accept a `className` prop and apply it at the outermost HTML element for the theme to be
555
+ * applied correctly.
556
+ *
557
+ * Defaults to a `div` element.
558
+ */
559
+ as?: EnforceComponentType<T>;
560
+ } & AllowedComponentProps<T>;
561
+ type GetThemeAndClassNameParams = {
562
+ /**
563
+ * The theme to apply within this scope.
564
+ */
565
+ applyTheme?: NSTheme;
566
+ /**
567
+ * The parent theme to inherit from, defaults to 'light'
568
+ */
569
+ parentTheme?: NSTheme;
570
+ /**
571
+ * If true, it will invert the theme from the parent scope
572
+ */
573
+ invert?: boolean;
574
+ };
575
+ type ThemeColorObjType = {
576
+ [colorCategory: string]: {
577
+ [colorIntensity: string]: {
578
+ [colorName: string]: {
579
+ [colorState: string]: string;
997
580
  };
998
581
  };
999
582
  };
1000
- visibility: {
1001
- lightVisible: string;
1002
- darkVisible: string;
1003
- };
1004
- legacyColors: {
1005
- text: {
1006
- textPrimary: string;
1007
- textSecondary: string;
1008
- textDisabled: string;
1009
- textAction: string;
1010
- textAction2: string;
1011
- textBrand: string;
1012
- textSuccess: string;
1013
- textError: string;
1014
- textWarning: string;
1015
- textYellow: string;
1016
- textPurple: string;
1017
- };
1018
- background: {
1019
- bgPrimary: string;
1020
- bgSecondary: string;
1021
- bgTertiary: string;
1022
- bgBrand: string;
1023
- bgSuccess: string;
1024
- bgError: string;
1025
- bgWarning: string;
1026
- bgYellow: string;
1027
- bgPurple: string;
1028
- bgDisabled: string;
1029
- bgActionBrand: string;
1030
- bgActionSuccess: string;
1031
- bgActionError: string;
1032
- bgActionWarning: string;
1033
- bgActionYellow: string;
1034
- bgActionPurple: string;
1035
- bgInvertPrimary: string;
1036
- bgInvertSecondary: string;
1037
- bgInvertTertiary: string;
1038
- bgPrimaryHover: string;
1039
- bgInvertPrimaryHover: string;
1040
- bgActionBrandHover: string;
1041
- bgActionSuccessHover: string;
1042
- bgActionErrorHover: string;
1043
- bgActionWarningHover: string;
1044
- bgActionYellowHover: string;
1045
- };
1046
- border: {
1047
- border: string;
1048
- borderBrand: string;
1049
- borderSuccess: string;
1050
- borderError: string;
1051
- borderWarning: string;
1052
- borderYellow: string;
1053
- borderPurple: string;
1054
- borderNeutral: string;
1055
- };
1056
- };
1057
583
  };
584
+ type ThemeConfigType = {
585
+ colors: ThemeColorObjType;
586
+ [otherThemeProperty: string]: any;
587
+ };
588
+ export const NS_DARK_THEME_CONFIG: ThemeConfigType;
1058
589
  export const NSGlobalStyle: NamedExoticComponent<any>;
1059
- export const NS_LIGHT_THEME_CONFIG: {
1060
- colors: {
1061
- bg: {
1062
- subtle: {
1063
- primary: {
1064
- default: string;
1065
- hover: string;
1066
- disabled: string;
1067
- };
1068
- 'invert-primary': {
1069
- default: string;
1070
- hover: string;
1071
- disabled: string;
1072
- };
1073
- secondary: {
1074
- default: string;
1075
- hover: string;
1076
- disabled: string;
1077
- };
1078
- 'invert-secondary': {
1079
- default: string;
1080
- hover: string;
1081
- disabled: string;
1082
- };
1083
- tertiary: {
1084
- default: string;
1085
- hover: string;
1086
- disabled: string;
1087
- };
1088
- 'invert-tertiary': {
1089
- default: string;
1090
- hover: string;
1091
- disabled: string;
1092
- };
1093
- brand: {
1094
- default: string;
1095
- hover: string;
1096
- disabled: string;
1097
- };
1098
- success: {
1099
- default: string;
1100
- hover: string;
1101
- disabled: string;
1102
- };
1103
- error: {
1104
- default: string;
1105
- hover: string;
1106
- disabled: string;
1107
- };
1108
- warning: {
1109
- default: string;
1110
- hover: string;
1111
- disabled: string;
1112
- };
1113
- yellow: {
1114
- default: string;
1115
- hover: string;
1116
- disabled: string;
1117
- };
1118
- purple: {
1119
- default: string;
1120
- hover: string;
1121
- disabled: string;
1122
- };
1123
- };
1124
- moderate: {
1125
- primary: {
1126
- default: string;
1127
- hover: string;
1128
- disabled: string;
1129
- };
1130
- secondary: {
1131
- default: string;
1132
- hover: string;
1133
- disabled: string;
1134
- };
1135
- tertiary: {
1136
- default: string;
1137
- hover: string;
1138
- disabled: string;
1139
- };
1140
- brand: {
1141
- default: string;
1142
- hover: string;
1143
- disabled: string;
1144
- };
1145
- success: {
1146
- default: string;
1147
- hover: string;
1148
- disabled: string;
1149
- };
1150
- error: {
1151
- default: string;
1152
- hover: string;
1153
- disabled: string;
1154
- };
1155
- warning: {
1156
- default: string;
1157
- hover: string;
1158
- disabled: string;
1159
- };
1160
- yellow: {
1161
- default: string;
1162
- hover: string;
1163
- disabled: string;
1164
- };
1165
- purple: {
1166
- default: string;
1167
- hover: string;
1168
- disabled: string;
1169
- };
1170
- };
1171
- emphasis: {
1172
- primary: {
1173
- default: string;
1174
- hover: string;
1175
- disabled: string;
1176
- };
1177
- secondary: {
1178
- default: string;
1179
- hover: string;
1180
- disabled: string;
1181
- };
1182
- tertiary: {
1183
- default: string;
1184
- hover: string;
1185
- disabled: string;
1186
- };
1187
- brand: {
1188
- default: string;
1189
- hover: string;
1190
- disabled: string;
1191
- };
1192
- success: {
1193
- default: string;
1194
- hover: string;
1195
- disabled: string;
1196
- };
1197
- error: {
1198
- default: string;
1199
- hover: string;
1200
- disabled: string;
1201
- };
1202
- warning: {
1203
- default: string;
1204
- hover: string;
1205
- disabled: string;
1206
- };
1207
- yellow: {
1208
- default: string;
1209
- hover: string;
1210
- disabled: string;
1211
- };
1212
- purple: {
1213
- default: string;
1214
- hover: string;
1215
- disabled: string;
1216
- };
1217
- };
1218
- };
1219
- text: {
1220
- subtle: {
1221
- primary: {
1222
- default: string;
1223
- hover: string;
1224
- disabled: string;
1225
- };
1226
- secondary: {
1227
- default: string;
1228
- hover: string;
1229
- disabled: string;
1230
- };
1231
- tertiary: {
1232
- default: string;
1233
- hover: string;
1234
- disabled: string;
1235
- };
1236
- brand: {
1237
- default: string;
1238
- hover: string;
1239
- disabled: string;
1240
- };
1241
- success: {
1242
- default: string;
1243
- hover: string;
1244
- disabled: string;
1245
- };
1246
- error: {
1247
- default: string;
1248
- hover: string;
1249
- disabled: string;
1250
- };
1251
- warning: {
1252
- default: string;
1253
- hover: string;
1254
- disabled: string;
1255
- };
1256
- yellow: {
1257
- default: string;
1258
- hover: string;
1259
- disabled: string;
1260
- };
1261
- purple: {
1262
- default: string;
1263
- hover: string;
1264
- disabled: string;
1265
- };
1266
- };
1267
- moderate: {
1268
- primary: {
1269
- default: string;
1270
- hover: string;
1271
- disabled: string;
1272
- };
1273
- secondary: {
1274
- default: string;
1275
- hover: string;
1276
- disabled: string;
1277
- };
1278
- tertiary: {
1279
- default: string;
1280
- hover: string;
1281
- disabled: string;
1282
- };
1283
- brand: {
1284
- default: string;
1285
- hover: string;
1286
- disabled: string;
1287
- };
1288
- success: {
1289
- default: string;
1290
- hover: string;
1291
- disabled: string;
1292
- };
1293
- error: {
1294
- default: string;
1295
- hover: string;
1296
- disabled: string;
1297
- };
1298
- warning: {
1299
- default: string;
1300
- hover: string;
1301
- disabled: string;
1302
- };
1303
- yellow: {
1304
- default: string;
1305
- hover: string;
1306
- disabled: string;
1307
- };
1308
- purple: {
1309
- default: string;
1310
- hover: string;
1311
- disabled: string;
1312
- };
1313
- };
1314
- emphasis: {
1315
- primary: {
1316
- default: string;
1317
- hover: string;
1318
- disabled: string;
1319
- };
1320
- 'invert-primary': {
1321
- default: string;
1322
- hover: string;
1323
- disabled: string;
1324
- };
1325
- secondary: {
1326
- default: string;
1327
- hover: string;
1328
- disabled: string;
1329
- };
1330
- white: {
1331
- default: string;
1332
- hover: string;
1333
- disabled: string;
1334
- };
1335
- tertiary: {
1336
- default: string;
1337
- hover: string;
1338
- disabled: string;
1339
- };
1340
- brand: {
1341
- default: string;
1342
- hover: string;
1343
- disabled: string;
1344
- };
1345
- success: {
1346
- default: string;
1347
- hover: string;
1348
- disabled: string;
1349
- };
1350
- error: {
1351
- default: string;
1352
- hover: string;
1353
- disabled: string;
1354
- };
1355
- warning: {
1356
- default: string;
1357
- hover: string;
1358
- disabled: string;
1359
- };
1360
- yellow: {
1361
- default: string;
1362
- hover: string;
1363
- disabled: string;
1364
- };
1365
- purple: {
1366
- default: string;
1367
- hover: string;
1368
- disabled: string;
1369
- };
1370
- };
1371
- };
1372
- border: {
1373
- subtle: {
1374
- primary: {
1375
- default: string;
1376
- hover: string;
1377
- disabled: string;
1378
- };
1379
- 'invert-primary': {
1380
- default: string;
1381
- hover: string;
1382
- disabled: string;
1383
- };
1384
- secondary: {
1385
- default: string;
1386
- hover: string;
1387
- disabled: string;
1388
- };
1389
- tertiary: {
1390
- default: string;
1391
- hover: string;
1392
- disabled: string;
1393
- };
1394
- brand: {
1395
- default: string;
1396
- hover: string;
1397
- disabled: string;
1398
- };
1399
- success: {
1400
- default: string;
1401
- hover: string;
1402
- disabled: string;
1403
- };
1404
- error: {
1405
- default: string;
1406
- hover: string;
1407
- disabled: string;
1408
- };
1409
- warning: {
1410
- default: string;
1411
- hover: string;
1412
- disabled: string;
1413
- };
1414
- yellow: {
1415
- default: string;
1416
- hover: string;
1417
- disabled: string;
1418
- };
1419
- purple: {
1420
- default: string;
1421
- hover: string;
1422
- disabled: string;
1423
- };
1424
- };
1425
- moderate: {
1426
- primary: {
1427
- default: string;
1428
- hover: string;
1429
- disabled: string;
1430
- };
1431
- 'invert-primary': {
1432
- default: string;
1433
- hover: string;
1434
- disabled: string;
1435
- };
1436
- secondary: {
1437
- default: string;
1438
- hover: string;
1439
- disabled: string;
1440
- };
1441
- tertiary: {
1442
- default: string;
1443
- hover: string;
1444
- disabled: string;
1445
- };
1446
- brand: {
1447
- default: string;
1448
- hover: string;
1449
- disabled: string;
1450
- };
1451
- success: {
1452
- default: string;
1453
- hover: string;
1454
- disabled: string;
1455
- };
1456
- error: {
1457
- default: string;
1458
- hover: string;
1459
- disabled: string;
1460
- };
1461
- warning: {
1462
- default: string;
1463
- hover: string;
1464
- disabled: string;
1465
- };
1466
- yellow: {
1467
- default: string;
1468
- hover: string;
1469
- disabled: string;
1470
- };
1471
- purple: {
1472
- default: string;
1473
- hover: string;
1474
- disabled: string;
1475
- };
1476
- };
1477
- emphasis: {
1478
- primary: {
1479
- default: string;
1480
- hover: string;
1481
- disabled: string;
1482
- };
1483
- 'invert-primary': {
1484
- default: string;
1485
- hover: string;
1486
- disabled: string;
1487
- };
1488
- secondary: {
1489
- default: string;
1490
- hover: string;
1491
- disabled: string;
1492
- };
1493
- tertiary: {
1494
- default: string;
1495
- hover: string;
1496
- disabled: string;
1497
- };
1498
- brand: {
1499
- default: string;
1500
- hover: string;
1501
- disabled: string;
1502
- };
1503
- success: {
1504
- default: string;
1505
- hover: string;
1506
- disabled: string;
1507
- };
1508
- error: {
1509
- default: string;
1510
- hover: string;
1511
- disabled: string;
1512
- };
1513
- warning: {
1514
- default: string;
1515
- hover: string;
1516
- disabled: string;
1517
- };
1518
- yellow: {
1519
- default: string;
1520
- hover: string;
1521
- disabled: string;
1522
- };
1523
- purple: {
1524
- default: string;
1525
- hover: string;
1526
- disabled: string;
1527
- };
1528
- };
1529
- };
1530
- };
1531
- visibility: {
1532
- lightVisible: string;
1533
- darkVisible: string;
1534
- };
1535
- legacyColors: {
1536
- text: {
1537
- textPrimary: string;
1538
- textSecondary: string;
1539
- textDisabled: string;
1540
- textAction: string;
1541
- textAction2: string;
1542
- textBrand: string;
1543
- textSuccess: string;
1544
- textError: string;
1545
- textWarning: string;
1546
- textYellow: string;
1547
- textPurple: string;
1548
- };
1549
- background: {
1550
- bgPrimary: string;
1551
- bgSecondary: string;
1552
- bgTertiary: string;
1553
- bgBrand: string;
1554
- bgSuccess: string;
1555
- bgError: string;
1556
- bgWarning: string;
1557
- bgYellow: string;
1558
- bgPurple: string;
1559
- bgDisabled: string;
1560
- bgActionBrand: string;
1561
- bgActionSuccess: string;
1562
- bgActionError: string;
1563
- bgActionWarning: string;
1564
- bgActionYellow: string;
1565
- bgActionPurple: string;
1566
- bgInvertPrimary: string;
1567
- bgInvertSecondary: string;
1568
- bgInvertTertiary: string;
1569
- bgPrimaryHover: string;
1570
- bgInvertPrimaryHover: string;
1571
- bgActionBrandHover: string;
1572
- bgActionSuccessHover: string;
1573
- bgActionErrorHover: string;
1574
- bgActionWarningHover: string;
1575
- bgActionYellowHover: string;
1576
- };
1577
- border: {
1578
- border: string;
1579
- borderBrand: string;
1580
- borderSuccess: string;
1581
- borderError: string;
1582
- borderWarning: string;
1583
- borderYellow: string;
1584
- borderPurple: string;
1585
- borderNeutral: string;
1586
- };
1587
- };
590
+ export const NS_LIGHT_THEME_CONFIG: ThemeConfigType;
591
+ export const NSThemeScopeContext: Context<{
592
+ theme: NSTheme;
593
+ }>;
594
+ /**
595
+ * Key used in styled-components theme object to store the current scoped theme.
596
+ */
597
+ export const NS_SC_THEME_SCOPE_THEME_KEY = "scopedTheme";
598
+ /**
599
+ * Returns the theme and its corresponding class name based on the provided
600
+ * applyTheme and parentTheme. If applyTheme is not provided, it will inherit
601
+ * from the parentTheme. If invert is true, it will switch between light and dark themes.
602
+ * @returns {{ theme: Theme; themeClassName: ThemeClassName }} - The new theme and its class name.
603
+ */
604
+ export const getNSThemeAndThemeClassName: ({ applyTheme, parentTheme, invert, }: GetThemeAndClassNameParams) => {
605
+ theme: NSTheme;
606
+ themeClassName: ThemeClassName;
1588
607
  };
608
+ export const NSThemeScopeProvider: ({ applyTheme, children, }: {
609
+ applyTheme?: NSTheme;
610
+ children?: React.ReactNode;
611
+ }) => JSX.Element;
1589
612
  /**
1590
613
  * GrauityThemeProvider allows you to use multiple themes in your
1591
614
  * application simultaneously, like light and dark mode.
1592
615
  *
1593
- * Wrap your app/components with this provider and also provide class name
1594
- * of `'grauity-theme-light'` or `'grauity-theme-dark'` to the parent div of your app/component.
1595
- *
1596
- * @param {object} themeConfig - Configuration object for the theme
1597
- * @param {React.ReactNode} children - Child components
616
+ * Wrap your root level element (e.g. in your App component) with this provider.
1598
617
  *
1599
- * @returns {React.ReactNode} - Returns the child components wrapped in the theme provider
618
+ * It uses `ThemeScope` to set the initial theme for the application that you provide
619
+ * using the `rootThemeScopeTheme` prop. You can then use ThemeScope anywhere in
620
+ * your application to switch themes for that section of the app.
1600
621
  */
1601
- export const GrauityThemeProvider: ({ themeConfig, children, }: {
622
+ export const GrauityThemeProvider: ({ themeConfig, children, rootThemeScopeTheme, }: {
1602
623
  themeConfig?: {
1603
- light: {
1604
- colors: {
1605
- bg: {
1606
- subtle: {
1607
- primary: {
1608
- default: string;
1609
- hover: string;
1610
- disabled: string;
1611
- };
1612
- 'invert-primary': {
1613
- default: string;
1614
- hover: string;
1615
- disabled: string;
1616
- };
1617
- secondary: {
1618
- default: string;
1619
- hover: string;
1620
- disabled: string;
1621
- };
1622
- 'invert-secondary': {
1623
- default: string;
1624
- hover: string;
1625
- disabled: string;
1626
- };
1627
- tertiary: {
1628
- default: string;
1629
- hover: string;
1630
- disabled: string;
1631
- };
1632
- 'invert-tertiary': {
1633
- default: string;
1634
- hover: string;
1635
- disabled: string;
1636
- };
1637
- brand: {
1638
- default: string;
1639
- hover: string;
1640
- disabled: string;
1641
- };
1642
- success: {
1643
- default: string;
1644
- hover: string;
1645
- disabled: string;
1646
- };
1647
- error: {
1648
- default: string;
1649
- hover: string;
1650
- disabled: string;
1651
- };
1652
- warning: {
1653
- default: string;
1654
- hover: string;
1655
- disabled: string;
1656
- };
1657
- yellow: {
1658
- default: string;
1659
- hover: string;
1660
- disabled: string;
1661
- };
1662
- purple: {
1663
- default: string;
1664
- hover: string;
1665
- disabled: string;
1666
- };
1667
- };
1668
- moderate: {
1669
- primary: {
1670
- default: string;
1671
- hover: string;
1672
- disabled: string;
1673
- };
1674
- secondary: {
1675
- default: string;
1676
- hover: string;
1677
- disabled: string;
1678
- };
1679
- tertiary: {
1680
- default: string;
1681
- hover: string;
1682
- disabled: string;
1683
- };
1684
- brand: {
1685
- default: string;
1686
- hover: string;
1687
- disabled: string;
1688
- };
1689
- success: {
1690
- default: string;
1691
- hover: string;
1692
- disabled: string;
1693
- };
1694
- error: {
1695
- default: string;
1696
- hover: string;
1697
- disabled: string;
1698
- };
1699
- warning: {
1700
- default: string;
1701
- hover: string;
1702
- disabled: string;
1703
- };
1704
- yellow: {
1705
- default: string;
1706
- hover: string;
1707
- disabled: string;
1708
- };
1709
- purple: {
1710
- default: string;
1711
- hover: string;
1712
- disabled: string;
1713
- };
1714
- };
1715
- emphasis: {
1716
- primary: {
1717
- default: string;
1718
- hover: string;
1719
- disabled: string;
1720
- };
1721
- secondary: {
1722
- default: string;
1723
- hover: string;
1724
- disabled: string;
1725
- };
1726
- tertiary: {
1727
- default: string;
1728
- hover: string;
1729
- disabled: string;
1730
- };
1731
- brand: {
1732
- default: string;
1733
- hover: string;
1734
- disabled: string;
1735
- };
1736
- success: {
1737
- default: string;
1738
- hover: string;
1739
- disabled: string;
1740
- };
1741
- error: {
1742
- default: string;
1743
- hover: string;
1744
- disabled: string;
1745
- };
1746
- warning: {
1747
- default: string;
1748
- hover: string;
1749
- disabled: string;
1750
- };
1751
- yellow: {
1752
- default: string;
1753
- hover: string;
1754
- disabled: string;
1755
- };
1756
- purple: {
1757
- default: string;
1758
- hover: string;
1759
- disabled: string;
1760
- };
1761
- };
1762
- };
1763
- text: {
1764
- subtle: {
1765
- primary: {
1766
- default: string;
1767
- hover: string;
1768
- disabled: string;
1769
- };
1770
- secondary: {
1771
- default: string;
1772
- hover: string;
1773
- disabled: string;
1774
- };
1775
- tertiary: {
1776
- default: string;
1777
- hover: string;
1778
- disabled: string;
1779
- };
1780
- brand: {
1781
- default: string;
1782
- hover: string;
1783
- disabled: string;
1784
- };
1785
- success: {
1786
- default: string;
1787
- hover: string;
1788
- disabled: string;
1789
- };
1790
- error: {
1791
- default: string;
1792
- hover: string;
1793
- disabled: string;
1794
- };
1795
- warning: {
1796
- default: string;
1797
- hover: string;
1798
- disabled: string;
1799
- };
1800
- yellow: {
1801
- default: string;
1802
- hover: string;
1803
- disabled: string;
1804
- };
1805
- purple: {
1806
- default: string;
1807
- hover: string;
1808
- disabled: string;
1809
- };
1810
- };
1811
- moderate: {
1812
- primary: {
1813
- default: string;
1814
- hover: string;
1815
- disabled: string;
1816
- };
1817
- secondary: {
1818
- default: string;
1819
- hover: string;
1820
- disabled: string;
1821
- };
1822
- tertiary: {
1823
- default: string;
1824
- hover: string;
1825
- disabled: string;
1826
- };
1827
- brand: {
1828
- default: string;
1829
- hover: string;
1830
- disabled: string;
1831
- };
1832
- success: {
1833
- default: string;
1834
- hover: string;
1835
- disabled: string;
1836
- };
1837
- error: {
1838
- default: string;
1839
- hover: string;
1840
- disabled: string;
1841
- };
1842
- warning: {
1843
- default: string;
1844
- hover: string;
1845
- disabled: string;
1846
- };
1847
- yellow: {
1848
- default: string;
1849
- hover: string;
1850
- disabled: string;
1851
- };
1852
- purple: {
1853
- default: string;
1854
- hover: string;
1855
- disabled: string;
1856
- };
1857
- };
1858
- emphasis: {
1859
- primary: {
1860
- default: string;
1861
- hover: string;
1862
- disabled: string;
1863
- };
1864
- 'invert-primary': {
1865
- default: string;
1866
- hover: string;
1867
- disabled: string;
1868
- };
1869
- secondary: {
1870
- default: string;
1871
- hover: string;
1872
- disabled: string;
1873
- };
1874
- white: {
1875
- default: string;
1876
- hover: string;
1877
- disabled: string;
1878
- };
1879
- tertiary: {
1880
- default: string;
1881
- hover: string;
1882
- disabled: string;
1883
- };
1884
- brand: {
1885
- default: string;
1886
- hover: string;
1887
- disabled: string;
1888
- };
1889
- success: {
1890
- default: string;
1891
- hover: string;
1892
- disabled: string;
1893
- };
1894
- error: {
1895
- default: string;
1896
- hover: string;
1897
- disabled: string;
1898
- };
1899
- warning: {
1900
- default: string;
1901
- hover: string;
1902
- disabled: string;
1903
- };
1904
- yellow: {
1905
- default: string;
1906
- hover: string;
1907
- disabled: string;
1908
- };
1909
- purple: {
1910
- default: string;
1911
- hover: string;
1912
- disabled: string;
1913
- };
1914
- };
1915
- };
1916
- border: {
1917
- subtle: {
1918
- primary: {
1919
- default: string;
1920
- hover: string;
1921
- disabled: string;
1922
- };
1923
- 'invert-primary': {
1924
- default: string;
1925
- hover: string;
1926
- disabled: string;
1927
- };
1928
- secondary: {
1929
- default: string;
1930
- hover: string;
1931
- disabled: string;
1932
- };
1933
- tertiary: {
1934
- default: string;
1935
- hover: string;
1936
- disabled: string;
1937
- };
1938
- brand: {
1939
- default: string;
1940
- hover: string;
1941
- disabled: string;
1942
- };
1943
- success: {
1944
- default: string;
1945
- hover: string;
1946
- disabled: string;
1947
- };
1948
- error: {
1949
- default: string;
1950
- hover: string;
1951
- disabled: string;
1952
- };
1953
- warning: {
1954
- default: string;
1955
- hover: string;
1956
- disabled: string;
1957
- };
1958
- yellow: {
1959
- default: string;
1960
- hover: string;
1961
- disabled: string;
1962
- };
1963
- purple: {
1964
- default: string;
1965
- hover: string;
1966
- disabled: string;
1967
- };
1968
- };
1969
- moderate: {
1970
- primary: {
1971
- default: string;
1972
- hover: string;
1973
- disabled: string;
1974
- };
1975
- 'invert-primary': {
1976
- default: string;
1977
- hover: string;
1978
- disabled: string;
1979
- };
1980
- secondary: {
1981
- default: string;
1982
- hover: string;
1983
- disabled: string;
1984
- };
1985
- tertiary: {
1986
- default: string;
1987
- hover: string;
1988
- disabled: string;
1989
- };
1990
- brand: {
1991
- default: string;
1992
- hover: string;
1993
- disabled: string;
1994
- };
1995
- success: {
1996
- default: string;
1997
- hover: string;
1998
- disabled: string;
1999
- };
2000
- error: {
2001
- default: string;
2002
- hover: string;
2003
- disabled: string;
2004
- };
2005
- warning: {
2006
- default: string;
2007
- hover: string;
2008
- disabled: string;
2009
- };
2010
- yellow: {
2011
- default: string;
2012
- hover: string;
2013
- disabled: string;
2014
- };
2015
- purple: {
2016
- default: string;
2017
- hover: string;
2018
- disabled: string;
2019
- };
2020
- };
2021
- emphasis: {
2022
- primary: {
2023
- default: string;
2024
- hover: string;
2025
- disabled: string;
2026
- };
2027
- 'invert-primary': {
2028
- default: string;
2029
- hover: string;
2030
- disabled: string;
2031
- };
2032
- secondary: {
2033
- default: string;
2034
- hover: string;
2035
- disabled: string;
2036
- };
2037
- tertiary: {
2038
- default: string;
2039
- hover: string;
2040
- disabled: string;
2041
- };
2042
- brand: {
2043
- default: string;
2044
- hover: string;
2045
- disabled: string;
2046
- };
2047
- success: {
2048
- default: string;
2049
- hover: string;
2050
- disabled: string;
2051
- };
2052
- error: {
2053
- default: string;
2054
- hover: string;
2055
- disabled: string;
2056
- };
2057
- warning: {
2058
- default: string;
2059
- hover: string;
2060
- disabled: string;
2061
- };
2062
- yellow: {
2063
- default: string;
2064
- hover: string;
2065
- disabled: string;
2066
- };
2067
- purple: {
2068
- default: string;
2069
- hover: string;
2070
- disabled: string;
2071
- };
2072
- };
2073
- };
2074
- };
2075
- visibility: {
2076
- lightVisible: string;
2077
- darkVisible: string;
2078
- };
2079
- legacyColors: {
2080
- text: {
2081
- textPrimary: string;
2082
- textSecondary: string;
2083
- textDisabled: string;
2084
- textAction: string;
2085
- textAction2: string;
2086
- textBrand: string;
2087
- textSuccess: string;
2088
- textError: string;
2089
- textWarning: string;
2090
- textYellow: string;
2091
- textPurple: string;
2092
- };
2093
- background: {
2094
- bgPrimary: string;
2095
- bgSecondary: string;
2096
- bgTertiary: string;
2097
- bgBrand: string;
2098
- bgSuccess: string;
2099
- bgError: string;
2100
- bgWarning: string;
2101
- bgYellow: string;
2102
- bgPurple: string;
2103
- bgDisabled: string;
2104
- bgActionBrand: string;
2105
- bgActionSuccess: string;
2106
- bgActionError: string;
2107
- bgActionWarning: string;
2108
- bgActionYellow: string;
2109
- bgActionPurple: string;
2110
- bgInvertPrimary: string;
2111
- bgInvertSecondary: string;
2112
- bgInvertTertiary: string;
2113
- bgPrimaryHover: string;
2114
- bgInvertPrimaryHover: string;
2115
- bgActionBrandHover: string;
2116
- bgActionSuccessHover: string;
2117
- bgActionErrorHover: string;
2118
- bgActionWarningHover: string;
2119
- bgActionYellowHover: string;
2120
- };
2121
- border: {
2122
- border: string;
2123
- borderBrand: string;
2124
- borderSuccess: string;
2125
- borderError: string;
2126
- borderWarning: string;
2127
- borderYellow: string;
2128
- borderPurple: string;
2129
- borderNeutral: string;
2130
- };
2131
- };
2132
- };
2133
- dark: {
2134
- colors: {
2135
- bg: {
2136
- subtle: {
2137
- primary: {
2138
- default: string;
2139
- hover: string;
2140
- disabled: string;
2141
- };
2142
- 'invert-primary': {
2143
- default: string;
2144
- hover: string;
2145
- disabled: string;
2146
- };
2147
- secondary: {
2148
- default: string;
2149
- hover: string;
2150
- disabled: string;
2151
- };
2152
- 'invert-secondary': {
2153
- default: string;
2154
- hover: string;
2155
- disabled: string;
2156
- };
2157
- tertiary: {
2158
- default: string;
2159
- hover: string;
2160
- disabled: string;
2161
- };
2162
- 'invert-tertiary': {
2163
- default: string;
2164
- hover: string;
2165
- disabled: string;
2166
- };
2167
- brand: {
2168
- default: string;
2169
- hover: string;
2170
- disabled: string;
2171
- };
2172
- success: {
2173
- default: string;
2174
- hover: string;
2175
- disabled: string;
2176
- };
2177
- error: {
2178
- default: string;
2179
- hover: string;
2180
- disabled: string;
2181
- };
2182
- warning: {
2183
- default: string;
2184
- hover: string;
2185
- disabled: string;
2186
- };
2187
- yellow: {
2188
- default: string;
2189
- hover: string;
2190
- disabled: string;
2191
- };
2192
- purple: {
2193
- default: string;
2194
- hover: string;
2195
- disabled: string;
2196
- };
2197
- };
2198
- moderate: {
2199
- primary: {
2200
- default: string;
2201
- hover: string;
2202
- disabled: string;
2203
- };
2204
- secondary: {
2205
- default: string;
2206
- hover: string;
2207
- disabled: string;
2208
- };
2209
- tertiary: {
2210
- default: string;
2211
- hover: string;
2212
- disabled: string;
2213
- };
2214
- brand: {
2215
- default: string;
2216
- hover: string;
2217
- disabled: string;
2218
- };
2219
- success: {
2220
- default: string;
2221
- hover: string;
2222
- disabled: string;
2223
- };
2224
- error: {
2225
- default: string;
2226
- hover: string;
2227
- disabled: string;
2228
- };
2229
- warning: {
2230
- default: string;
2231
- hover: string;
2232
- disabled: string;
2233
- };
2234
- yellow: {
2235
- default: string;
2236
- hover: string;
2237
- disabled: string;
2238
- };
2239
- purple: {
2240
- default: string;
2241
- hover: string;
2242
- disabled: string;
2243
- };
2244
- };
2245
- emphasis: {
2246
- primary: {
2247
- default: string;
2248
- hover: string;
2249
- disabled: string;
2250
- };
2251
- secondary: {
2252
- default: string;
2253
- hover: string;
2254
- disabled: string;
2255
- };
2256
- tertiary: {
2257
- default: string;
2258
- hover: string;
2259
- disabled: string;
2260
- };
2261
- brand: {
2262
- default: string;
2263
- hover: string;
2264
- disabled: string;
2265
- };
2266
- success: {
2267
- default: string;
2268
- hover: string;
2269
- disabled: string;
2270
- };
2271
- error: {
2272
- default: string;
2273
- hover: string;
2274
- disabled: string;
2275
- };
2276
- warning: {
2277
- default: string;
2278
- hover: string;
2279
- disabled: string;
2280
- };
2281
- yellow: {
2282
- default: string;
2283
- hover: string;
2284
- disabled: string;
2285
- };
2286
- purple: {
2287
- default: string;
2288
- hover: string;
2289
- disabled: string;
2290
- };
2291
- };
2292
- };
2293
- text: {
2294
- subtle: {
2295
- primary: {
2296
- default: string;
2297
- hover: string;
2298
- disabled: string;
2299
- };
2300
- secondary: {
2301
- default: string;
2302
- hover: string;
2303
- disabled: string;
2304
- };
2305
- tertiary: {
2306
- default: string;
2307
- hover: string;
2308
- disabled: string;
2309
- };
2310
- brand: {
2311
- default: string;
2312
- hover: string;
2313
- disabled: string;
2314
- };
2315
- success: {
2316
- default: string;
2317
- hover: string;
2318
- disabled: string;
2319
- };
2320
- error: {
2321
- default: string;
2322
- hover: string;
2323
- disabled: string;
2324
- };
2325
- warning: {
2326
- default: string;
2327
- hover: string;
2328
- disabled: string;
2329
- };
2330
- yellow: {
2331
- default: string;
2332
- hover: string;
2333
- disabled: string;
2334
- };
2335
- purple: {
2336
- default: string;
2337
- hover: string;
2338
- disabled: string;
2339
- };
2340
- };
2341
- moderate: {
2342
- primary: {
2343
- default: string;
2344
- hover: string;
2345
- disabled: string;
2346
- };
2347
- secondary: {
2348
- default: string;
2349
- hover: string;
2350
- disabled: string;
2351
- };
2352
- tertiary: {
2353
- default: string;
2354
- hover: string;
2355
- disabled: string;
2356
- };
2357
- brand: {
2358
- default: string;
2359
- hover: string;
2360
- disabled: string;
2361
- };
2362
- success: {
2363
- default: string;
2364
- hover: string;
2365
- disabled: string;
2366
- };
2367
- error: {
2368
- default: string;
2369
- hover: string;
2370
- disabled: string;
2371
- };
2372
- warning: {
2373
- default: string;
2374
- hover: string;
2375
- disabled: string;
2376
- };
2377
- yellow: {
2378
- default: string;
2379
- hover: string;
2380
- disabled: string;
2381
- };
2382
- purple: {
2383
- default: string;
2384
- hover: string;
2385
- disabled: string;
2386
- };
2387
- };
2388
- emphasis: {
2389
- primary: {
2390
- default: string;
2391
- hover: string;
2392
- disabled: string;
2393
- };
2394
- 'invert-primary': {
2395
- default: string;
2396
- hover: string;
2397
- disabled: string;
2398
- };
2399
- secondary: {
2400
- default: string;
2401
- hover: string;
2402
- disabled: string;
2403
- };
2404
- white: {
2405
- default: string;
2406
- hover: string;
2407
- disabled: string;
2408
- };
2409
- tertiary: {
2410
- default: string;
2411
- hover: string;
2412
- disabled: string;
2413
- };
2414
- brand: {
2415
- default: string;
2416
- hover: string;
2417
- disabled: string;
2418
- };
2419
- success: {
2420
- default: string;
2421
- hover: string;
2422
- disabled: string;
2423
- };
2424
- error: {
2425
- default: string;
2426
- hover: string;
2427
- disabled: string;
2428
- };
2429
- warning: {
2430
- default: string;
2431
- hover: string;
2432
- disabled: string;
2433
- };
2434
- yellow: {
2435
- default: string;
2436
- hover: string;
2437
- disabled: string;
2438
- };
2439
- purple: {
2440
- default: string;
2441
- hover: string;
2442
- disabled: string;
2443
- };
2444
- };
2445
- };
2446
- border: {
2447
- subtle: {
2448
- primary: {
2449
- default: string;
2450
- hover: string;
2451
- disabled: string;
2452
- };
2453
- 'invert-primary': {
2454
- default: string;
2455
- hover: string;
2456
- disabled: string;
2457
- };
2458
- secondary: {
2459
- default: string;
2460
- hover: string;
2461
- disabled: string;
2462
- };
2463
- tertiary: {
2464
- default: string;
2465
- hover: string;
2466
- disabled: string;
2467
- };
2468
- brand: {
2469
- default: string;
2470
- hover: string;
2471
- disabled: string;
2472
- };
2473
- success: {
2474
- default: string;
2475
- hover: string;
2476
- disabled: string;
2477
- };
2478
- error: {
2479
- default: string;
2480
- hover: string;
2481
- disabled: string;
2482
- };
2483
- warning: {
2484
- default: string;
2485
- hover: string;
2486
- disabled: string;
2487
- };
2488
- yellow: {
2489
- default: string;
2490
- hover: string;
2491
- disabled: string;
2492
- };
2493
- purple: {
2494
- default: string;
2495
- hover: string;
2496
- disabled: string;
2497
- };
2498
- };
2499
- moderate: {
2500
- primary: {
2501
- default: string;
2502
- hover: string;
2503
- disabled: string;
2504
- };
2505
- 'invert-primary': {
2506
- default: string;
2507
- hover: string;
2508
- disabled: string;
2509
- };
2510
- secondary: {
2511
- default: string;
2512
- hover: string;
2513
- disabled: string;
2514
- };
2515
- tertiary: {
2516
- default: string;
2517
- hover: string;
2518
- disabled: string;
2519
- };
2520
- brand: {
2521
- default: string;
2522
- hover: string;
2523
- disabled: string;
2524
- };
2525
- success: {
2526
- default: string;
2527
- hover: string;
2528
- disabled: string;
2529
- };
2530
- error: {
2531
- default: string;
2532
- hover: string;
2533
- disabled: string;
2534
- };
2535
- warning: {
2536
- default: string;
2537
- hover: string;
2538
- disabled: string;
2539
- };
2540
- yellow: {
2541
- default: string;
2542
- hover: string;
2543
- disabled: string;
2544
- };
2545
- purple: {
2546
- default: string;
2547
- hover: string;
2548
- disabled: string;
2549
- };
2550
- };
2551
- emphasis: {
2552
- primary: {
2553
- default: string;
2554
- hover: string;
2555
- disabled: string;
2556
- };
2557
- 'invert-primary': {
2558
- default: string;
2559
- hover: string;
2560
- disabled: string;
2561
- };
2562
- secondary: {
2563
- default: string;
2564
- hover: string;
2565
- disabled: string;
2566
- };
2567
- tertiary: {
2568
- default: string;
2569
- hover: string;
2570
- disabled: string;
2571
- };
2572
- brand: {
2573
- default: string;
2574
- hover: string;
2575
- disabled: string;
2576
- };
2577
- success: {
2578
- default: string;
2579
- hover: string;
2580
- disabled: string;
2581
- };
2582
- error: {
2583
- default: string;
2584
- hover: string;
2585
- disabled: string;
2586
- };
2587
- warning: {
2588
- default: string;
2589
- hover: string;
2590
- disabled: string;
2591
- };
2592
- yellow: {
2593
- default: string;
2594
- hover: string;
2595
- disabled: string;
2596
- };
2597
- purple: {
2598
- default: string;
2599
- hover: string;
2600
- disabled: string;
2601
- };
2602
- };
2603
- };
2604
- };
2605
- visibility: {
2606
- lightVisible: string;
2607
- darkVisible: string;
2608
- };
2609
- legacyColors: {
2610
- text: {
2611
- textPrimary: string;
2612
- textSecondary: string;
2613
- textDisabled: string;
2614
- textAction: string;
2615
- textAction2: string;
2616
- textBrand: string;
2617
- textSuccess: string;
2618
- textError: string;
2619
- textWarning: string;
2620
- textYellow: string;
2621
- textPurple: string;
2622
- };
2623
- background: {
2624
- bgPrimary: string;
2625
- bgSecondary: string;
2626
- bgTertiary: string;
2627
- bgBrand: string;
2628
- bgSuccess: string;
2629
- bgError: string;
2630
- bgWarning: string;
2631
- bgYellow: string;
2632
- bgPurple: string;
2633
- bgDisabled: string;
2634
- bgActionBrand: string;
2635
- bgActionSuccess: string;
2636
- bgActionError: string;
2637
- bgActionWarning: string;
2638
- bgActionYellow: string;
2639
- bgActionPurple: string;
2640
- bgInvertPrimary: string;
2641
- bgInvertSecondary: string;
2642
- bgInvertTertiary: string;
2643
- bgPrimaryHover: string;
2644
- bgInvertPrimaryHover: string;
2645
- bgActionBrandHover: string;
2646
- bgActionSuccessHover: string;
2647
- bgActionErrorHover: string;
2648
- bgActionWarningHover: string;
2649
- bgActionYellowHover: string;
2650
- };
2651
- border: {
2652
- border: string;
2653
- borderBrand: string;
2654
- borderSuccess: string;
2655
- borderError: string;
2656
- borderWarning: string;
2657
- borderYellow: string;
2658
- borderPurple: string;
2659
- borderNeutral: string;
2660
- };
2661
- };
2662
- };
624
+ [theme: string]: ThemeConfigType;
2663
625
  };
2664
- children?: any;
626
+ children?: React.ReactNode;
627
+ rootThemeScopeTheme?: NSTheme;
2665
628
  }) => JSX.Element;
2666
629
  export const NSThemeContext: React.Context<any>;
2667
630
  interface ThemeWrapperProps {
@@ -3551,6 +1514,32 @@ export const NSTable: {
3551
1514
  TableHeadingCell: IStyledComponentBase<"web", Substitute<React.DetailedHTMLProps<React.ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement>, TableHeadingCellComponentProps>> & string;
3552
1515
  TableRow: IStyledComponentBase<"web", Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, TableRowComponentProps>> & string;
3553
1516
  };
1517
+ /**
1518
+ * `ThemeScope` is used to apply a different theme to a section of your application.
1519
+ * You can use the `applyTheme` prop to set the theme to either 'light' or 'dark'.
1520
+ * If you want to invert the current theme, you can use the `invert` prop.
1521
+ *
1522
+ * ThemeScope also provides a way to detect the locally scoped theme in any child styled-component
1523
+ * using the `scopedTheme` prop from the theme object, i.e. by accessing `props.theme.scopedTheme`.
1524
+ *
1525
+ * To only detect the current theme (without changing it), you can use the `useThemeScope` hook.
1526
+ */
1527
+ export function NSThemeScope<T extends React.ElementType = 'div'>({ applyTheme, invert, as, className, children, ...rest }: NSThemeScopeProps<T>): JSX.Element;
1528
+ /**
1529
+ * `useThemeScope` is a hook that allows you to get the current scoped theme (set using `ThemeScope`).
1530
+ *
1531
+ * You can use this hook in any child component of the `ThemeScope` wrapper to get the current theme.
1532
+ */
1533
+ export function useNSThemeScope(): {
1534
+ /**
1535
+ * The current scoped theme name (i.e., 'light' or 'dark')
1536
+ */
1537
+ theme: "light" | "dark";
1538
+ /**
1539
+ * Class name used for applying the theme.
1540
+ */
1541
+ themeClassName: "grauity-theme-light" | "grauity-theme-dark";
1542
+ };
3554
1543
  export interface OverlayProps {
3555
1544
  /**
3556
1545
  * Content to be displayed inside the Overlay.
@@ -5828,6 +3817,12 @@ export const NSPagination: (props: PaginationProps) => JSX.Element;
5828
3817
  export const NSSuccessMessage: (props: SuccessMessageProps) => JSX.Element;
5829
3818
  type OtpFieldColors = TextFieldColors;
5830
3819
  export interface OtpInputFieldProps {
3820
+ /**
3821
+ * The initial value of the OTP input fields.
3822
+ * @default ''
3823
+ * @type string
3824
+ */
3825
+ value?: string;
5831
3826
  /**
5832
3827
  * The label displayed above the OTP input fields.
5833
3828
  * @type string
@@ -5855,6 +3850,17 @@ export interface OtpInputFieldProps {
5855
3850
  value: string;
5856
3851
  };
5857
3852
  }) => void;
3853
+ /**
3854
+ * Callback triggered when the whole OTP input field loses focus.
3855
+ * @param event - The event object containing the updated OTP value.
3856
+ * @type (event: { target: { name: string; value: string } }) => void
3857
+ */
3858
+ onBlur?: (event: {
3859
+ target: {
3860
+ name: string;
3861
+ value: string;
3862
+ };
3863
+ }) => void;
5858
3864
  /**
5859
3865
  * Inline styles applied to the OTP input fields.
5860
3866
  * @type React.CSSProperties