@razorpay/blade 6.3.0 → 6.5.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.
@@ -1,61 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import * as React$1 from 'react';
3
3
  import React__default, { ReactChild, ReactElement, ReactNode, SyntheticEvent, KeyboardEvent } from 'react';
4
- import { AccessibilityRole, View, GestureResponderEvent } from 'react-native';
4
+ import * as styled_components from 'styled-components';
5
5
  import { CSSObject } from 'styled-components';
6
-
7
- declare type ActionListProps = {
8
- children: React__default.ReactNode[];
9
- /**
10
- * Decides the backgroundColor of ActionList
11
- */
12
- surfaceLevel?: 2 | 3;
13
- };
14
- /**
15
- * ### ActionList
16
- *
17
- * List of multiple actionable items. Can be used as menu items inside `Dropdown`,
18
- * `BottomSheet` and as selectable items when combined with `SelectInput`
19
- *
20
- * #### Usage
21
- *
22
- * ```jsx
23
- * <Dropdown>
24
- * <SelectInput label="Select Action" />
25
- * <DropdownOverlay>
26
- * <ActionList>
27
- * <ActionListHeader
28
- * title="Recent Searches"
29
- * leading={<ActionListHeaderIcon icon={HistoryIcon} />}
30
- * />
31
- * <ActionListItem
32
- * title="Home"
33
- * value="home"
34
- * leading={<ActionListItemIcon icon={HomeIcon} />}
35
- * />
36
- * <ActionListItem
37
- * title="Pricing"
38
- * value="pricing"
39
- * leading={<ActionListItemAsset src="https://flagcdn.com/w20/in.png" alt="India Flag" />}
40
- * />
41
- * <ActionListHeader
42
- * title="Search Tips"
43
- * leading={<ActionListFooterIcon icon={SearchIcon} />}
44
- * trailing={
45
- * <Button
46
- * onClick={() => console.log('clicked')}
47
- * >
48
- * Apply
49
- * </Button>
50
- * }
51
- * />
52
- * </ActionList>
53
- * </DropdownOverlay>
54
- * </Dropdown>
55
- * ```
56
- *
57
- */
58
- declare const ActionList: ({ children, surfaceLevel }: ActionListProps) => JSX.Element;
6
+ import { AccessibilityRole, View, GestureResponderEvent } from 'react-native';
7
+ import * as csstype from 'csstype';
59
8
 
60
9
  type BorderRadius = Readonly<{
61
10
  /** none: 0(px/rem/pt) */
@@ -87,18 +36,73 @@ type Border = Readonly<{
87
36
  }>;
88
37
 
89
38
  type Breakpoints = Readonly<{
90
- /** max width: 320px */
39
+ /**
40
+ * `base` is used for responsive styling following a **mobile first** approach. It starts from 0px till the next existing token
41
+ *
42
+ * Think of this as styles without any media query.
43
+ *
44
+ * ### Example
45
+ *
46
+ * This code will set margin as `spacing.2` on "m" size screens and above. And as `spacing.1` on less than "m" size screens
47
+ * ```jsx
48
+ * <Box margin={{ base: 'spacing.1', m: 'spacing.2' }} />
49
+ * ```
50
+ *
51
+ * This roughly translates into -
52
+ *
53
+ * ```
54
+ * .Box {
55
+ * margin: 'spacing.1';
56
+ * }
57
+ *
58
+ * @media screen and (min-width: 768px) {
59
+ * .Box {
60
+ * margin: 'spacing.2';
61
+ * }
62
+ * }
63
+ * ```
64
+ */
65
+ base: number;
66
+ /**
67
+ * `@media screen and (min-width: 320px)`
68
+ *
69
+ * Small Mobiles
70
+ */
91
71
  xs: number;
92
- /** min width: 321px and max width: 480px */
72
+ /**
73
+ * `@media screen and (min-width: 480px)`
74
+ *
75
+ * Mobiles and Small Tablets
76
+ */
93
77
  s: number;
94
- /** min width: 481px and max width: 768px */
78
+ /**
79
+ * `@media screen and (min-width: 768px)`
80
+ *
81
+ * Medium and Large Tablets.
82
+ *
83
+ * Dimensions with `m` and above can be treated as desktop in mobile-first approach (with min-width).
84
+ * Hence this breakpoint can be used for desktop styling.
85
+ *
86
+ * E.g. next example will keep flexDirection `row` on mobiles and `column` on large tablets, desktop, and larger screens
87
+ *
88
+ * ```jsx
89
+ * <Box display="flex" flexDirection={{ base: 'row', m: 'column' }} />
90
+ * ```
91
+ *
92
+ */
95
93
  m: number;
96
- /** min width: 769 and max width: 1024px */
94
+ /**
95
+ * `@media screen and (min-width: 1024px)`
96
+ *
97
+ * Desktop
98
+ */
97
99
  l: number;
98
- /** min width: 1025 and max width: 1200px */
100
+ /**
101
+ * `@media screen and (min-width: 1200px)`
102
+ *
103
+ * HD Desktop
104
+ */
99
105
  xl: number;
100
- /** min width: 1201px */
101
- max: number;
102
106
  }>;
103
107
 
104
108
  type FontFamily = {
@@ -253,6 +257,12 @@ type TypographyPlatforms$1 = 'onDesktop' | 'onMobile';
253
257
 
254
258
  type TypographyWithPlatforms = Record<TypographyPlatforms$1, Typography>;
255
259
 
260
+ /**
261
+ * When any of the values are changed here, do change the jsdoc comments in BaseBox/types/spacingTypes.ts as well
262
+ *
263
+ * {@link ../../components/Box/BaseBox/types/spacingTypes.ts}
264
+ */
265
+
256
266
  type Spacing = Readonly<{
257
267
  /** 0: 0(px/rem/pt) */
258
268
  0: 0;
@@ -280,40 +290,161 @@ type Spacing = Readonly<{
280
290
  11: 56;
281
291
  }>;
282
292
 
283
- /**
284
- * @template TokenType token type generic
285
- * @description Tokenises objects to dot notation strings, eg: `surface.text.normal.lowContrast`
286
- */
287
- type DotNotationColorStringToken<TokenType> = {
288
- [K in keyof TokenType]: `${Extract<K, number | string>}.${TokenType[K] extends Record<
289
- string,
290
- string
291
- >
292
- ? Extract<keyof TokenType[K], number | string>
293
- : DotNotationColorStringToken<TokenType[K]>}`;
294
- }[keyof TokenType];
293
+ type ColorSchemeNames = 'dark' | 'light';
294
+ type ColorSchemeNamesInput = ColorSchemeNames | 'system';
295
295
 
296
- /**
297
- * Use this when you want children to be string.
298
- *
299
- * This covers scenarios like
300
- * ```jsx
301
- * <Title>Hi</Title>
302
- * <Title>{dynamicVariable} something</Title>
303
- * ```
304
- *
305
- *
306
- * ### Usage
307
- *
308
- * ```ts
309
- * import type { StringChildrenType } from '~helpers/types';
310
- *
311
- * type MyProps = {
312
- * children: StringChildrenType;
313
- * }
314
- * ```
315
- */
316
- type StringChildrenType = React__default.ReactText | React__default.ReactText[];
296
+ type ColorSchemeModes = 'onDark' | 'onLight';
297
+
298
+ type ShadowLevels = 1 | 2 | 3 | 4 | 5;
299
+
300
+ type TextTypes = 'muted' | 'normal' | 'placeholder' | 'subdued' | 'subtle';
301
+
302
+ type ColorContrastTypes = 'low' | 'high';
303
+
304
+ type Shadows = {
305
+ offsetX: {
306
+ level: Record<ShadowLevels, number>;
307
+ };
308
+ offsetY: {
309
+ level: Record<ShadowLevels, number>;
310
+ };
311
+ blurRadius: {
312
+ level: Record<ShadowLevels, number>;
313
+ };
314
+ color: Record<
315
+ ColorSchemeModes,
316
+ {
317
+ level: Record<ShadowLevels, string>;
318
+ }
319
+ >;
320
+ androidElevation: {
321
+ level: Record<ShadowLevels, number>;
322
+ };
323
+ };
324
+
325
+ type Feedback = 'information' | 'negative' | 'neutral' | 'notice' | 'positive';
326
+
327
+ type ColorContrast = {
328
+ [K in ColorContrastTypes as `${Extract<K, string>}Contrast`]: string;
329
+ };
330
+
331
+ type ActionStates = {
332
+ default: string;
333
+ hover: string;
334
+ focus: string;
335
+ active: string;
336
+ disabled: string;
337
+ };
338
+
339
+ type LinkActionStates = ActionStates & {
340
+ visited: string;
341
+ };
342
+
343
+ type ActionStatesWithContrast = {
344
+ default: ColorContrast;
345
+ hover: ColorContrast;
346
+ focus: ColorContrast;
347
+ active: ColorContrast;
348
+ disabled: ColorContrast;
349
+ };
350
+
351
+ type ActionVariants = {
352
+ primary: ActionStates;
353
+ secondary: ActionStates;
354
+ tertiary: ActionStates;
355
+ link: LinkActionStates;
356
+ };
357
+
358
+ type ActionVariantsWithContrast = {
359
+ primary: ActionStatesWithContrast;
360
+ secondary: ActionStatesWithContrast;
361
+ tertiary: ActionStatesWithContrast;
362
+ link: ActionStatesWithContrast;
363
+ };
364
+
365
+ // export type ActionProperties = {
366
+ // background: ActionVariants;
367
+ // border: ActionVariants;
368
+ // text: ActionVariants;
369
+ // icon: ActionVariants;
370
+ // };
371
+
372
+ type FeedbackActions = {
373
+ background: Pick<ActionVariantsWithContrast, 'primary'>;
374
+ border: Pick<ActionVariantsWithContrast, 'primary'>;
375
+ text: Pick<ActionVariantsWithContrast, 'link' | 'primary'>;
376
+ icon: Pick<ActionVariantsWithContrast, 'link' | 'primary'>;
377
+ };
378
+
379
+ type Colors = {
380
+ brand: {
381
+ primary: Record<300 | 400 | 500 | 600 | 700 | 800, string>;
382
+ secondary: Record<500, string>;
383
+ gray: Record<200 | 300 | 400 | 500 | 600 | 700 | 'a50' | 'a100', ColorContrast>;
384
+ };
385
+ feedback: {
386
+ background: Record<Feedback, ColorContrast>;
387
+ border: Record<Feedback, ColorContrast>;
388
+ text: Record<Feedback, ColorContrast>;
389
+ icon: Record<Feedback, ColorContrast>;
390
+ positive: {
391
+ action: FeedbackActions;
392
+ };
393
+ negative: {
394
+ action: FeedbackActions;
395
+ };
396
+ information: {
397
+ action: FeedbackActions;
398
+ };
399
+ notice: {
400
+ action: FeedbackActions;
401
+ };
402
+ neutral: {
403
+ action: FeedbackActions;
404
+ };
405
+ };
406
+ surface: {
407
+ background: Record<'level1' | 'level2' | 'level3', ColorContrast>;
408
+ border: Record<'normal' | 'subtle', ColorContrast>;
409
+ text: Record<TextTypes, ColorContrast>;
410
+ action: {
411
+ icon: ActionStatesWithContrast;
412
+ };
413
+ };
414
+ overlay: Record<'background', string>;
415
+ action: {
416
+ background: Omit<ActionVariants, 'link'>;
417
+ border: Omit<ActionVariants, 'link'>;
418
+ text: ActionVariants;
419
+ icon: ActionVariants;
420
+ };
421
+ badge: {
422
+ background: {
423
+ blue: ColorContrast;
424
+ };
425
+ border: {
426
+ blue: ColorContrast;
427
+ };
428
+ text: {
429
+ blue: ColorContrast;
430
+ };
431
+ icon: {
432
+ blue: ColorContrast;
433
+ };
434
+ };
435
+ };
436
+
437
+ type ColorsWithModes = Record<ColorSchemeModes, Colors>;
438
+
439
+ type ThemeTokens = {
440
+ border: Border;
441
+ breakpoints: Breakpoints;
442
+ colors: ColorsWithModes;
443
+ motion: Motion;
444
+ spacing: Spacing;
445
+ shadows: Shadows;
446
+ typography: TypographyWithPlatforms;
447
+ };
317
448
 
318
449
  /* eslint-disable @typescript-eslint/no-explicit-any */
319
450
 
@@ -641,31 +772,31 @@ type AriaAttributes = {
641
772
  * Brands a type making them act as nominal
642
773
  * @see https://medium.com/@KevinBGreene/surviving-the-typescript-ecosystem-branding-and-type-tagging-6cf6e516523d
643
774
  */
644
- type Brand<Type, Name extends string> = Type & { __brand__?: Name };
775
+ type Brand$1<Type, Name extends string> = Type & { __brand__?: Name };
645
776
 
646
- type NativeOrWebBrand = Brand<any, 'native' | 'web'>;
777
+ type NativeOrWebBrand$1 = Brand$1<any, 'native' | 'web'>;
647
778
 
648
779
  /* eslint-disable @typescript-eslint/no-namespace */
649
780
 
650
781
 
651
- declare namespace Platform {
782
+ declare namespace Platform$1 {
652
783
  export type Name = 'web';
653
784
  /**
654
785
  * Right now, the module resolution is set to resolve `.web` files,
655
786
  *
656
787
  * Thus Platform.Select<> type will return the `web` type
657
788
  */
658
- export type Select<Options extends { web: unknown; native: unknown }> = Brand<
789
+ export type Select<Options extends { web: unknown; native: unknown }> = Brand$1<
659
790
  Options[Name],
660
791
  'platform-web'
661
792
  >;
662
793
 
663
- export type CastNative<T extends NativeOrWebBrand | undefined> = Extract<
794
+ export type CastNative<T extends NativeOrWebBrand$1 | undefined> = Extract<
664
795
  T,
665
796
  { __brand__?: 'platform-native' | 'platform-all' }
666
797
  >;
667
798
 
668
- export type CastWeb<T extends NativeOrWebBrand | undefined> = Extract<
799
+ export type CastWeb<T extends NativeOrWebBrand$1 | undefined> = Extract<
669
800
  T,
670
801
  { __brand__?: 'platform-web' | 'platform-all' }
671
802
  >;
@@ -704,7 +835,7 @@ type Delay = {
704
835
  };
705
836
 
706
837
  type EasingFunctionFactory = { factory: () => (value: number) => number }; // similar to EasingFunctionFactory of `react-native-reanimated`
707
- type EasingType<Value extends string> = Platform.Select<{
838
+ type EasingType<Value extends string> = Platform$1.Select<{
708
839
  web: Value;
709
840
  native: EasingFunctionFactory;
710
841
  }>;
@@ -767,161 +898,99 @@ type Motion = Readonly<{
767
898
  easing: Easing;
768
899
  }>;
769
900
 
770
- type ColorSchemeNames = 'dark' | 'light';
771
- type ColorSchemeNamesInput = ColorSchemeNames | 'system';
772
-
773
- type ColorSchemeModes = 'onDark' | 'onLight';
774
-
775
- type ShadowLevels = 1 | 2 | 3 | 4 | 5;
776
-
777
- type TextTypes = 'muted' | 'normal' | 'placeholder' | 'subdued' | 'subtle';
778
-
779
- type ColorContrastTypes = 'low' | 'high';
780
-
781
- type Shadows = {
782
- offsetX: {
783
- level: Record<ShadowLevels, number>;
784
- };
785
- offsetY: {
786
- level: Record<ShadowLevels, number>;
787
- };
788
- blurRadius: {
789
- level: Record<ShadowLevels, number>;
790
- };
791
- color: Record<
792
- ColorSchemeModes,
793
- {
794
- level: Record<ShadowLevels, string>;
795
- }
796
- >;
797
- androidElevation: {
798
- level: Record<ShadowLevels, number>;
799
- };
800
- };
801
-
802
- type Feedback = 'information' | 'negative' | 'neutral' | 'notice' | 'positive';
803
-
804
- type ColorContrast = {
805
- [K in ColorContrastTypes as `${Extract<K, string>}Contrast`]: string;
806
- };
807
-
808
- type ActionStates = {
809
- default: string;
810
- hover: string;
811
- focus: string;
812
- active: string;
813
- disabled: string;
814
- };
815
-
816
- type LinkActionStates = ActionStates & {
817
- visited: string;
818
- };
819
-
820
- type ActionStatesWithContrast = {
821
- default: ColorContrast;
822
- hover: ColorContrast;
823
- focus: ColorContrast;
824
- active: ColorContrast;
825
- disabled: ColorContrast;
826
- };
827
-
828
- type ActionVariants = {
829
- primary: ActionStates;
830
- secondary: ActionStates;
831
- tertiary: ActionStates;
832
- link: LinkActionStates;
833
- };
834
-
835
- type ActionVariantsWithContrast = {
836
- primary: ActionStatesWithContrast;
837
- secondary: ActionStatesWithContrast;
838
- tertiary: ActionStatesWithContrast;
839
- link: ActionStatesWithContrast;
840
- };
901
+ /**
902
+ * @template TokenType token type generic
903
+ * @description Tokenises objects to dot notation strings, eg: `surface.text.normal.lowContrast`
904
+ */
905
+ type DotNotationColorStringToken<TokenType> = {
906
+ [K in keyof TokenType]: `${Extract<K, number | string>}.${TokenType[K] extends Record<
907
+ string,
908
+ string
909
+ >
910
+ ? Extract<keyof TokenType[K], number | string>
911
+ : DotNotationColorStringToken<TokenType[K]>}`;
912
+ }[keyof TokenType];
841
913
 
842
- // export type ActionProperties = {
843
- // background: ActionVariants;
844
- // border: ActionVariants;
845
- // text: ActionVariants;
846
- // icon: ActionVariants;
847
- // };
914
+ type DotNotationSpacingStringToken = `spacing.${keyof Spacing}`;
848
915
 
849
- type FeedbackActions = {
850
- background: Pick<ActionVariantsWithContrast, 'primary'>;
851
- border: Pick<ActionVariantsWithContrast, 'primary'>;
852
- text: Pick<ActionVariantsWithContrast, 'link' | 'primary'>;
853
- icon: Pick<ActionVariantsWithContrast, 'link' | 'primary'>;
854
- };
916
+ /**
917
+ * Use this when you want children to be string.
918
+ *
919
+ * This covers scenarios like
920
+ * ```jsx
921
+ * <Title>Hi</Title>
922
+ * <Title>{dynamicVariable} something</Title>
923
+ * ```
924
+ *
925
+ *
926
+ * ### Usage
927
+ *
928
+ * ```ts
929
+ * import type { StringChildrenType } from '~helpers/types';
930
+ *
931
+ * type MyProps = {
932
+ * children: StringChildrenType;
933
+ * }
934
+ * ```
935
+ */
936
+ type StringChildrenType = React__default.ReactText | React__default.ReactText[];
855
937
 
856
- type Colors = {
857
- brand: {
858
- primary: Record<300 | 400 | 500 | 600 | 700 | 800, string>;
859
- secondary: Record<500, string>;
860
- gray: Record<200 | 300 | 400 | 500 | 600 | 700 | 'a50' | 'a100', ColorContrast>;
861
- };
862
- feedback: {
863
- background: Record<Feedback, ColorContrast>;
864
- border: Record<Feedback, ColorContrast>;
865
- text: Record<Feedback, ColorContrast>;
866
- icon: Record<Feedback, ColorContrast>;
867
- positive: {
868
- action: FeedbackActions;
869
- };
870
- negative: {
871
- action: FeedbackActions;
872
- };
873
- information: {
874
- action: FeedbackActions;
875
- };
876
- notice: {
877
- action: FeedbackActions;
878
- };
879
- neutral: {
880
- action: FeedbackActions;
881
- };
882
- };
883
- surface: {
884
- background: Record<'level1' | 'level2' | 'level3', ColorContrast>;
885
- border: Record<'normal' | 'subtle', ColorContrast>;
886
- text: Record<TextTypes, ColorContrast>;
887
- action: {
888
- icon: ActionStatesWithContrast;
889
- };
890
- };
891
- overlay: Record<'background', string>;
892
- action: {
893
- background: Omit<ActionVariants, 'link'>;
894
- border: Omit<ActionVariants, 'link'>;
895
- text: ActionVariants;
896
- icon: ActionVariants;
897
- };
898
- badge: {
899
- background: {
900
- blue: ColorContrast;
901
- };
902
- border: {
903
- blue: ColorContrast;
904
- };
905
- text: {
906
- blue: ColorContrast;
907
- };
908
- icon: {
909
- blue: ColorContrast;
910
- };
911
- };
938
+ type TestID$1 = {
939
+ testID?: string;
912
940
  };
913
941
 
914
- type ColorsWithModes = Record<ColorSchemeModes, Colors>;
915
-
916
- type ThemeTokens = {
917
- border: Border;
918
- breakpoints: Breakpoints;
919
- colors: ColorsWithModes;
920
- motion: Motion;
921
- spacing: Spacing;
922
- shadows: Shadows;
923
- typography: TypographyWithPlatforms;
924
- };
942
+ declare type ActionListProps = {
943
+ children: React__default.ReactNode[];
944
+ /**
945
+ * Decides the backgroundColor of ActionList
946
+ */
947
+ surfaceLevel?: 2 | 3;
948
+ } & TestID$1;
949
+ /**
950
+ * ### ActionList
951
+ *
952
+ * List of multiple actionable items. Can be used as menu items inside `Dropdown`,
953
+ * `BottomSheet` and as selectable items when combined with `SelectInput`
954
+ *
955
+ * #### Usage
956
+ *
957
+ * ```jsx
958
+ * <Dropdown>
959
+ * <SelectInput label="Select Action" />
960
+ * <DropdownOverlay>
961
+ * <ActionList>
962
+ * <ActionListHeader
963
+ * title="Recent Searches"
964
+ * leading={<ActionListHeaderIcon icon={HistoryIcon} />}
965
+ * />
966
+ * <ActionListItem
967
+ * title="Home"
968
+ * value="home"
969
+ * leading={<ActionListItemIcon icon={HomeIcon} />}
970
+ * />
971
+ * <ActionListItem
972
+ * title="Pricing"
973
+ * value="pricing"
974
+ * leading={<ActionListItemAsset src="https://flagcdn.com/w20/in.png" alt="India Flag" />}
975
+ * />
976
+ * <ActionListHeader
977
+ * title="Search Tips"
978
+ * leading={<ActionListFooterIcon icon={SearchIcon} />}
979
+ * trailing={
980
+ * <Button
981
+ * onClick={() => console.log('clicked')}
982
+ * >
983
+ * Apply
984
+ * </Button>
985
+ * }
986
+ * />
987
+ * </ActionList>
988
+ * </DropdownOverlay>
989
+ * </Dropdown>
990
+ * ```
991
+ *
992
+ */
993
+ declare const ActionList: ({ children, surfaceLevel, testID }: ActionListProps) => JSX.Element;
925
994
 
926
995
  type Theme$1 = {
927
996
  border: Border;
@@ -937,6 +1006,362 @@ type Theme$1 = {
937
1006
  typography: Typography;
938
1007
  };
939
1008
 
1009
+ /**
1010
+ * Returns the value or the responsive object with that value
1011
+ *
1012
+ * ## Usage
1013
+ *
1014
+ * Example if you pass string argument, return type will be string or responsive object with string value
1015
+ *
1016
+ * `MakeValueResponsive<string>`
1017
+ * ```ts
1018
+ * string |
1019
+ * {
1020
+ * base?: string;
1021
+ * xs?: string;
1022
+ * s?: string;
1023
+ * // ... other breakpoints
1024
+ * }
1025
+ * ```
1026
+ *
1027
+ */
1028
+ type MakeValueResponsive$1<T> =
1029
+ | T
1030
+ | {
1031
+ // Using this instead of Record to maintain the jsdoc from breakpoints.ts
1032
+ [P in keyof Breakpoints]?: T;
1033
+ };
1034
+
1035
+ /**
1036
+ * Turns all the values in object into responsive object.
1037
+ *
1038
+ * ```ts
1039
+ * MakeObjectResponsive<{ hello: string}>
1040
+ *
1041
+ * // Outputs:
1042
+ * {
1043
+ * hello: string | {
1044
+ * base?: string;
1045
+ * xs?: string;
1046
+ * s?: string;
1047
+ * // ... other breakpoints
1048
+ * }
1049
+ * }
1050
+ * ```
1051
+ */
1052
+ type MakeObjectResponsive$1<T> = { [P in keyof T]: MakeValueResponsive$1<T[P]> };
1053
+
1054
+ type ArrayOfMaxLength4$1<T> = readonly [T?, T?, T?, T?];
1055
+ type SpaceUnits$1 = Platform$1.Select<{
1056
+ web: 'px' | '%' | 'fr' | 'rem' | 'em' | 'vh' | 'vw';
1057
+ native: 'px' | '%';
1058
+ }>;
1059
+ type SpacingValueType$1 = DotNotationSpacingStringToken | `${string}${SpaceUnits$1}` | 'auto';
1060
+
1061
+ type MarginProps$1 = MakeObjectResponsive$1<{
1062
+ /**
1063
+ * ### Margin Shorthand
1064
+ *
1065
+ * #### Usage
1066
+ *
1067
+ * ```jsx
1068
+ * margin="spacing.3"
1069
+ * margin="20px"
1070
+ * margin={["spacing.3", "spacing.1", "spacing.0", "10px"]}
1071
+ * ```
1072
+ *
1073
+ * ---
1074
+ * #### Spacing to Pixel values
1075
+ *
1076
+ * - `spacing.0` - 0px
1077
+ * - `spacing.1` - 2px
1078
+ * - `spacing.2` - 4px
1079
+ * - `spacing.3` - 8px
1080
+ * - `spacing.4` - 12px
1081
+ * - `spacing.5` - 16px
1082
+ * - `spacing.6` - 20px
1083
+ * - `spacing.7` - 24px
1084
+ * - `spacing.8` - 32px
1085
+ * - `spacing.9` - 40px
1086
+ * - `spacing.10` - 48px
1087
+ * - `spacing.11` - 56px
1088
+ *
1089
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1090
+ *
1091
+ */
1092
+ margin: SpacingValueType$1 | ArrayOfMaxLength4$1<SpacingValueType$1>;
1093
+ /**
1094
+ * ### Margin Horizontal
1095
+ *
1096
+ * #### Usage
1097
+ *
1098
+ * ```jsx
1099
+ * marginX="spacing.3"
1100
+ * marginX="20px"
1101
+ * ```
1102
+ *
1103
+ * ---
1104
+ * #### Spacing to Pixel values
1105
+ *
1106
+ * - `spacing.0` - 0px
1107
+ * - `spacing.1` - 2px
1108
+ * - `spacing.2` - 4px
1109
+ * - `spacing.3` - 8px
1110
+ * - `spacing.4` - 12px
1111
+ * - `spacing.5` - 16px
1112
+ * - `spacing.6` - 20px
1113
+ * - `spacing.7` - 24px
1114
+ * - `spacing.8` - 32px
1115
+ * - `spacing.9` - 40px
1116
+ * - `spacing.10` - 48px
1117
+ * - `spacing.11` - 56px
1118
+ *
1119
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1120
+ *
1121
+ */
1122
+ marginX: SpacingValueType$1;
1123
+ /**
1124
+ * ### Margin Vertical
1125
+ *
1126
+ * #### Usage
1127
+ *
1128
+ * ```jsx
1129
+ * marginY="spacing.3"
1130
+ * marginY="20px"
1131
+ * ```
1132
+ *
1133
+ * ---
1134
+ * #### Spacing to Pixel values
1135
+ *
1136
+ * - `spacing.0` - 0px
1137
+ * - `spacing.1` - 2px
1138
+ * - `spacing.2` - 4px
1139
+ * - `spacing.3` - 8px
1140
+ * - `spacing.4` - 12px
1141
+ * - `spacing.5` - 16px
1142
+ * - `spacing.6` - 20px
1143
+ * - `spacing.7` - 24px
1144
+ * - `spacing.8` - 32px
1145
+ * - `spacing.9` - 40px
1146
+ * - `spacing.10` - 48px
1147
+ * - `spacing.11` - 56px
1148
+ *
1149
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1150
+ *
1151
+ */
1152
+ marginY: SpacingValueType$1;
1153
+ /**
1154
+ * ### Margin Top
1155
+ *
1156
+ * #### Usage
1157
+ *
1158
+ * ```jsx
1159
+ * marginTop="spacing.3"
1160
+ * marginTop="20px"
1161
+ * ```
1162
+ *
1163
+ * ---
1164
+ * #### Spacing to Pixel values
1165
+ *
1166
+ * - `spacing.0` - 0px
1167
+ * - `spacing.1` - 2px
1168
+ * - `spacing.2` - 4px
1169
+ * - `spacing.3` - 8px
1170
+ * - `spacing.4` - 12px
1171
+ * - `spacing.5` - 16px
1172
+ * - `spacing.6` - 20px
1173
+ * - `spacing.7` - 24px
1174
+ * - `spacing.8` - 32px
1175
+ * - `spacing.9` - 40px
1176
+ * - `spacing.10` - 48px
1177
+ * - `spacing.11` - 56px
1178
+ *
1179
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1180
+ */
1181
+ marginTop: SpacingValueType$1;
1182
+ /**
1183
+ * ### Margin Right
1184
+ *
1185
+ * #### Usage
1186
+ *
1187
+ * ```jsx
1188
+ * marginRight="spacing.3"
1189
+ * marginRight="20px"
1190
+ * ```
1191
+ *
1192
+ * ---
1193
+ * #### Spacing to Pixel values
1194
+ *
1195
+ * - `spacing.0` - 0px
1196
+ * - `spacing.1` - 2px
1197
+ * - `spacing.2` - 4px
1198
+ * - `spacing.3` - 8px
1199
+ * - `spacing.4` - 12px
1200
+ * - `spacing.5` - 16px
1201
+ * - `spacing.6` - 20px
1202
+ * - `spacing.7` - 24px
1203
+ * - `spacing.8` - 32px
1204
+ * - `spacing.9` - 40px
1205
+ * - `spacing.10` - 48px
1206
+ * - `spacing.11` - 56px
1207
+ *
1208
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1209
+ */
1210
+ marginRight: SpacingValueType$1;
1211
+ /**
1212
+ * ### Margin Bottom
1213
+ *
1214
+ * #### Usage
1215
+ *
1216
+ * ```jsx
1217
+ * marginBottom="spacing.3"
1218
+ * marginBottom="20px"
1219
+ * ```
1220
+ *
1221
+ * ---
1222
+ * #### Spacing to Pixel values
1223
+ *
1224
+ * - `spacing.0` - 0px
1225
+ * - `spacing.1` - 2px
1226
+ * - `spacing.2` - 4px
1227
+ * - `spacing.3` - 8px
1228
+ * - `spacing.4` - 12px
1229
+ * - `spacing.5` - 16px
1230
+ * - `spacing.6` - 20px
1231
+ * - `spacing.7` - 24px
1232
+ * - `spacing.8` - 32px
1233
+ * - `spacing.9` - 40px
1234
+ * - `spacing.10` - 48px
1235
+ * - `spacing.11` - 56px
1236
+ *
1237
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1238
+ */
1239
+ marginBottom: SpacingValueType$1;
1240
+ /**
1241
+ * ### Margin Left
1242
+ *
1243
+ * #### Usage
1244
+ *
1245
+ * ```jsx
1246
+ * marginLeft="spacing.3"
1247
+ * marginLeft="20px"
1248
+ * ```
1249
+ *
1250
+ * ---
1251
+ * #### Spacing to Pixel values
1252
+ *
1253
+ * - `spacing.0` - 0px
1254
+ * - `spacing.1` - 2px
1255
+ * - `spacing.2` - 4px
1256
+ * - `spacing.3` - 8px
1257
+ * - `spacing.4` - 12px
1258
+ * - `spacing.5` - 16px
1259
+ * - `spacing.6` - 20px
1260
+ * - `spacing.7` - 24px
1261
+ * - `spacing.8` - 32px
1262
+ * - `spacing.9` - 40px
1263
+ * - `spacing.10` - 48px
1264
+ * - `spacing.11` - 56px
1265
+ *
1266
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1267
+ */
1268
+ marginLeft: SpacingValueType$1;
1269
+ }>;
1270
+
1271
+ type MakeObjectWebOnly$1<T> = {
1272
+ [P in keyof T]: Platform$1.Select<{ web: T[P]; native: never }>;
1273
+ };
1274
+
1275
+ type FlexboxProps$1 = MakeObjectResponsive$1<
1276
+ {
1277
+ /**
1278
+ * This uses the native gap property which might not work on older browsers.
1279
+ * If you want to support older browsers, you might want to use `margin` instead.
1280
+ *
1281
+ * @see https://caniuse.com/?search=gap
1282
+ */
1283
+ gap: SpacingValueType$1;
1284
+ /**
1285
+ * This uses the native row-gap property which might not work on older browsers.
1286
+ * If you want to support older browsers, you might want to use `margin` instead.
1287
+ *
1288
+ * @see https://caniuse.com/?search=row-gap
1289
+ */
1290
+ rowGap: SpacingValueType$1;
1291
+ /**
1292
+ * This uses the native column-gap property which might not work on older browsers.
1293
+ * If you want to support older browsers, you might want to use `margin` instead.
1294
+ *
1295
+ * @see https://caniuse.com/?search=column-gap
1296
+ */
1297
+ columnGap: SpacingValueType$1;
1298
+ } & Pick<
1299
+ CSSObject,
1300
+ | 'flex'
1301
+ | 'flexWrap'
1302
+ | 'flexDirection'
1303
+ | 'flexGrow'
1304
+ | 'flexShrink'
1305
+ | 'flexBasis'
1306
+ | 'alignItems'
1307
+ | 'alignContent'
1308
+ | 'alignSelf'
1309
+ | 'justifyItems'
1310
+ | 'justifyContent'
1311
+ | 'justifySelf'
1312
+ | 'placeSelf'
1313
+ | 'order'
1314
+ >
1315
+ >;
1316
+
1317
+ type PositionProps$1 = MakeObjectResponsive$1<
1318
+ {
1319
+ top: SpacingValueType$1;
1320
+ right: SpacingValueType$1;
1321
+ bottom: SpacingValueType$1;
1322
+ left: SpacingValueType$1;
1323
+ } & Pick<CSSObject, 'position' | 'zIndex'>
1324
+ >;
1325
+
1326
+ type GridProps$1 = MakeObjectWebOnly$1<
1327
+ MakeObjectResponsive$1<
1328
+ Pick<
1329
+ CSSObject,
1330
+ | 'grid'
1331
+ | 'gridColumn'
1332
+ | 'gridRow'
1333
+ | 'gridRowStart'
1334
+ | 'gridRowEnd'
1335
+ | 'gridColumnStart'
1336
+ | 'gridColumnEnd'
1337
+ | 'gridArea'
1338
+ | 'gridAutoFlow'
1339
+ | 'gridAutoRows'
1340
+ | 'gridAutoColumns'
1341
+ | 'gridTemplate'
1342
+ | 'gridTemplateAreas'
1343
+ | 'gridTemplateColumns'
1344
+ | 'gridTemplateRows'
1345
+ >
1346
+ >
1347
+ >;
1348
+
1349
+ type StyledPropsBlade = Partial<
1350
+ MarginProps$1 &
1351
+ Pick<FlexboxProps$1, 'alignSelf' | 'justifySelf' | 'placeSelf' | 'order'> &
1352
+ PositionProps$1 &
1353
+ Pick<
1354
+ GridProps$1,
1355
+ | 'gridColumn'
1356
+ | 'gridRow'
1357
+ | 'gridRowStart'
1358
+ | 'gridRowEnd'
1359
+ | 'gridColumnStart'
1360
+ | 'gridColumnEnd'
1361
+ | 'gridArea'
1362
+ >
1363
+ >;
1364
+
940
1365
  type FeedbackIconColors$1 = `feedback.icon.${DotNotationColorStringToken<
941
1366
  Theme$1['colors']['feedback']['icon']
942
1367
  >}`;
@@ -975,7 +1400,7 @@ type IconProps$1 = {
975
1400
  | BadgeIconColors$1
976
1401
  | 'currentColor'; // currentColor is useful for letting the SVG inherit color property from its container
977
1402
  size: IconSize$1;
978
- };
1403
+ } & StyledPropsBlade;
979
1404
  type IconComponent$1 = React.ComponentType<IconProps$1>;
980
1405
 
981
1406
  declare type ActionListItemProps = {
@@ -1019,7 +1444,7 @@ declare type ActionListItemProps = {
1019
1444
  * @private
1020
1445
  */
1021
1446
  _index?: number;
1022
- };
1447
+ } & TestID$1;
1023
1448
  declare const ActionListSectionDivider: () => JSX.Element;
1024
1449
  declare type ActionListSectionProps = {
1025
1450
  title: string;
@@ -1032,7 +1457,7 @@ declare type ActionListSectionProps = {
1032
1457
  * @private
1033
1458
  */
1034
1459
  _hideDivider?: boolean;
1035
- };
1460
+ } & TestID$1;
1036
1461
  declare const ActionListSection: WithComponentId<ActionListSectionProps>;
1037
1462
  declare const ActionListItemIcon: WithComponentId<{
1038
1463
  icon: IconComponent$1;
@@ -1068,7 +1493,7 @@ declare type ActionListHeaderProps = {
1068
1493
  * Valid children - `ActionListHeaderIcon`
1069
1494
  */
1070
1495
  leading?: React__default.ReactNode;
1071
- };
1496
+ } & TestID$1;
1072
1497
  /**
1073
1498
  * ### ActionListHeader
1074
1499
  *
@@ -1107,7 +1532,7 @@ declare type ActionListFooterProps = {
1107
1532
  * Anything can be passed here but maybe don't? Should ideally have Button or Tick Icon Buttons.
1108
1533
  */
1109
1534
  trailing?: React__default.ReactNode;
1110
- };
1535
+ } & TestID$1;
1111
1536
  /**
1112
1537
  * ### ActionListFooter
1113
1538
  *
@@ -1216,82 +1641,655 @@ declare type AlertProps = {
1216
1641
  */
1217
1642
  secondary?: SecondaryAction;
1218
1643
  };
1219
- };
1220
- declare const Alert: ({ description, title, isDismissible, onDismiss, contrast, isFullWidth, intent, actions, }: AlertProps) => ReactElement | null;
1644
+ } & TestID$1 & StyledPropsBlade;
1645
+ declare const Alert: ({ description, title, isDismissible, onDismiss, contrast, isFullWidth, intent, actions, testID, ...styledProps }: AlertProps) => ReactElement | null;
1221
1646
 
1222
1647
  declare type BadgeProps = {
1223
1648
  /**
1224
- * Sets the label for the badge.
1649
+ * Sets the label for the badge.
1650
+ *
1651
+ */
1652
+ children: StringChildrenType;
1653
+ /**
1654
+ * Sets the variant of the badge.
1655
+ *
1656
+ * @default 'neutral'
1657
+ */
1658
+ variant?: Feedback | 'blue';
1659
+ /**
1660
+ * Sets the contrast of the badge.
1661
+ *
1662
+ * @default 'low'
1663
+ */
1664
+ contrast?: 'low' | 'high';
1665
+ /**
1666
+ * Sets the size of the badge.
1667
+ *
1668
+ * @default 'medium'
1669
+ */
1670
+ size?: 'small' | 'medium' | 'large';
1671
+ /**
1672
+ * Icon to be displayed in the badge.
1673
+ * Accepts a component of type `IconComponent` from Blade.
1674
+ *
1675
+ */
1676
+ icon?: IconComponent$1;
1677
+ /**
1678
+ * Sets the fontWeight of the label.
1679
+ *
1680
+ * @default 'regular'
1681
+ */
1682
+ fontWeight?: 'regular' | 'bold';
1683
+ } & TestID$1 & StyledPropsBlade;
1684
+ declare const Badge: ({ children, contrast, fontWeight, icon, size, variant, testID, ...styledProps }: BadgeProps) => ReactElement;
1685
+
1686
+ declare type BladeProviderProps = {
1687
+ themeTokens: ThemeTokens;
1688
+ colorScheme?: ColorSchemeNamesInput;
1689
+ children: ReactNode;
1690
+ };
1691
+ declare const BladeProvider: ({ themeTokens, colorScheme, children, }: BladeProviderProps) => ReactElement;
1692
+
1693
+ declare type UseColorScheme = {
1694
+ colorScheme: ColorSchemeNames;
1695
+ setColorScheme: (colorScheme: ColorSchemeNamesInput) => void;
1696
+ };
1697
+
1698
+ declare type TypographyPlatforms = 'onDesktop' | 'onMobile';
1699
+
1700
+ declare type ThemeContext = UseColorScheme & {
1701
+ theme: Theme;
1702
+ platform: TypographyPlatforms;
1703
+ };
1704
+ declare const ThemeContext: React$1.Context<ThemeContext>;
1705
+ declare const useTheme: () => ThemeContext;
1706
+
1707
+ declare type Theme = {
1708
+ border: Border;
1709
+ breakpoints: Breakpoints;
1710
+ colors: Colors;
1711
+ spacing: Spacing;
1712
+ motion: Motion;
1713
+ shadows: Omit<Shadows, 'color'> & {
1714
+ color: {
1715
+ level: Record<ShadowLevels, string>;
1716
+ };
1717
+ };
1718
+ typography: Typography;
1719
+ };
1720
+
1721
+ /**
1722
+ * Returns the value or the responsive object with that value
1723
+ *
1724
+ * ## Usage
1725
+ *
1726
+ * Example if you pass string argument, return type will be string or responsive object with string value
1727
+ *
1728
+ * `MakeValueResponsive<string>`
1729
+ * ```ts
1730
+ * string |
1731
+ * {
1732
+ * base?: string;
1733
+ * xs?: string;
1734
+ * s?: string;
1735
+ * // ... other breakpoints
1736
+ * }
1737
+ * ```
1738
+ *
1739
+ */
1740
+ declare type MakeValueResponsive<T> = T | {
1741
+ [P in keyof Breakpoints]?: T;
1742
+ };
1743
+ /**
1744
+ * Turns all the values in object into responsive object.
1745
+ *
1746
+ * ```ts
1747
+ * MakeObjectResponsive<{ hello: string}>
1748
+ *
1749
+ * // Outputs:
1750
+ * {
1751
+ * hello: string | {
1752
+ * base?: string;
1753
+ * xs?: string;
1754
+ * s?: string;
1755
+ * // ... other breakpoints
1756
+ * }
1757
+ * }
1758
+ * ```
1759
+ */
1760
+ declare type MakeObjectResponsive<T> = {
1761
+ [P in keyof T]: MakeValueResponsive<T[P]>;
1762
+ };
1763
+
1764
+ declare type ArrayOfMaxLength4<T> = readonly [T?, T?, T?, T?];
1765
+ declare type SpaceUnits = Platform$1.Select<{
1766
+ web: 'px' | '%' | 'fr' | 'rem' | 'em' | 'vh' | 'vw';
1767
+ native: 'px' | '%';
1768
+ }>;
1769
+ declare type SpacingValueType = DotNotationSpacingStringToken | `${string}${SpaceUnits}` | 'auto';
1770
+ /**
1771
+ * @IMPORTANT
1772
+ *
1773
+ * I wish there was better way to re-use jsdoc but I checked and there isn't so we have to explicitly add docs to each prop.
1774
+ *
1775
+ * When you want to change a specific token value, you can select the entire block of spacing value mapping and do find and replace on it
1776
+ *
1777
+ * Checkout example of find and replace query-
1778
+ * {@link https://user-images.githubusercontent.com/30949385/221802507-40c7adbc-484a-47b3-9035-ae1e97080b51.png}
1779
+ *
1780
+ */
1781
+ declare type PaddingProps = MakeObjectResponsive<{
1782
+ /**
1783
+ * ### Padding Shorthand
1784
+ *
1785
+ * #### Usage
1786
+ *
1787
+ * ```jsx
1788
+ * padding="spacing.3"
1789
+ * padding="20px"
1790
+ * padding={["spacing.3", "spacing.1", "spacing.0", "10px"]}
1791
+ * ```
1792
+ *
1793
+ * ---
1794
+ * #### Spacing to Pixel values
1795
+ *
1796
+ * - `spacing.0` - 0px
1797
+ * - `spacing.1` - 2px
1798
+ * - `spacing.2` - 4px
1799
+ * - `spacing.3` - 8px
1800
+ * - `spacing.4` - 12px
1801
+ * - `spacing.5` - 16px
1802
+ * - `spacing.6` - 20px
1803
+ * - `spacing.7` - 24px
1804
+ * - `spacing.8` - 32px
1805
+ * - `spacing.9` - 40px
1806
+ * - `spacing.10` - 48px
1807
+ * - `spacing.11` - 56px
1808
+ *
1809
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1810
+ *
1811
+ */
1812
+ padding: SpacingValueType | ArrayOfMaxLength4<SpacingValueType>;
1813
+ /**
1814
+ * ### Padding Horizontal
1815
+ *
1816
+ * #### Usage
1817
+ *
1818
+ * ```jsx
1819
+ * paddingX="spacing.3"
1820
+ * paddingX="20px"
1821
+ * ```
1822
+ *
1823
+ * ---
1824
+ * #### Spacing to Pixel values
1825
+ *
1826
+ * - `spacing.0` - 0px
1827
+ * - `spacing.1` - 2px
1828
+ * - `spacing.2` - 4px
1829
+ * - `spacing.3` - 8px
1830
+ * - `spacing.4` - 12px
1831
+ * - `spacing.5` - 16px
1832
+ * - `spacing.6` - 20px
1833
+ * - `spacing.7` - 24px
1834
+ * - `spacing.8` - 32px
1835
+ * - `spacing.9` - 40px
1836
+ * - `spacing.10` - 48px
1837
+ * - `spacing.11` - 56px
1838
+ *
1839
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1840
+ *
1841
+ */
1842
+ paddingX: SpacingValueType;
1843
+ /**
1844
+ * ### Padding Vertical
1845
+ *
1846
+ * #### Usage
1847
+ *
1848
+ * ```jsx
1849
+ * paddingY="spacing.3"
1850
+ * paddingY="20px"
1851
+ * ```
1852
+ *
1853
+ * ---
1854
+ * #### Spacing to Pixel values
1855
+ *
1856
+ * - `spacing.0` - 0px
1857
+ * - `spacing.1` - 2px
1858
+ * - `spacing.2` - 4px
1859
+ * - `spacing.3` - 8px
1860
+ * - `spacing.4` - 12px
1861
+ * - `spacing.5` - 16px
1862
+ * - `spacing.6` - 20px
1863
+ * - `spacing.7` - 24px
1864
+ * - `spacing.8` - 32px
1865
+ * - `spacing.9` - 40px
1866
+ * - `spacing.10` - 48px
1867
+ * - `spacing.11` - 56px
1868
+ *
1869
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1870
+ *
1871
+ */
1872
+ paddingY: SpacingValueType;
1873
+ /**
1874
+ * ### Padding Top
1875
+ *
1876
+ * #### Usage
1877
+ *
1878
+ * ```jsx
1879
+ * paddingTop="spacing.3"
1880
+ * paddingTop="20px"
1881
+ * ```
1882
+ *
1883
+ * ---
1884
+ * #### Spacing to Pixel values
1885
+ *
1886
+ * - `spacing.0` - 0px
1887
+ * - `spacing.1` - 2px
1888
+ * - `spacing.2` - 4px
1889
+ * - `spacing.3` - 8px
1890
+ * - `spacing.4` - 12px
1891
+ * - `spacing.5` - 16px
1892
+ * - `spacing.6` - 20px
1893
+ * - `spacing.7` - 24px
1894
+ * - `spacing.8` - 32px
1895
+ * - `spacing.9` - 40px
1896
+ * - `spacing.10` - 48px
1897
+ * - `spacing.11` - 56px
1898
+ *
1899
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1900
+ */
1901
+ paddingTop: SpacingValueType;
1902
+ /**
1903
+ * ### Padding Right
1904
+ *
1905
+ * #### Usage
1906
+ *
1907
+ * ```jsx
1908
+ * paddingRight="spacing.3"
1909
+ * paddingRight="20px"
1910
+ * ```
1911
+ *
1912
+ * ---
1913
+ * #### Spacing to Pixel values
1914
+ *
1915
+ * - `spacing.0` - 0px
1916
+ * - `spacing.1` - 2px
1917
+ * - `spacing.2` - 4px
1918
+ * - `spacing.3` - 8px
1919
+ * - `spacing.4` - 12px
1920
+ * - `spacing.5` - 16px
1921
+ * - `spacing.6` - 20px
1922
+ * - `spacing.7` - 24px
1923
+ * - `spacing.8` - 32px
1924
+ * - `spacing.9` - 40px
1925
+ * - `spacing.10` - 48px
1926
+ * - `spacing.11` - 56px
1927
+ *
1928
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1929
+ */
1930
+ paddingRight: SpacingValueType;
1931
+ /**
1932
+ * ### Padding Bottom
1933
+ *
1934
+ * #### Usage
1935
+ *
1936
+ * ```jsx
1937
+ * paddingBottom="spacing.3"
1938
+ * paddingBottom="20px"
1939
+ * ```
1940
+ *
1941
+ * ---
1942
+ * #### Spacing to Pixel values
1943
+ *
1944
+ * - `spacing.0` - 0px
1945
+ * - `spacing.1` - 2px
1946
+ * - `spacing.2` - 4px
1947
+ * - `spacing.3` - 8px
1948
+ * - `spacing.4` - 12px
1949
+ * - `spacing.5` - 16px
1950
+ * - `spacing.6` - 20px
1951
+ * - `spacing.7` - 24px
1952
+ * - `spacing.8` - 32px
1953
+ * - `spacing.9` - 40px
1954
+ * - `spacing.10` - 48px
1955
+ * - `spacing.11` - 56px
1956
+ *
1957
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1958
+ */
1959
+ paddingBottom: SpacingValueType;
1960
+ /**
1961
+ * ### Padding Left
1962
+ *
1963
+ * #### Usage
1964
+ *
1965
+ * ```jsx
1966
+ * paddingLeft="spacing.3"
1967
+ * paddingLeft="20px"
1968
+ * ```
1969
+ *
1970
+ * ---
1971
+ * #### Spacing to Pixel values
1972
+ *
1973
+ * - `spacing.0` - 0px
1974
+ * - `spacing.1` - 2px
1975
+ * - `spacing.2` - 4px
1976
+ * - `spacing.3` - 8px
1977
+ * - `spacing.4` - 12px
1978
+ * - `spacing.5` - 16px
1979
+ * - `spacing.6` - 20px
1980
+ * - `spacing.7` - 24px
1981
+ * - `spacing.8` - 32px
1982
+ * - `spacing.9` - 40px
1983
+ * - `spacing.10` - 48px
1984
+ * - `spacing.11` - 56px
1985
+ *
1986
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1987
+ */
1988
+ paddingLeft: SpacingValueType;
1989
+ }>;
1990
+ declare type MarginProps = MakeObjectResponsive<{
1991
+ /**
1992
+ * ### Margin Shorthand
1993
+ *
1994
+ * #### Usage
1995
+ *
1996
+ * ```jsx
1997
+ * margin="spacing.3"
1998
+ * margin="20px"
1999
+ * margin={["spacing.3", "spacing.1", "spacing.0", "10px"]}
2000
+ * ```
2001
+ *
2002
+ * ---
2003
+ * #### Spacing to Pixel values
2004
+ *
2005
+ * - `spacing.0` - 0px
2006
+ * - `spacing.1` - 2px
2007
+ * - `spacing.2` - 4px
2008
+ * - `spacing.3` - 8px
2009
+ * - `spacing.4` - 12px
2010
+ * - `spacing.5` - 16px
2011
+ * - `spacing.6` - 20px
2012
+ * - `spacing.7` - 24px
2013
+ * - `spacing.8` - 32px
2014
+ * - `spacing.9` - 40px
2015
+ * - `spacing.10` - 48px
2016
+ * - `spacing.11` - 56px
2017
+ *
2018
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
2019
+ *
2020
+ */
2021
+ margin: SpacingValueType | ArrayOfMaxLength4<SpacingValueType>;
2022
+ /**
2023
+ * ### Margin Horizontal
2024
+ *
2025
+ * #### Usage
2026
+ *
2027
+ * ```jsx
2028
+ * marginX="spacing.3"
2029
+ * marginX="20px"
2030
+ * ```
2031
+ *
2032
+ * ---
2033
+ * #### Spacing to Pixel values
2034
+ *
2035
+ * - `spacing.0` - 0px
2036
+ * - `spacing.1` - 2px
2037
+ * - `spacing.2` - 4px
2038
+ * - `spacing.3` - 8px
2039
+ * - `spacing.4` - 12px
2040
+ * - `spacing.5` - 16px
2041
+ * - `spacing.6` - 20px
2042
+ * - `spacing.7` - 24px
2043
+ * - `spacing.8` - 32px
2044
+ * - `spacing.9` - 40px
2045
+ * - `spacing.10` - 48px
2046
+ * - `spacing.11` - 56px
2047
+ *
2048
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1225
2049
  *
1226
2050
  */
1227
- children: StringChildrenType;
2051
+ marginX: SpacingValueType;
1228
2052
  /**
1229
- * Sets the variant of the badge.
2053
+ * ### Margin Vertical
2054
+ *
2055
+ * #### Usage
2056
+ *
2057
+ * ```jsx
2058
+ * marginY="spacing.3"
2059
+ * marginY="20px"
2060
+ * ```
2061
+ *
2062
+ * ---
2063
+ * #### Spacing to Pixel values
2064
+ *
2065
+ * - `spacing.0` - 0px
2066
+ * - `spacing.1` - 2px
2067
+ * - `spacing.2` - 4px
2068
+ * - `spacing.3` - 8px
2069
+ * - `spacing.4` - 12px
2070
+ * - `spacing.5` - 16px
2071
+ * - `spacing.6` - 20px
2072
+ * - `spacing.7` - 24px
2073
+ * - `spacing.8` - 32px
2074
+ * - `spacing.9` - 40px
2075
+ * - `spacing.10` - 48px
2076
+ * - `spacing.11` - 56px
2077
+ *
2078
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1230
2079
  *
1231
- * @default 'neutral'
1232
2080
  */
1233
- variant?: Feedback | 'blue';
2081
+ marginY: SpacingValueType;
1234
2082
  /**
1235
- * Sets the contrast of the badge.
2083
+ * ### Margin Top
1236
2084
  *
1237
- * @default 'low'
2085
+ * #### Usage
2086
+ *
2087
+ * ```jsx
2088
+ * marginTop="spacing.3"
2089
+ * marginTop="20px"
2090
+ * ```
2091
+ *
2092
+ * ---
2093
+ * #### Spacing to Pixel values
2094
+ *
2095
+ * - `spacing.0` - 0px
2096
+ * - `spacing.1` - 2px
2097
+ * - `spacing.2` - 4px
2098
+ * - `spacing.3` - 8px
2099
+ * - `spacing.4` - 12px
2100
+ * - `spacing.5` - 16px
2101
+ * - `spacing.6` - 20px
2102
+ * - `spacing.7` - 24px
2103
+ * - `spacing.8` - 32px
2104
+ * - `spacing.9` - 40px
2105
+ * - `spacing.10` - 48px
2106
+ * - `spacing.11` - 56px
2107
+ *
2108
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1238
2109
  */
1239
- contrast?: 'low' | 'high';
2110
+ marginTop: SpacingValueType;
1240
2111
  /**
1241
- * Sets the size of the badge.
2112
+ * ### Margin Right
1242
2113
  *
1243
- * @default 'medium'
2114
+ * #### Usage
2115
+ *
2116
+ * ```jsx
2117
+ * marginRight="spacing.3"
2118
+ * marginRight="20px"
2119
+ * ```
2120
+ *
2121
+ * ---
2122
+ * #### Spacing to Pixel values
2123
+ *
2124
+ * - `spacing.0` - 0px
2125
+ * - `spacing.1` - 2px
2126
+ * - `spacing.2` - 4px
2127
+ * - `spacing.3` - 8px
2128
+ * - `spacing.4` - 12px
2129
+ * - `spacing.5` - 16px
2130
+ * - `spacing.6` - 20px
2131
+ * - `spacing.7` - 24px
2132
+ * - `spacing.8` - 32px
2133
+ * - `spacing.9` - 40px
2134
+ * - `spacing.10` - 48px
2135
+ * - `spacing.11` - 56px
2136
+ *
2137
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1244
2138
  */
1245
- size?: 'small' | 'medium' | 'large';
2139
+ marginRight: SpacingValueType;
1246
2140
  /**
1247
- * Icon to be displayed in the badge.
1248
- * Accepts a component of type `IconComponent` from Blade.
2141
+ * ### Margin Bottom
2142
+ *
2143
+ * #### Usage
2144
+ *
2145
+ * ```jsx
2146
+ * marginBottom="spacing.3"
2147
+ * marginBottom="20px"
2148
+ * ```
2149
+ *
2150
+ * ---
2151
+ * #### Spacing to Pixel values
1249
2152
  *
2153
+ * - `spacing.0` - 0px
2154
+ * - `spacing.1` - 2px
2155
+ * - `spacing.2` - 4px
2156
+ * - `spacing.3` - 8px
2157
+ * - `spacing.4` - 12px
2158
+ * - `spacing.5` - 16px
2159
+ * - `spacing.6` - 20px
2160
+ * - `spacing.7` - 24px
2161
+ * - `spacing.8` - 32px
2162
+ * - `spacing.9` - 40px
2163
+ * - `spacing.10` - 48px
2164
+ * - `spacing.11` - 56px
2165
+ *
2166
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1250
2167
  */
1251
- icon?: IconComponent$1;
2168
+ marginBottom: SpacingValueType;
1252
2169
  /**
1253
- * Sets the fontWeight of the label.
2170
+ * ### Margin Left
1254
2171
  *
1255
- * @default 'regular'
2172
+ * #### Usage
2173
+ *
2174
+ * ```jsx
2175
+ * marginLeft="spacing.3"
2176
+ * marginLeft="20px"
2177
+ * ```
2178
+ *
2179
+ * ---
2180
+ * #### Spacing to Pixel values
2181
+ *
2182
+ * - `spacing.0` - 0px
2183
+ * - `spacing.1` - 2px
2184
+ * - `spacing.2` - 4px
2185
+ * - `spacing.3` - 8px
2186
+ * - `spacing.4` - 12px
2187
+ * - `spacing.5` - 16px
2188
+ * - `spacing.6` - 20px
2189
+ * - `spacing.7` - 24px
2190
+ * - `spacing.8` - 32px
2191
+ * - `spacing.9` - 40px
2192
+ * - `spacing.10` - 48px
2193
+ * - `spacing.11` - 56px
2194
+ *
2195
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1256
2196
  */
1257
- fontWeight?: 'regular' | 'bold';
1258
- };
1259
- declare const Badge: ({ children, contrast, fontWeight, icon, size, variant, }: BadgeProps) => ReactElement;
2197
+ marginLeft: SpacingValueType;
2198
+ }>;
1260
2199
 
1261
- declare type BladeProviderProps = {
1262
- themeTokens: ThemeTokens;
1263
- colorScheme?: ColorSchemeNamesInput;
1264
- children: ReactNode;
2200
+ declare type MakeObjectWebOnly<T> = {
2201
+ [P in keyof T]: Platform$1.Select<{
2202
+ web: T[P];
2203
+ native: never;
2204
+ }>;
1265
2205
  };
1266
- declare const BladeProvider: ({ themeTokens, colorScheme, children, }: BladeProviderProps) => ReactElement;
1267
-
1268
- declare type UseColorScheme = {
1269
- colorScheme: ColorSchemeNames;
1270
- setColorScheme: (colorScheme: ColorSchemeNamesInput) => void;
2206
+ declare type LayoutProps = MakeObjectResponsive<{
2207
+ height: SpacingValueType;
2208
+ minHeight: SpacingValueType;
2209
+ maxHeight: SpacingValueType;
2210
+ width: SpacingValueType;
2211
+ minWidth: SpacingValueType;
2212
+ maxWidth: SpacingValueType;
2213
+ } & Pick<CSSObject, 'display' | 'overflow' | 'overflowX' | 'overflowY'>>;
2214
+ declare type FlexboxProps = MakeObjectResponsive<{
2215
+ /**
2216
+ * This uses the native gap property which might not work on older browsers.
2217
+ * If you want to support older browsers, you might want to use `margin` instead.
2218
+ *
2219
+ * @see https://caniuse.com/?search=gap
2220
+ */
2221
+ gap: SpacingValueType;
2222
+ /**
2223
+ * This uses the native row-gap property which might not work on older browsers.
2224
+ * If you want to support older browsers, you might want to use `margin` instead.
2225
+ *
2226
+ * @see https://caniuse.com/?search=row-gap
2227
+ */
2228
+ rowGap: SpacingValueType;
2229
+ /**
2230
+ * This uses the native column-gap property which might not work on older browsers.
2231
+ * If you want to support older browsers, you might want to use `margin` instead.
2232
+ *
2233
+ * @see https://caniuse.com/?search=column-gap
2234
+ */
2235
+ columnGap: SpacingValueType;
2236
+ } & Pick<CSSObject, 'flex' | 'flexWrap' | 'flexDirection' | 'flexGrow' | 'flexShrink' | 'flexBasis' | 'alignItems' | 'alignContent' | 'alignSelf' | 'justifyItems' | 'justifyContent' | 'justifySelf' | 'placeSelf' | 'order'>>;
2237
+ declare type PositionProps = MakeObjectResponsive<{
2238
+ top: SpacingValueType;
2239
+ right: SpacingValueType;
2240
+ bottom: SpacingValueType;
2241
+ left: SpacingValueType;
2242
+ } & Pick<CSSObject, 'position' | 'zIndex'>>;
2243
+ declare type GridProps = MakeObjectWebOnly<MakeObjectResponsive<Pick<CSSObject, 'grid' | 'gridColumn' | 'gridRow' | 'gridRowStart' | 'gridRowEnd' | 'gridColumnStart' | 'gridColumnEnd' | 'gridArea' | 'gridAutoFlow' | 'gridAutoRows' | 'gridAutoColumns' | 'gridTemplate' | 'gridTemplateAreas' | 'gridTemplateColumns' | 'gridTemplateRows'>>>;
2244
+ declare type ColorObjects = 'feedback' | 'surface' | 'action';
2245
+ declare type BackgroundColorString<T extends ColorObjects> = `${T}.background.${DotNotationColorStringToken<Theme$1['colors'][T]['background']>}`;
2246
+ declare const validBoxAsValues: readonly ["div", "section", "footer", "header", "main", "aside", "nav", "span"];
2247
+ declare type BoxAsType = typeof validBoxAsValues[number];
2248
+ declare type BoxVisualProps = MakeObjectResponsive<{
2249
+ backgroundColor: BackgroundColorString<'surface'>;
2250
+ }> & {
2251
+ as: BoxAsType;
1271
2252
  };
2253
+ declare type BoxProps = Partial<PaddingProps & MarginProps & LayoutProps & FlexboxProps & PositionProps & GridProps & BoxVisualProps & {
2254
+ children?: React.ReactNode | React.ReactNode[];
2255
+ } & TestID$1>;
1272
2256
 
1273
- declare type TypographyPlatforms = 'onDesktop' | 'onMobile';
1274
-
1275
- declare type ThemeContext = UseColorScheme & {
1276
- theme: Theme;
1277
- platform: TypographyPlatforms;
1278
- };
1279
- declare const ThemeContext: React$1.Context<ThemeContext>;
1280
- declare const useTheme: () => ThemeContext;
2257
+ /**
2258
+ * ## Box
2259
+ *
2260
+ * Box is the basic Layout component.
2261
+ *
2262
+ *
2263
+ * Box components supports most spacing CSS properties like `display`, `padding*`, `flex*`, `height`, `width`, etc.
2264
+ *
2265
+ * Check out {@linkcode BoxProps BoxPropsType} for complete list of props and [Layout RFC](https://github.com/razorpay/blade/blob/master/rfcs/2023-01-06-layout.md) for more details on API decision.
2266
+ *
2267
+ * ----
2268
+ *
2269
+ * ### Usage
2270
+ *
2271
+ * ```jsx
2272
+ * <Box display="flex">
2273
+ * ```
1281
2274
 
1282
- declare type Theme = {
1283
- border: Border;
1284
- breakpoints: Breakpoints;
1285
- colors: Colors;
1286
- spacing: Spacing;
1287
- motion: Motion;
1288
- shadows: Omit<Shadows, 'color'> & {
1289
- color: {
1290
- level: Record<ShadowLevels, string>;
1291
- };
1292
- };
1293
- typography: Typography;
1294
- };
2275
+ * #### Responsive Props
2276
+ *
2277
+ * ```jsx
2278
+ * <Box padding={{ base: 'spacing.3', m: 'spacing.10' }} />
2279
+ * ```
2280
+ *
2281
+ * #### Margin and Padding Shorthands
2282
+ *
2283
+ * ```jsx
2284
+ * <Box padding={["spacing.3", "spacing.10"]} />
2285
+ * ```
2286
+ *
2287
+ * ---
2288
+ *
2289
+ * Checkout {@link https://blade.razorpay.com/?path=/docs/components-box Box Documentation}
2290
+ *
2291
+ */
2292
+ declare const Box: (props: BoxProps) => JSX.Element;
1295
2293
 
1296
2294
  declare const ComponentIds: {
1297
2295
  CardHeader: string;
@@ -1328,11 +2326,11 @@ declare type CardProps = {
1328
2326
  * - Figma: https://shorturl.at/fsvwK
1329
2327
  */
1330
2328
  surfaceLevel?: 2 | 3;
1331
- };
1332
- declare const Card: ({ children, surfaceLevel }: CardProps) => React__default.ReactElement;
2329
+ } & TestID$1 & StyledPropsBlade;
2330
+ declare const Card: ({ children, surfaceLevel, testID, ...styledProps }: CardProps) => React__default.ReactElement;
1333
2331
  declare type CardBodyProps = {
1334
2332
  children: React__default.ReactNode;
1335
- };
2333
+ } & TestID$1;
1336
2334
  declare const CardBody: WithComponentId<CardBodyProps>;
1337
2335
 
1338
2336
  declare type LinkCommonProps = {
@@ -1350,7 +2348,7 @@ declare type LinkCommonProps = {
1350
2348
  * @default medium
1351
2349
  */
1352
2350
  size?: 'small' | 'medium';
1353
- };
2351
+ } & TestID$1 & StyledPropsBlade;
1354
2352
  declare type LinkWithoutIconProps = LinkCommonProps & {
1355
2353
  icon?: undefined;
1356
2354
  children: StringChildrenType;
@@ -1375,7 +2373,7 @@ declare type LinkButtonVariantProps = LinkPropsWithOrWithoutIcon & {
1375
2373
  rel?: undefined;
1376
2374
  };
1377
2375
  declare type LinkProps = LinkAnchorVariantProps | LinkButtonVariantProps;
1378
- declare const Link: ({ children, icon, iconPosition, isDisabled, onClick, variant, href, target, rel, accessibilityLabel, size, }: LinkProps) => ReactElement;
2376
+ declare const Link: ({ children, icon, iconPosition, isDisabled, onClick, variant, href, target, rel, accessibilityLabel, size, testID, ...styledProps }: LinkProps) => ReactElement;
1379
2377
 
1380
2378
  type BladeElementRef = Pick<HTMLElement, 'focus' | 'scrollIntoView'> | Pick<View, 'focus'>;
1381
2379
 
@@ -1388,11 +2386,11 @@ declare type ButtonCommonProps = {
1388
2386
  isLoading?: boolean;
1389
2387
  accessibilityLabel?: string;
1390
2388
  type?: 'button' | 'reset' | 'submit';
1391
- onClick?: Platform.Select<{
2389
+ onClick?: Platform$1.Select<{
1392
2390
  native: (event: GestureResponderEvent) => void;
1393
2391
  web: (event: React__default.MouseEvent<HTMLButtonElement>) => void;
1394
2392
  }>;
1395
- };
2393
+ } & TestID$1 & StyledPropsBlade;
1396
2394
  declare type ButtonWithoutIconProps = ButtonCommonProps & {
1397
2395
  icon?: undefined;
1398
2396
  children: StringChildrenType;
@@ -1442,7 +2440,8 @@ type BaseTextProps$1 = {
1442
2440
  */
1443
2441
  numberOfLines?: number;
1444
2442
  componentName?: 'text' | 'title' | 'heading' | 'code';
1445
- };
2443
+ } & TestID$1 &
2444
+ StyledPropsBlade;
1446
2445
 
1447
2446
  /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */
1448
2447
 
@@ -1457,7 +2456,9 @@ type TextCommonProps$1 = {
1457
2456
  * **For Internal use only**: Sets the color of the Text component
1458
2457
  */
1459
2458
  color?: BaseTextProps$1['color'];
1460
- };
2459
+ textAlign?: BaseTextProps$1['textAlign'];
2460
+ } & TestID$1 &
2461
+ StyledPropsBlade;
1461
2462
 
1462
2463
  type TextVariant$1 = 'body' | 'caption';
1463
2464
 
@@ -1513,7 +2514,8 @@ type CounterProps$1 = {
1513
2514
  * @default 'medium'
1514
2515
  */
1515
2516
  size?: 'small' | 'medium' | 'large';
1516
- };
2517
+ } & TestID$1 &
2518
+ StyledPropsBlade;
1517
2519
 
1518
2520
  declare const CardHeaderIcon: WithComponentId<{
1519
2521
  icon: IconComponent$1;
@@ -1530,7 +2532,7 @@ declare type CardHeaderIconButtonProps = Omit<ButtonProps, 'variant' | 'size' |
1530
2532
  declare const CardHeaderIconButton: WithComponentId<CardHeaderIconButtonProps>;
1531
2533
  declare type CardHeaderProps = {
1532
2534
  children?: React__default.ReactNode;
1533
- };
2535
+ } & TestID$1;
1534
2536
  declare const CardHeader: WithComponentId<CardHeaderProps>;
1535
2537
  declare type CardHeaderLeadingProps = {
1536
2538
  title: string;
@@ -1564,7 +2566,7 @@ declare type CardFooterAction = Pick<ButtonProps, 'type' | 'accessibilityLabel'
1564
2566
  };
1565
2567
  declare type CardFooterProps = {
1566
2568
  children?: React__default.ReactNode;
1567
- };
2569
+ } & TestID$1;
1568
2570
  declare const CardFooter: WithComponentId<CardFooterProps>;
1569
2571
  declare type CardFooterLeadingProps = {
1570
2572
  title?: string;
@@ -1636,8 +2638,36 @@ declare type CounterProps = {
1636
2638
  * @default 'medium'
1637
2639
  */
1638
2640
  size?: 'small' | 'medium' | 'large';
2641
+ } & TestID$1 & StyledPropsBlade;
2642
+ declare const Counter: ({ value, max, intent, contrast, size, testID, ...styledProps }: CounterProps) => React.ReactElement;
2643
+
2644
+ /**
2645
+ * Brands a type making them act as nominal
2646
+ * @see https://medium.com/@KevinBGreene/surviving-the-typescript-ecosystem-branding-and-type-tagging-6cf6e516523d
2647
+ */
2648
+ declare type Brand<Type, Name extends string> = Type & {
2649
+ __brand__?: Name;
1639
2650
  };
1640
- declare const Counter: ({ value, max, intent, contrast, size, }: CounterProps) => React.ReactElement;
2651
+ declare type NativeOrWebBrand = Brand<any, 'native' | 'web'>;
2652
+
2653
+ declare namespace Platform {
2654
+ type Name = 'web';
2655
+ /**
2656
+ * Right now, the module resolution is set to resolve `.web` files,
2657
+ *
2658
+ * Thus Platform.Select<> type will return the `web` type
2659
+ */
2660
+ type Select<Options extends {
2661
+ web: unknown;
2662
+ native: unknown;
2663
+ }> = Brand<Options[Name], 'platform-web'>;
2664
+ type CastNative<T extends NativeOrWebBrand | undefined> = Extract<T, {
2665
+ __brand__?: 'platform-native' | 'platform-all';
2666
+ }>;
2667
+ type CastWeb<T extends NativeOrWebBrand | undefined> = Extract<T, {
2668
+ __brand__?: 'platform-web' | 'platform-all';
2669
+ }>;
2670
+ }
1641
2671
 
1642
2672
  declare type OnChange = ({ isChecked, event, value, }: {
1643
2673
  isChecked: boolean;
@@ -1722,8 +2752,164 @@ declare type CheckboxProps = {
1722
2752
  *
1723
2753
  */
1724
2754
  tabIndex?: number;
1725
- };
1726
- declare const Checkbox: React__default.ForwardRefExoticComponent<CheckboxProps & React__default.RefAttributes<BladeElementRef>>;
2755
+ } & TestID$1 & StyledPropsBlade;
2756
+ declare const Checkbox: React__default.ForwardRefExoticComponent<{
2757
+ /**
2758
+ * If `true`, The checkbox will be checked. This also makes the checkbox controlled
2759
+ * Use `onChange` to update its value
2760
+ *
2761
+ * @default false
2762
+ */
2763
+ isChecked?: boolean | undefined;
2764
+ /**
2765
+ * If `true`, the checkbox will be initially checked. This also makes the checkbox uncontrolled
2766
+ *
2767
+ * @default false
2768
+ */
2769
+ defaultChecked?: boolean | undefined;
2770
+ /**
2771
+ * The callback invoked when the checked state of the `Checkbox` changes.
2772
+ */
2773
+ onChange?: OnChange | undefined;
2774
+ /**
2775
+ * Sets the label of the checkbox
2776
+ */
2777
+ children: React__default.ReactNode;
2778
+ /**
2779
+ * Help text for the checkbox
2780
+ */
2781
+ helpText?: string | undefined;
2782
+ /**
2783
+ * Error text for the checkbox
2784
+ *
2785
+ * Renders when `validationState` is set to 'error'
2786
+ */
2787
+ errorText?: string | undefined;
2788
+ /**
2789
+ * If `true`, the checkbox will be indeterminate.
2790
+ * This does not modify the isChecked property.
2791
+ *
2792
+ * @default false
2793
+ */
2794
+ isIndeterminate?: boolean | undefined;
2795
+ /**
2796
+ * The name of the input field in a checkbox
2797
+ * (Useful for form submission).
2798
+ */
2799
+ name?: string | undefined;
2800
+ /**
2801
+ * The value to be used in the checkbox input.
2802
+ * This is the value that will be returned on form submission.
2803
+ */
2804
+ value?: string | undefined;
2805
+ /**
2806
+ * If `true`, the checkbox will be disabled
2807
+ *
2808
+ * @default false
2809
+ */
2810
+ isDisabled?: boolean | undefined;
2811
+ /**
2812
+ * If `true`, the checkbox input is marked as required,
2813
+ * and `required` attribute will be added
2814
+ *
2815
+ * @default false
2816
+ */
2817
+ isRequired?: boolean | undefined;
2818
+ /**
2819
+ * If `error`, the checkbox input is marked as invalid,
2820
+ * and `invalid` attribute will be added
2821
+ */
2822
+ validationState?: "none" | "error" | undefined;
2823
+ /**
2824
+ * Size of the checkbox
2825
+ *
2826
+ * @default "medium"
2827
+ */
2828
+ size?: "small" | "medium" | undefined;
2829
+ /**
2830
+ * Sets the tab-index property on checkbox element
2831
+ *
2832
+ */
2833
+ tabIndex?: number | undefined;
2834
+ } & TestID$1 & Partial<MakeObjectResponsive<{
2835
+ margin: SpacingValueType | ArrayOfMaxLength4<SpacingValueType>;
2836
+ marginX: SpacingValueType;
2837
+ marginY: SpacingValueType;
2838
+ marginTop: SpacingValueType;
2839
+ marginRight: SpacingValueType;
2840
+ marginBottom: SpacingValueType;
2841
+ marginLeft: SpacingValueType;
2842
+ }> & Pick<MakeObjectResponsive<{
2843
+ gap: SpacingValueType;
2844
+ rowGap: SpacingValueType;
2845
+ columnGap: SpacingValueType;
2846
+ } & Pick<styled_components.CSSObject, "alignContent" | "alignItems" | "alignSelf" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "justifyContent" | "justifyItems" | "justifySelf" | "order" | "flex" | "placeSelf">>, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & MakeObjectResponsive<{
2847
+ top: SpacingValueType;
2848
+ right: SpacingValueType;
2849
+ bottom: SpacingValueType;
2850
+ left: SpacingValueType;
2851
+ } & Pick<styled_components.CSSObject, "position" | "zIndex">> & Pick<{
2852
+ grid?: Platform.Select<{
2853
+ web: MakeValueResponsive<csstype.Property.Grid | undefined>;
2854
+ native: never;
2855
+ }> | undefined;
2856
+ gridAutoColumns?: Platform.Select<{
2857
+ web: MakeValueResponsive<csstype.Property.GridAutoColumns<string | number> | undefined>;
2858
+ native: never;
2859
+ }> | undefined;
2860
+ gridAutoFlow?: Platform.Select<{
2861
+ web: MakeValueResponsive<csstype.Property.GridAutoFlow | undefined>;
2862
+ native: never;
2863
+ }> | undefined;
2864
+ gridAutoRows?: Platform.Select<{
2865
+ web: MakeValueResponsive<csstype.Property.GridAutoRows<string | number> | undefined>;
2866
+ native: never;
2867
+ }> | undefined;
2868
+ gridColumnEnd?: Platform.Select<{
2869
+ web: MakeValueResponsive<csstype.Property.GridColumnEnd | undefined>;
2870
+ native: never;
2871
+ }> | undefined;
2872
+ gridColumnStart?: Platform.Select<{
2873
+ web: MakeValueResponsive<csstype.Property.GridColumnStart | undefined>;
2874
+ native: never;
2875
+ }> | undefined;
2876
+ gridRowEnd?: Platform.Select<{
2877
+ web: MakeValueResponsive<csstype.Property.GridRowEnd | undefined>;
2878
+ native: never;
2879
+ }> | undefined;
2880
+ gridRowStart?: Platform.Select<{
2881
+ web: MakeValueResponsive<csstype.Property.GridRowStart | undefined>;
2882
+ native: never;
2883
+ }> | undefined;
2884
+ gridTemplateAreas?: Platform.Select<{
2885
+ web: MakeValueResponsive<csstype.Property.GridTemplateAreas | undefined>;
2886
+ native: never;
2887
+ }> | undefined;
2888
+ gridTemplateColumns?: Platform.Select<{
2889
+ web: MakeValueResponsive<csstype.Property.GridTemplateColumns<string | number> | undefined>;
2890
+ native: never;
2891
+ }> | undefined;
2892
+ gridTemplateRows?: Platform.Select<{
2893
+ web: MakeValueResponsive<csstype.Property.GridTemplateRows<string | number> | undefined>;
2894
+ native: never;
2895
+ }> | undefined;
2896
+ gridArea?: Platform.Select<{
2897
+ web: MakeValueResponsive<csstype.Property.GridArea | undefined>;
2898
+ native: never;
2899
+ }> | undefined;
2900
+ gridColumn?: Platform.Select<{
2901
+ web: MakeValueResponsive<csstype.Property.GridColumn | undefined>;
2902
+ native: never;
2903
+ }> | undefined;
2904
+ gridRow?: Platform.Select<{
2905
+ web: MakeValueResponsive<csstype.Property.GridRow | undefined>;
2906
+ native: never;
2907
+ }> | undefined;
2908
+ gridTemplate?: Platform.Select<{
2909
+ web: MakeValueResponsive<csstype.Property.GridTemplate | undefined>;
2910
+ native: never;
2911
+ }> | undefined;
2912
+ }, "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridArea" | "gridColumn" | "gridRow">> & React__default.RefAttributes<BladeElementRef>>;
1727
2913
 
1728
2914
  declare type CheckboxGroupProps = {
1729
2915
  /**
@@ -1798,13 +2984,13 @@ declare type CheckboxGroupProps = {
1798
2984
  * @default "medium"
1799
2985
  */
1800
2986
  size?: 'small' | 'medium';
1801
- };
1802
- declare const CheckboxGroup: ({ children, label, helpText, isDisabled, necessityIndicator, labelPosition, validationState, errorText, name, defaultValue, onChange, value, size, }: CheckboxGroupProps) => React__default.ReactElement;
2987
+ } & TestID$1 & StyledPropsBlade;
2988
+ declare const CheckboxGroup: ({ children, label, helpText, isDisabled, necessityIndicator, labelPosition, validationState, errorText, name, defaultValue, onChange, value, size, testID, ...styledProps }: CheckboxGroupProps) => React__default.ReactElement;
1803
2989
 
1804
2990
  declare type DropdownProps = {
1805
2991
  selectionType?: 'single' | 'multiple';
1806
2992
  children: React__default.ReactNode[];
1807
- };
2993
+ } & StyledPropsBlade;
1808
2994
  /**
1809
2995
  * ### Dropdown component
1810
2996
  *
@@ -1835,7 +3021,7 @@ declare const Dropdown: WithComponentId<DropdownProps>;
1835
3021
 
1836
3022
  declare type DropdownOverlayProps = {
1837
3023
  children: React__default.ReactNode;
1838
- };
3024
+ } & TestID$1;
1839
3025
  /**
1840
3026
  * Overlay of dropdown
1841
3027
  *
@@ -1853,9 +3039,9 @@ declare const ArrowUpRightIcon: IconComponent;
1853
3039
 
1854
3040
  declare const ArrowUpIcon: IconComponent;
1855
3041
 
1856
- declare const Attachment: ({ size, color }: IconProps) => ReactElement;
3042
+ declare const Attachment: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1857
3043
 
1858
- declare const CheckIcon: ({ size, color }: IconProps) => ReactElement;
3044
+ declare const CheckIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1859
3045
 
1860
3046
  declare const ChevronDownIcon: IconComponent;
1861
3047
 
@@ -1871,9 +3057,9 @@ declare const CreditCardIcon: IconComponent;
1871
3057
 
1872
3058
  declare const DollarIcon: IconComponent;
1873
3059
 
1874
- declare const DownloadIcon: ({ size, color }: IconProps) => ReactElement;
3060
+ declare const DownloadIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1875
3061
 
1876
- declare const EditIcon: ({ size, color }: IconProps) => ReactElement;
3062
+ declare const EditIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1877
3063
 
1878
3064
  declare const EyeIcon: IconComponent;
1879
3065
 
@@ -1881,19 +3067,19 @@ declare const EyeOffIcon: IconComponent;
1881
3067
 
1882
3068
  declare const FileTextIcon: IconComponent;
1883
3069
 
1884
- declare const HistoryIcon: ({ size, color }: IconProps) => ReactElement;
3070
+ declare const HistoryIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1885
3071
 
1886
3072
  declare const HomeIcon: IconComponent;
1887
3073
 
1888
- declare const InfoIcon: ({ size, color }: IconProps) => ReactElement;
3074
+ declare const InfoIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1889
3075
 
1890
3076
  declare const LinkIcon: IconComponent;
1891
3077
 
1892
3078
  declare const LockIcon: IconComponent;
1893
3079
 
1894
- declare const PauseIcon: ({ size, color }: IconProps) => ReactElement;
3080
+ declare const PauseIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1895
3081
 
1896
- declare const PlusIcon: ({ size, color }: IconProps) => ReactElement;
3082
+ declare const PlusIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1897
3083
 
1898
3084
  declare const RupeeIcon: IconComponent;
1899
3085
 
@@ -1905,15 +3091,15 @@ declare const SlashIcon: IconComponent;
1905
3091
 
1906
3092
  declare const BankIcon: IconComponent;
1907
3093
 
1908
- declare const TrashIcon: ({ size, color }: IconProps) => ReactElement;
3094
+ declare const TrashIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1909
3095
 
1910
- declare const AlertTriangleIcon$1: ({ size, color }: IconProps) => ReactElement;
3096
+ declare const AlertTriangleIcon$1: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1911
3097
 
1912
- declare const AlertTriangleIcon: ({ size, color }: IconProps) => ReactElement;
3098
+ declare const AlertTriangleIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1913
3099
 
1914
- declare const CheckCircleIcon: ({ size, color }: IconProps) => ReactElement;
3100
+ declare const CheckCircleIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1915
3101
 
1916
- declare const MinusIcon: ({ size, color }: IconProps) => ReactElement;
3102
+ declare const MinusIcon: ({ size, color, ...styledProps }: IconProps) => ReactElement;
1917
3103
 
1918
3104
  declare const TrendingUpIcon: IconComponent;
1919
3105
 
@@ -2398,7 +3584,7 @@ declare type IconProps = {
2398
3584
  */
2399
3585
  color: ActionIconColors | SurfaceActionIconColors | FeedbackIconColors | FeedbackActionIconColors | TextIconColors | BadgeIconColors | 'currentColor';
2400
3586
  size: IconSize;
2401
- };
3587
+ } & StyledPropsBlade;
2402
3588
  declare type IconComponent = React.ComponentType<IconProps>;
2403
3589
 
2404
3590
  declare type FormInputLabelProps = {
@@ -2648,10 +3834,27 @@ declare type BaseInputProps = FormInputLabelProps & FormInputValidationProps & {
2648
3834
  * true if popup is in expanded state
2649
3835
  */
2650
3836
  isPopupExpanded?: boolean;
2651
- };
3837
+ /**
3838
+ * sets the autocapitalize behavior for the input
3839
+ */
3840
+ autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';
3841
+ } & TestID$1 & Platform$1.Select<{
3842
+ native: {
3843
+ /**
3844
+ * The callback function to be invoked when the value of the input field is submitted.
3845
+ */
3846
+ onSubmit?: FormInputOnEvent;
3847
+ };
3848
+ web: {
3849
+ /**
3850
+ * This is a react-native only prop and has no effect on web.
3851
+ */
3852
+ onSubmit?: undefined;
3853
+ };
3854
+ }> & StyledPropsBlade;
2652
3855
 
2653
3856
  declare type Type = Exclude<BaseInputProps['type'], 'password'>;
2654
- declare type TextInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'necessityIndicator' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'placeholder' | 'defaultValue' | 'name' | 'onChange' | 'onFocus' | 'onBlur' | 'value' | 'isDisabled' | 'isRequired' | 'prefix' | 'suffix' | 'maxCharacters' | 'autoFocus' | 'keyboardReturnKeyType' | 'autoCompleteSuggestionType'> & {
3857
+ declare type TextInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'necessityIndicator' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'placeholder' | 'defaultValue' | 'name' | 'onChange' | 'onFocus' | 'onBlur' | 'value' | 'isDisabled' | 'isRequired' | 'prefix' | 'suffix' | 'maxCharacters' | 'autoFocus' | 'keyboardReturnKeyType' | 'autoCompleteSuggestionType' | 'onSubmit' | 'autoCapitalize' | 'testID'> & {
2655
3858
  /**
2656
3859
  * Decides whether to render a clear icon button
2657
3860
  */
@@ -2674,8 +3877,8 @@ declare type TextInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | '
2674
3877
  * @default text
2675
3878
  */
2676
3879
  type?: Type;
2677
- };
2678
- declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "placeholder" | "label" | "value" | "name" | "autoFocus" | "defaultValue" | "prefix" | "onFocus" | "onBlur" | "onChange" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & {
3880
+ } & StyledPropsBlade;
3881
+ declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "name" | "testID" | "placeholder" | "label" | "value" | "onFocus" | "onBlur" | "onChange" | "onSubmit" | "autoFocus" | "defaultValue" | "prefix" | "autoCapitalize" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & {
2679
3882
  /**
2680
3883
  * Decides whether to render a clear icon button
2681
3884
  */
@@ -2698,7 +3901,85 @@ declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInput
2698
3901
  * @default text
2699
3902
  */
2700
3903
  type?: Type;
2701
- } & React__default.RefAttributes<BladeElementRef>>;
3904
+ } & Partial<MakeObjectResponsive<{
3905
+ margin: SpacingValueType | ArrayOfMaxLength4<SpacingValueType>;
3906
+ marginX: SpacingValueType;
3907
+ marginY: SpacingValueType;
3908
+ marginTop: SpacingValueType;
3909
+ marginRight: SpacingValueType;
3910
+ marginBottom: SpacingValueType;
3911
+ marginLeft: SpacingValueType;
3912
+ }> & Pick<MakeObjectResponsive<{
3913
+ gap: SpacingValueType;
3914
+ rowGap: SpacingValueType;
3915
+ columnGap: SpacingValueType;
3916
+ } & Pick<styled_components.CSSObject, "alignContent" | "alignItems" | "alignSelf" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "justifyContent" | "justifyItems" | "justifySelf" | "order" | "flex" | "placeSelf">>, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & MakeObjectResponsive<{
3917
+ top: SpacingValueType;
3918
+ right: SpacingValueType;
3919
+ bottom: SpacingValueType;
3920
+ left: SpacingValueType;
3921
+ } & Pick<styled_components.CSSObject, "position" | "zIndex">> & Pick<{
3922
+ grid?: Platform.Select<{
3923
+ web: MakeValueResponsive<csstype.Property.Grid | undefined>;
3924
+ native: never;
3925
+ }> | undefined;
3926
+ gridAutoColumns?: Platform.Select<{
3927
+ web: MakeValueResponsive<csstype.Property.GridAutoColumns<string | number> | undefined>;
3928
+ native: never;
3929
+ }> | undefined;
3930
+ gridAutoFlow?: Platform.Select<{
3931
+ web: MakeValueResponsive<csstype.Property.GridAutoFlow | undefined>;
3932
+ native: never;
3933
+ }> | undefined;
3934
+ gridAutoRows?: Platform.Select<{
3935
+ web: MakeValueResponsive<csstype.Property.GridAutoRows<string | number> | undefined>;
3936
+ native: never;
3937
+ }> | undefined;
3938
+ gridColumnEnd?: Platform.Select<{
3939
+ web: MakeValueResponsive<csstype.Property.GridColumnEnd | undefined>;
3940
+ native: never;
3941
+ }> | undefined;
3942
+ gridColumnStart?: Platform.Select<{
3943
+ web: MakeValueResponsive<csstype.Property.GridColumnStart | undefined>;
3944
+ native: never;
3945
+ }> | undefined;
3946
+ gridRowEnd?: Platform.Select<{
3947
+ web: MakeValueResponsive<csstype.Property.GridRowEnd | undefined>;
3948
+ native: never;
3949
+ }> | undefined;
3950
+ gridRowStart?: Platform.Select<{
3951
+ web: MakeValueResponsive<csstype.Property.GridRowStart | undefined>;
3952
+ native: never;
3953
+ }> | undefined;
3954
+ gridTemplateAreas?: Platform.Select<{
3955
+ web: MakeValueResponsive<csstype.Property.GridTemplateAreas | undefined>;
3956
+ native: never;
3957
+ }> | undefined;
3958
+ gridTemplateColumns?: Platform.Select<{
3959
+ web: MakeValueResponsive<csstype.Property.GridTemplateColumns<string | number> | undefined>;
3960
+ native: never;
3961
+ }> | undefined;
3962
+ gridTemplateRows?: Platform.Select<{
3963
+ web: MakeValueResponsive<csstype.Property.GridTemplateRows<string | number> | undefined>;
3964
+ native: never;
3965
+ }> | undefined;
3966
+ gridArea?: Platform.Select<{
3967
+ web: MakeValueResponsive<csstype.Property.GridArea | undefined>;
3968
+ native: never;
3969
+ }> | undefined;
3970
+ gridColumn?: Platform.Select<{
3971
+ web: MakeValueResponsive<csstype.Property.GridColumn | undefined>;
3972
+ native: never;
3973
+ }> | undefined;
3974
+ gridRow?: Platform.Select<{
3975
+ web: MakeValueResponsive<csstype.Property.GridRow | undefined>;
3976
+ native: never;
3977
+ }> | undefined;
3978
+ gridTemplate?: Platform.Select<{
3979
+ web: MakeValueResponsive<csstype.Property.GridTemplate | undefined>;
3980
+ native: never;
3981
+ }> | undefined;
3982
+ }, "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridArea" | "gridColumn" | "gridRow">> & React__default.RefAttributes<BladeElementRef>>;
2702
3983
 
2703
3984
  declare type PasswordInputExtraProps = {
2704
3985
  /**
@@ -2730,10 +4011,88 @@ declare type PasswordInputExtraProps = {
2730
4011
  */
2731
4012
  autoCompleteSuggestionType?: Extract<BaseInputProps['autoCompleteSuggestionType'], 'none' | 'password' | 'newPassword'>;
2732
4013
  };
2733
- declare type PasswordInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'maxCharacters' | 'validationState' | 'errorText' | 'successText' | 'helpText' | 'isDisabled' | 'defaultValue' | 'placeholder' | 'isRequired' | 'value' | 'onChange' | 'onBlur' | 'onFocus' | 'name' | 'autoFocus' | 'keyboardReturnKeyType' | 'autoCompleteSuggestionType'> & PasswordInputExtraProps;
2734
- declare const PasswordInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "placeholder" | "label" | "value" | "name" | "autoFocus" | "defaultValue" | "onFocus" | "onBlur" | "onChange" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "successText" | "isRequired" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & PasswordInputExtraProps & React__default.RefAttributes<BladeElementRef>>;
2735
-
2736
- declare type TextAreaProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'necessityIndicator' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'placeholder' | 'defaultValue' | 'name' | 'onChange' | 'onFocus' | 'onBlur' | 'value' | 'isDisabled' | 'isRequired' | 'maxCharacters' | 'autoFocus' | 'numberOfLines'> & {
4014
+ declare type PasswordInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'maxCharacters' | 'validationState' | 'errorText' | 'successText' | 'helpText' | 'isDisabled' | 'defaultValue' | 'placeholder' | 'isRequired' | 'value' | 'onChange' | 'onBlur' | 'onSubmit' | 'onFocus' | 'name' | 'autoFocus' | 'keyboardReturnKeyType' | 'autoCompleteSuggestionType' | 'testID'> & PasswordInputExtraProps & StyledPropsBlade;
4015
+ declare const PasswordInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "name" | "testID" | "placeholder" | "label" | "value" | "onFocus" | "onBlur" | "onChange" | "onSubmit" | "autoFocus" | "defaultValue" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "successText" | "isRequired" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & PasswordInputExtraProps & Partial<MakeObjectResponsive<{
4016
+ margin: SpacingValueType | ArrayOfMaxLength4<SpacingValueType>;
4017
+ marginX: SpacingValueType;
4018
+ marginY: SpacingValueType;
4019
+ marginTop: SpacingValueType;
4020
+ marginRight: SpacingValueType;
4021
+ marginBottom: SpacingValueType;
4022
+ marginLeft: SpacingValueType;
4023
+ }> & Pick<MakeObjectResponsive<{
4024
+ gap: SpacingValueType;
4025
+ rowGap: SpacingValueType;
4026
+ columnGap: SpacingValueType;
4027
+ } & Pick<styled_components.CSSObject, "alignContent" | "alignItems" | "alignSelf" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "justifyContent" | "justifyItems" | "justifySelf" | "order" | "flex" | "placeSelf">>, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & MakeObjectResponsive<{
4028
+ top: SpacingValueType;
4029
+ right: SpacingValueType;
4030
+ bottom: SpacingValueType;
4031
+ left: SpacingValueType;
4032
+ } & Pick<styled_components.CSSObject, "position" | "zIndex">> & Pick<{
4033
+ grid?: Platform.Select<{
4034
+ web: MakeValueResponsive<csstype.Property.Grid | undefined>;
4035
+ native: never;
4036
+ }> | undefined;
4037
+ gridAutoColumns?: Platform.Select<{
4038
+ web: MakeValueResponsive<csstype.Property.GridAutoColumns<string | number> | undefined>;
4039
+ native: never;
4040
+ }> | undefined;
4041
+ gridAutoFlow?: Platform.Select<{
4042
+ web: MakeValueResponsive<csstype.Property.GridAutoFlow | undefined>;
4043
+ native: never;
4044
+ }> | undefined;
4045
+ gridAutoRows?: Platform.Select<{
4046
+ web: MakeValueResponsive<csstype.Property.GridAutoRows<string | number> | undefined>;
4047
+ native: never;
4048
+ }> | undefined;
4049
+ gridColumnEnd?: Platform.Select<{
4050
+ web: MakeValueResponsive<csstype.Property.GridColumnEnd | undefined>;
4051
+ native: never;
4052
+ }> | undefined;
4053
+ gridColumnStart?: Platform.Select<{
4054
+ web: MakeValueResponsive<csstype.Property.GridColumnStart | undefined>;
4055
+ native: never;
4056
+ }> | undefined;
4057
+ gridRowEnd?: Platform.Select<{
4058
+ web: MakeValueResponsive<csstype.Property.GridRowEnd | undefined>;
4059
+ native: never;
4060
+ }> | undefined;
4061
+ gridRowStart?: Platform.Select<{
4062
+ web: MakeValueResponsive<csstype.Property.GridRowStart | undefined>;
4063
+ native: never;
4064
+ }> | undefined;
4065
+ gridTemplateAreas?: Platform.Select<{
4066
+ web: MakeValueResponsive<csstype.Property.GridTemplateAreas | undefined>;
4067
+ native: never;
4068
+ }> | undefined;
4069
+ gridTemplateColumns?: Platform.Select<{
4070
+ web: MakeValueResponsive<csstype.Property.GridTemplateColumns<string | number> | undefined>;
4071
+ native: never;
4072
+ }> | undefined;
4073
+ gridTemplateRows?: Platform.Select<{
4074
+ web: MakeValueResponsive<csstype.Property.GridTemplateRows<string | number> | undefined>;
4075
+ native: never;
4076
+ }> | undefined;
4077
+ gridArea?: Platform.Select<{
4078
+ web: MakeValueResponsive<csstype.Property.GridArea | undefined>;
4079
+ native: never;
4080
+ }> | undefined;
4081
+ gridColumn?: Platform.Select<{
4082
+ web: MakeValueResponsive<csstype.Property.GridColumn | undefined>;
4083
+ native: never;
4084
+ }> | undefined;
4085
+ gridRow?: Platform.Select<{
4086
+ web: MakeValueResponsive<csstype.Property.GridRow | undefined>;
4087
+ native: never;
4088
+ }> | undefined;
4089
+ gridTemplate?: Platform.Select<{
4090
+ web: MakeValueResponsive<csstype.Property.GridTemplate | undefined>;
4091
+ native: never;
4092
+ }> | undefined;
4093
+ }, "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridArea" | "gridColumn" | "gridRow">> & React__default.RefAttributes<BladeElementRef>>;
4094
+
4095
+ declare type TextAreaProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'necessityIndicator' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'placeholder' | 'defaultValue' | 'name' | 'onChange' | 'onFocus' | 'onBlur' | 'onSubmit' | 'value' | 'isDisabled' | 'isRequired' | 'maxCharacters' | 'autoFocus' | 'numberOfLines' | 'testID'> & {
2737
4096
  /**
2738
4097
  * Decides whether to render a clear icon button
2739
4098
  */
@@ -2742,8 +4101,8 @@ declare type TextAreaProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'n
2742
4101
  * Event handler to handle the onClick event for clear button. Used when `showClearButton` is `true`
2743
4102
  */
2744
4103
  onClearButtonClick?: () => void;
2745
- };
2746
- declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "placeholder" | "label" | "value" | "name" | "autoFocus" | "defaultValue" | "onFocus" | "onBlur" | "onChange" | "numberOfLines" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "maxCharacters"> & {
4104
+ } & StyledPropsBlade;
4105
+ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "name" | "testID" | "placeholder" | "label" | "value" | "onFocus" | "onBlur" | "onChange" | "onSubmit" | "autoFocus" | "defaultValue" | "numberOfLines" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "maxCharacters"> & {
2747
4106
  /**
2748
4107
  * Decides whether to render a clear icon button
2749
4108
  */
@@ -2752,9 +4111,87 @@ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputP
2752
4111
  * Event handler to handle the onClick event for clear button. Used when `showClearButton` is `true`
2753
4112
  */
2754
4113
  onClearButtonClick?: (() => void) | undefined;
2755
- } & React__default.RefAttributes<BladeElementRef>>;
2756
-
2757
- declare type OTPInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'name' | 'onChange' | 'value' | 'isDisabled' | 'autoFocus' | 'keyboardReturnKeyType' | 'keyboardType' | 'placeholder'> & {
4114
+ } & Partial<MakeObjectResponsive<{
4115
+ margin: SpacingValueType | ArrayOfMaxLength4<SpacingValueType>;
4116
+ marginX: SpacingValueType;
4117
+ marginY: SpacingValueType;
4118
+ marginTop: SpacingValueType;
4119
+ marginRight: SpacingValueType;
4120
+ marginBottom: SpacingValueType;
4121
+ marginLeft: SpacingValueType;
4122
+ }> & Pick<MakeObjectResponsive<{
4123
+ gap: SpacingValueType;
4124
+ rowGap: SpacingValueType;
4125
+ columnGap: SpacingValueType;
4126
+ } & Pick<styled_components.CSSObject, "alignContent" | "alignItems" | "alignSelf" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "justifyContent" | "justifyItems" | "justifySelf" | "order" | "flex" | "placeSelf">>, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & MakeObjectResponsive<{
4127
+ top: SpacingValueType;
4128
+ right: SpacingValueType;
4129
+ bottom: SpacingValueType;
4130
+ left: SpacingValueType;
4131
+ } & Pick<styled_components.CSSObject, "position" | "zIndex">> & Pick<{
4132
+ grid?: Platform.Select<{
4133
+ web: MakeValueResponsive<csstype.Property.Grid | undefined>;
4134
+ native: never;
4135
+ }> | undefined;
4136
+ gridAutoColumns?: Platform.Select<{
4137
+ web: MakeValueResponsive<csstype.Property.GridAutoColumns<string | number> | undefined>;
4138
+ native: never;
4139
+ }> | undefined;
4140
+ gridAutoFlow?: Platform.Select<{
4141
+ web: MakeValueResponsive<csstype.Property.GridAutoFlow | undefined>;
4142
+ native: never;
4143
+ }> | undefined;
4144
+ gridAutoRows?: Platform.Select<{
4145
+ web: MakeValueResponsive<csstype.Property.GridAutoRows<string | number> | undefined>;
4146
+ native: never;
4147
+ }> | undefined;
4148
+ gridColumnEnd?: Platform.Select<{
4149
+ web: MakeValueResponsive<csstype.Property.GridColumnEnd | undefined>;
4150
+ native: never;
4151
+ }> | undefined;
4152
+ gridColumnStart?: Platform.Select<{
4153
+ web: MakeValueResponsive<csstype.Property.GridColumnStart | undefined>;
4154
+ native: never;
4155
+ }> | undefined;
4156
+ gridRowEnd?: Platform.Select<{
4157
+ web: MakeValueResponsive<csstype.Property.GridRowEnd | undefined>;
4158
+ native: never;
4159
+ }> | undefined;
4160
+ gridRowStart?: Platform.Select<{
4161
+ web: MakeValueResponsive<csstype.Property.GridRowStart | undefined>;
4162
+ native: never;
4163
+ }> | undefined;
4164
+ gridTemplateAreas?: Platform.Select<{
4165
+ web: MakeValueResponsive<csstype.Property.GridTemplateAreas | undefined>;
4166
+ native: never;
4167
+ }> | undefined;
4168
+ gridTemplateColumns?: Platform.Select<{
4169
+ web: MakeValueResponsive<csstype.Property.GridTemplateColumns<string | number> | undefined>;
4170
+ native: never;
4171
+ }> | undefined;
4172
+ gridTemplateRows?: Platform.Select<{
4173
+ web: MakeValueResponsive<csstype.Property.GridTemplateRows<string | number> | undefined>;
4174
+ native: never;
4175
+ }> | undefined;
4176
+ gridArea?: Platform.Select<{
4177
+ web: MakeValueResponsive<csstype.Property.GridArea | undefined>;
4178
+ native: never;
4179
+ }> | undefined;
4180
+ gridColumn?: Platform.Select<{
4181
+ web: MakeValueResponsive<csstype.Property.GridColumn | undefined>;
4182
+ native: never;
4183
+ }> | undefined;
4184
+ gridRow?: Platform.Select<{
4185
+ web: MakeValueResponsive<csstype.Property.GridRow | undefined>;
4186
+ native: never;
4187
+ }> | undefined;
4188
+ gridTemplate?: Platform.Select<{
4189
+ web: MakeValueResponsive<csstype.Property.GridTemplate | undefined>;
4190
+ native: never;
4191
+ }> | undefined;
4192
+ }, "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridArea" | "gridColumn" | "gridRow">> & React__default.RefAttributes<BladeElementRef>>;
4193
+
4194
+ declare type OTPInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'name' | 'onChange' | 'value' | 'isDisabled' | 'autoFocus' | 'keyboardReturnKeyType' | 'keyboardType' | 'placeholder' | 'testID'> & {
2758
4195
  /**
2759
4196
  * Determines the number of input fields to show for the OTP
2760
4197
  * @default 6
@@ -2782,7 +4219,7 @@ declare type OTPInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'v
2782
4219
  *
2783
4220
  */
2784
4221
  autoCompleteSuggestionType?: Extract<BaseInputProps['autoCompleteSuggestionType'], 'none' | 'oneTimeCode'>;
2785
- };
4222
+ } & StyledPropsBlade;
2786
4223
  /**
2787
4224
  * OTPInput component can be used for accepting OTPs sent to users for authentication/verification purposes.
2788
4225
  *
@@ -2797,9 +4234,9 @@ declare type OTPInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'v
2797
4234
  * />
2798
4235
  * ```
2799
4236
  */
2800
- declare const OTPInput: ({ autoFocus, errorText, helpText, isDisabled, keyboardReturnKeyType, keyboardType, label, labelPosition, name, onChange, onOTPFilled, otpLength, placeholder, successText, validationState, value, isMasked, autoCompleteSuggestionType, }: OTPInputProps) => React__default.ReactElement;
4237
+ declare const OTPInput: ({ autoFocus, errorText, helpText, isDisabled, keyboardReturnKeyType, keyboardType, label, labelPosition, name, onChange, onOTPFilled, otpLength, placeholder, successText, validationState, value, isMasked, autoCompleteSuggestionType, testID, ...styledProps }: OTPInputProps) => React__default.ReactElement;
2801
4238
 
2802
- declare type SelectInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'necessityIndicator' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'name' | 'isDisabled' | 'isRequired' | 'prefix' | 'suffix' | 'autoFocus' | 'onClick' | 'onFocus' | 'onBlur' | 'placeholder'> & {
4239
+ declare type SelectInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'necessityIndicator' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'name' | 'isDisabled' | 'isRequired' | 'prefix' | 'suffix' | 'autoFocus' | 'onClick' | 'onFocus' | 'onBlur' | 'placeholder' | 'testID'> & {
2803
4240
  icon?: IconComponent$1;
2804
4241
  onChange?: ({ name, values }: {
2805
4242
  name?: string;
@@ -2833,7 +4270,7 @@ declare type SelectInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' |
2833
4270
  *
2834
4271
  * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select SelectInput Documentation}.
2835
4272
  */
2836
- declare const SelectInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "placeholder" | "label" | "name" | "autoFocus" | "prefix" | "onFocus" | "onBlur" | "onClick" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix"> & {
4273
+ declare const SelectInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "name" | "testID" | "placeholder" | "label" | "onFocus" | "onBlur" | "onClick" | "autoFocus" | "prefix" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix"> & {
2837
4274
  icon?: IconComponent$1 | undefined;
2838
4275
  onChange?: (({ name, values }: {
2839
4276
  name?: string | undefined;
@@ -2854,7 +4291,7 @@ declare type IndicatorCommonProps = {
2854
4291
  * @default medium
2855
4292
  */
2856
4293
  size?: 'small' | 'medium' | 'large';
2857
- };
4294
+ } & TestID$1 & StyledPropsBlade;
2858
4295
  declare type IndicatorWithoutA11yLabel = {
2859
4296
  /**
2860
4297
  * A text label to show alongside the indicator dot
@@ -2876,7 +4313,7 @@ declare type IndicatorWithA11yLabel = {
2876
4313
  children?: StringChildrenType;
2877
4314
  };
2878
4315
  declare type IndicatorProps = IndicatorCommonProps & (IndicatorWithA11yLabel | IndicatorWithoutA11yLabel);
2879
- declare const Indicator: ({ accessibilityLabel, children, size, intent, }: IndicatorProps) => ReactElement;
4316
+ declare const Indicator: ({ accessibilityLabel, children, size, intent, testID, ...styledProps }: IndicatorProps) => ReactElement;
2880
4317
 
2881
4318
  declare type ListItemProps = {
2882
4319
  /**
@@ -2894,9 +4331,9 @@ declare type ListItemProps = {
2894
4331
  *
2895
4332
  */
2896
4333
  _itemNumber?: undefined;
2897
- };
4334
+ } & TestID$1;
2898
4335
  declare const ListItem: {
2899
- ({ children, icon, _itemNumber }: ListItemProps): React__default.ReactElement;
4336
+ ({ children, icon, _itemNumber, testID, }: ListItemProps): React__default.ReactElement;
2900
4337
  componentId: string;
2901
4338
  };
2902
4339
 
@@ -2918,7 +4355,7 @@ declare type ListCommonProps = {
2918
4355
  * @default 'medium'
2919
4356
  */
2920
4357
  size?: 'small' | 'medium';
2921
- };
4358
+ } & TestID$1 & StyledPropsBlade;
2922
4359
  declare type ListWithIconProps = ListCommonProps & {
2923
4360
  variant?: 'unordered';
2924
4361
  icon?: IconComponent;
@@ -2949,13 +4386,13 @@ declare type ListProps = ListWithIconProps | ListWithoutIconProps;
2949
4386
  * ```
2950
4387
  */
2951
4388
  declare const List: {
2952
- ({ variant, size, children, icon }: ListProps): React__default.ReactElement;
4389
+ ({ variant, size, children, icon, testID, ...styledProps }: ListProps): React__default.ReactElement;
2953
4390
  componentId: string;
2954
4391
  };
2955
4392
 
2956
4393
  declare type ListItemLinkProps = Exclude<LinkProps, 'size' | 'variant' | 'isDisabled'>;
2957
4394
  declare const ListItemLink: {
2958
- ({ accessibilityLabel, children, href, icon, iconPosition, onClick, rel, target, }: ListItemLinkProps): React.ReactElement;
4395
+ ({ accessibilityLabel, children, href, icon, iconPosition, onClick, rel, target, testID, }: ListItemLinkProps): React.ReactElement;
2959
4396
  componentId: string;
2960
4397
  };
2961
4398
 
@@ -2964,8 +4401,8 @@ declare type TitleProps = {
2964
4401
  contrast?: ColorContrastTypes;
2965
4402
  type?: TextTypes;
2966
4403
  children: StringChildrenType;
2967
- };
2968
- declare const Title: ({ size, type, contrast, children, }: TitleProps) => ReactElement;
4404
+ } & TestID$1 & StyledPropsBlade;
4405
+ declare const Title: ({ size, type, contrast, children, testID, ...styledProps }: TitleProps) => ReactElement;
2969
4406
 
2970
4407
  declare type HeadingVariant = 'regular' | 'subheading';
2971
4408
  declare type HeadingSize = 'small' | 'medium' | 'large';
@@ -2973,7 +4410,7 @@ declare type HeadingCommonProps = {
2973
4410
  type?: TextTypes;
2974
4411
  contrast?: ColorContrastTypes;
2975
4412
  children: StringChildrenType;
2976
- };
4413
+ } & TestID$1 & StyledPropsBlade;
2977
4414
  declare type HeadingNormalVariant = HeadingCommonProps & {
2978
4415
  variant?: Exclude<HeadingVariant, 'subheading'>;
2979
4416
  /**
@@ -3000,7 +4437,7 @@ declare type HeadingProps<T> = T extends {
3000
4437
  } ? Variant extends Exclude<HeadingVariant, 'subheading'> ? HeadingNormalVariant : Variant extends 'subheading' ? HeadingSubHeadingVariant : T : T;
3001
4438
  declare const Heading: <T extends {
3002
4439
  variant: HeadingVariant;
3003
- }>({ variant, size, type, weight, contrast, children, }: HeadingProps<T>) => ReactElement;
4440
+ }>({ variant, size, type, weight, contrast, children, testID, ...styledProps }: HeadingProps<T>) => ReactElement;
3004
4441
 
3005
4442
  declare type FeedbackColors = `feedback.text.${DotNotationColorStringToken<Theme$1['colors']['feedback']['text']>}`;
3006
4443
  declare type FeedbackActionColors = `feedback.${Feedback}.action.text.${DotNotationColorStringToken<Theme$1['colors']['feedback'][Feedback]['action']['text']>}`;
@@ -3031,7 +4468,7 @@ declare type BaseTextProps = {
3031
4468
  */
3032
4469
  numberOfLines?: number;
3033
4470
  componentName?: 'text' | 'title' | 'heading' | 'code';
3034
- };
4471
+ } & TestID$1 & StyledPropsBlade;
3035
4472
 
3036
4473
  declare type TextCommonProps = {
3037
4474
  type?: TextTypes;
@@ -3043,7 +4480,8 @@ declare type TextCommonProps = {
3043
4480
  * **For Internal use only**: Sets the color of the Text component
3044
4481
  */
3045
4482
  color?: BaseTextProps['color'];
3046
- };
4483
+ textAlign?: BaseTextProps['textAlign'];
4484
+ } & TestID$1 & StyledPropsBlade;
3047
4485
  declare type TextVariant = 'body' | 'caption';
3048
4486
  declare type TextBodyVariant = TextCommonProps & {
3049
4487
  variant?: Extract<TextVariant, 'body'>;
@@ -3065,10 +4503,10 @@ declare type TextForwardedAs = {
3065
4503
  };
3066
4504
  declare const getTextProps: <T extends {
3067
4505
  variant: TextVariant;
3068
- }>({ variant, type, weight, size, contrast, }: Pick<TextProps<T>, "size" | "variant" | "type" | "weight" | "contrast">) => Omit<BaseTextProps, 'children'> & TextForwardedAs;
4506
+ }>({ variant, type, weight, size, contrast, testID, textAlign, }: Pick<TextProps<T>, "testID" | "textAlign" | "size" | "weight" | "type" | "variant" | "contrast">) => Omit<BaseTextProps, 'children'> & TextForwardedAs;
3069
4507
  declare const Text: <T extends {
3070
4508
  variant: TextVariant;
3071
- }>({ variant, weight, size, type, contrast, truncateAfterLines, children, color, }: TextProps<T>) => ReactElement;
4509
+ }>({ variant, weight, size, type, contrast, truncateAfterLines, children, color, testID, textAlign, ...styledProps }: TextProps<T>) => ReactElement;
3072
4510
 
3073
4511
  declare type CodeProps = {
3074
4512
  children: StringChildrenType;
@@ -3078,7 +4516,7 @@ declare type CodeProps = {
3078
4516
  * @default small
3079
4517
  */
3080
4518
  size?: 'small' | 'medium';
3081
- };
4519
+ } & TestID$1 & StyledPropsBlade;
3082
4520
  /**
3083
4521
  * Code component can be used for displaying token, variable names, or inlined code snippets.
3084
4522
  *
@@ -3105,11 +4543,11 @@ declare type CodeProps = {
3105
4543
  * </BaseBox>
3106
4544
  * ```
3107
4545
  */
3108
- declare const Code: ({ children, size }: CodeProps) => JSX.Element;
4546
+ declare const Code: ({ children, size, testID, ...styledProps }: CodeProps) => JSX.Element;
3109
4547
 
3110
4548
  declare type ListItemCodeProps = Exclude<CodeProps, 'size'>;
3111
4549
  declare const ListItemCode: {
3112
- ({ children }: ListItemCodeProps): React.ReactElement;
4550
+ ({ children, testID }: ListItemCodeProps): React.ReactElement;
3113
4551
  componentId: string;
3114
4552
  };
3115
4553
 
@@ -3166,7 +4604,7 @@ declare type ProgressBarCommonProps = {
3166
4604
  * @default 100
3167
4605
  */
3168
4606
  max?: number;
3169
- };
4607
+ } & TestID$1 & StyledPropsBlade;
3170
4608
  declare type ProgressBarVariant = 'progress' | 'meter';
3171
4609
  declare type ProgressBarProgressProps = ProgressBarCommonProps & {
3172
4610
  /**
@@ -3203,7 +4641,7 @@ declare type ProgressBarMeterProps = ProgressBarCommonProps & {
3203
4641
  showPercentage?: undefined;
3204
4642
  };
3205
4643
  declare type ProgressBarProps = ProgressBarProgressProps | ProgressBarMeterProps;
3206
- declare const ProgressBar: ({ accessibilityLabel, contrast, intent, isIndeterminate, label, showPercentage, size, value, variant, min, max, }: ProgressBarProps) => ReactElement;
4644
+ declare const ProgressBar: ({ accessibilityLabel, contrast, intent, isIndeterminate, label, showPercentage, size, value, variant, min, max, testID, ...styledProps }: ProgressBarProps) => ReactElement;
3207
4645
 
3208
4646
  declare type RadioProps = {
3209
4647
  /**
@@ -3231,8 +4669,112 @@ declare type RadioProps = {
3231
4669
  * @default "medium"
3232
4670
  */
3233
4671
  size?: 'small' | 'medium';
3234
- };
3235
- declare const Radio: React__default.ForwardRefExoticComponent<RadioProps & React__default.RefAttributes<BladeElementRef>>;
4672
+ } & TestID$1 & StyledPropsBlade;
4673
+ declare const Radio: React__default.ForwardRefExoticComponent<{
4674
+ /**
4675
+ * Sets the label text of the Radio
4676
+ */
4677
+ children: StringChildrenType;
4678
+ /**
4679
+ * Help text for the Radio
4680
+ */
4681
+ helpText?: string | undefined;
4682
+ /**
4683
+ * The value to be used in the Radio input.
4684
+ * This is the value that will be returned on form submission.
4685
+ */
4686
+ value: string;
4687
+ /**
4688
+ * If `true`, the Radio will be disabled
4689
+ *
4690
+ * @default false
4691
+ */
4692
+ isDisabled?: boolean | undefined;
4693
+ /**
4694
+ * Size of the radios
4695
+ *
4696
+ * @default "medium"
4697
+ */
4698
+ size?: "small" | "medium" | undefined;
4699
+ } & TestID$1 & Partial<MakeObjectResponsive<{
4700
+ margin: SpacingValueType | ArrayOfMaxLength4<SpacingValueType>;
4701
+ marginX: SpacingValueType;
4702
+ marginY: SpacingValueType;
4703
+ marginTop: SpacingValueType;
4704
+ marginRight: SpacingValueType;
4705
+ marginBottom: SpacingValueType;
4706
+ marginLeft: SpacingValueType;
4707
+ }> & Pick<MakeObjectResponsive<{
4708
+ gap: SpacingValueType;
4709
+ rowGap: SpacingValueType;
4710
+ columnGap: SpacingValueType;
4711
+ } & Pick<styled_components.CSSObject, "alignContent" | "alignItems" | "alignSelf" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "justifyContent" | "justifyItems" | "justifySelf" | "order" | "flex" | "placeSelf">>, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & MakeObjectResponsive<{
4712
+ top: SpacingValueType;
4713
+ right: SpacingValueType;
4714
+ bottom: SpacingValueType;
4715
+ left: SpacingValueType;
4716
+ } & Pick<styled_components.CSSObject, "position" | "zIndex">> & Pick<{
4717
+ grid?: Platform.Select<{
4718
+ web: MakeValueResponsive<csstype.Property.Grid | undefined>;
4719
+ native: never;
4720
+ }> | undefined;
4721
+ gridAutoColumns?: Platform.Select<{
4722
+ web: MakeValueResponsive<csstype.Property.GridAutoColumns<string | number> | undefined>;
4723
+ native: never;
4724
+ }> | undefined;
4725
+ gridAutoFlow?: Platform.Select<{
4726
+ web: MakeValueResponsive<csstype.Property.GridAutoFlow | undefined>;
4727
+ native: never;
4728
+ }> | undefined;
4729
+ gridAutoRows?: Platform.Select<{
4730
+ web: MakeValueResponsive<csstype.Property.GridAutoRows<string | number> | undefined>;
4731
+ native: never;
4732
+ }> | undefined;
4733
+ gridColumnEnd?: Platform.Select<{
4734
+ web: MakeValueResponsive<csstype.Property.GridColumnEnd | undefined>;
4735
+ native: never;
4736
+ }> | undefined;
4737
+ gridColumnStart?: Platform.Select<{
4738
+ web: MakeValueResponsive<csstype.Property.GridColumnStart | undefined>;
4739
+ native: never;
4740
+ }> | undefined;
4741
+ gridRowEnd?: Platform.Select<{
4742
+ web: MakeValueResponsive<csstype.Property.GridRowEnd | undefined>;
4743
+ native: never;
4744
+ }> | undefined;
4745
+ gridRowStart?: Platform.Select<{
4746
+ web: MakeValueResponsive<csstype.Property.GridRowStart | undefined>;
4747
+ native: never;
4748
+ }> | undefined;
4749
+ gridTemplateAreas?: Platform.Select<{
4750
+ web: MakeValueResponsive<csstype.Property.GridTemplateAreas | undefined>;
4751
+ native: never;
4752
+ }> | undefined;
4753
+ gridTemplateColumns?: Platform.Select<{
4754
+ web: MakeValueResponsive<csstype.Property.GridTemplateColumns<string | number> | undefined>;
4755
+ native: never;
4756
+ }> | undefined;
4757
+ gridTemplateRows?: Platform.Select<{
4758
+ web: MakeValueResponsive<csstype.Property.GridTemplateRows<string | number> | undefined>;
4759
+ native: never;
4760
+ }> | undefined;
4761
+ gridArea?: Platform.Select<{
4762
+ web: MakeValueResponsive<csstype.Property.GridArea | undefined>;
4763
+ native: never;
4764
+ }> | undefined;
4765
+ gridColumn?: Platform.Select<{
4766
+ web: MakeValueResponsive<csstype.Property.GridColumn | undefined>;
4767
+ native: never;
4768
+ }> | undefined;
4769
+ gridRow?: Platform.Select<{
4770
+ web: MakeValueResponsive<csstype.Property.GridRow | undefined>;
4771
+ native: never;
4772
+ }> | undefined;
4773
+ gridTemplate?: Platform.Select<{
4774
+ web: MakeValueResponsive<csstype.Property.GridTemplate | undefined>;
4775
+ native: never;
4776
+ }> | undefined;
4777
+ }, "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridArea" | "gridColumn" | "gridRow">> & React__default.RefAttributes<BladeElementRef>>;
3236
4778
 
3237
4779
  declare type RadioGroupProps = {
3238
4780
  /**
@@ -3307,8 +4849,8 @@ declare type RadioGroupProps = {
3307
4849
  * @default "medium"
3308
4850
  */
3309
4851
  size?: 'small' | 'medium';
3310
- };
3311
- declare const RadioGroup: ({ children, label, helpText, isDisabled, necessityIndicator, labelPosition, validationState, errorText, name, defaultValue, onChange, value, size, }: RadioGroupProps) => React__default.ReactElement;
4852
+ } & TestID$1 & StyledPropsBlade;
4853
+ declare const RadioGroup: ({ children, label, helpText, isDisabled, necessityIndicator, labelPosition, validationState, errorText, name, defaultValue, onChange, value, size, testID, ...styledProps }: RadioGroupProps) => React__default.ReactElement;
3312
4854
 
3313
4855
  declare type BaseSpinnerProps = {
3314
4856
  intent?: Feedback;
@@ -3340,10 +4882,10 @@ declare type BaseSpinnerProps = {
3340
4882
  *
3341
4883
  */
3342
4884
  accessibilityLabel: string;
3343
- };
4885
+ } & TestID$1 & StyledPropsBlade;
3344
4886
 
3345
4887
  declare type SpinnerProps = Omit<BaseSpinnerProps, 'intent'>;
3346
- declare const Spinner: ({ label, labelPosition, accessibilityLabel, contrast, size, }: SpinnerProps) => React.ReactElement;
4888
+ declare const Spinner: ({ label, labelPosition, accessibilityLabel, contrast, size, testID, ...styledProps }: SpinnerProps) => React.ReactElement;
3347
4889
 
3348
4890
  declare type SkipNavLinkProps = {
3349
4891
  id?: string;
@@ -3352,14 +4894,14 @@ declare type SkipNavLinkProps = {
3352
4894
  declare const SkipNavLink: ({ id, children, }: SkipNavLinkProps) => JSX.Element;
3353
4895
  declare type SkipNavContentProps = {
3354
4896
  id?: string;
3355
- };
3356
- declare const SkipNavContent: ({ id }: SkipNavContentProps) => JSX.Element;
4897
+ } & TestID$1;
4898
+ declare const SkipNavContent: ({ id, testID, }: SkipNavContentProps) => JSX.Element;
3357
4899
 
3358
4900
  declare type VisuallyHiddenProps = {
3359
4901
  children: React.ReactNode;
3360
- };
4902
+ } & TestID$1;
3361
4903
 
3362
- declare const VisuallyHidden: ({ children }: VisuallyHiddenProps) => JSX.Element;
4904
+ declare const VisuallyHidden: ({ children, testID }: VisuallyHiddenProps) => JSX.Element;
3363
4905
 
3364
4906
  /**
3365
4907
  * Screen reader class adapted from webaim
@@ -3367,4 +4909,116 @@ declare const VisuallyHidden: ({ children }: VisuallyHiddenProps) => JSX.Element
3367
4909
  */
3368
4910
  declare const screenReaderStyles: CSSObject;
3369
4911
 
3370
- export { ActionList, ActionListFooter, ActionListFooterIcon, ActionListFooterProps, ActionListHeader, ActionListHeaderIcon, ActionListHeaderProps, ActionListItem, ActionListItemAsset, ActionListItemAssetProps, ActionListItemIcon, ActionListItemProps, ActionListItemText, ActionListProps, ActionListSection, ActionListSectionDivider, ActionListSectionProps, ActivityIcon, AirplayIcon, Alert, AlertCircleIcon, AlertTriangleIcon as AlertOctagonIcon, AlertOnlyIcon, AlertProps, AlertTriangleIcon$1 as AlertTriangleIcon, AlignCenterIcon, AlignJustifyIcon, AlignLeftIcon, AlignRightIcon, AnchorIcon, AnnouncementIcon, ApertureIcon, AppStoreIcon, ArrowDownIcon, ArrowDownLeftIcon, ArrowDownRightIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArrowUpLeftIcon, ArrowUpRightIcon, AtSignIcon, Attachment as AttachmentIcon, AwardIcon, Badge, BadgeProps, BankIcon, BarChartAltIcon, BarChartIcon, BatteryChargingIcon, BatteryIcon, BellIcon, BellOffIcon, BillIcon, BladeProvider, BladeProviderProps, BluetoothIcon, BoldIcon, BookIcon, BookmarkIcon, BoxIcon, BriefcaseIcon, BulkPayoutsIcon, Button, ButtonProps, CalendarIcon, CameraIcon, CameraOffIcon, Card, CardBody, CardFooter, CardFooterAction, CardFooterLeading, CardFooterTrailing, CardHeader, CardHeaderBadge, CardHeaderCounter, CardHeaderIcon, CardHeaderIconButton, CardHeaderLeading, CardHeaderLink, CardHeaderText, CardHeaderTrailing, CardProps, CastIcon, CheckCircleIcon, CheckIcon, CheckSquareIcon, Checkbox, CheckboxGroup, CheckboxGroupProps, CheckboxProps, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsDownIcon, ChevronsLeftIcon, ChevronsRightIcon, ChevronsUpIcon, ChromeIcon, CircleIcon, ClipboardIcon, ClockIcon, CloseIcon, CloudDrizzleIcon, CloudIcon, CloudLightningIcon, CloudOffIcon, CloudRainIcon, CloudSnowIcon, Code, CodeProps, CodepenIcon, CoinsIcon, CommandIcon, CompassIcon, ComponentIds, CopyIcon, CornerDownLeftIcon, CornerDownRightIcon, CornerLeftDownIcon, CornerLeftUpIcon, CornerRightDownIcon, CornerRightUpIcon, CornerUpLeftIcon, CornerUpRightIcon, Counter, CounterProps, CpuIcon, CreditCardIcon, CropIcon, CrosshairIcon, CustomersIcon, CutIcon, DashboardIcon, DeleteIcon, DiscIcon, DollarIcon, DollarsIcon, DownloadCloudIcon, DownloadIcon, Dropdown, DropdownOverlay, DropdownOverlayProps, DropdownProps, DropletIcon, EditComposeIcon, EditIcon, EditInlineIcon, ExportIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FacebookIcon, FastForwardIcon, FeatherIcon, FileIcon, FileMinusIcon, FilePlusIcon, FileTextIcon, FilmIcon, FilterIcon, FlagIcon, FolderIcon, FullScreenEnterIcon, FullScreenExitIcon, GithubIcon, GitlabIcon, GlobeIcon, GridIcon, HashIcon, Heading, HeadingProps, HeadphonesIcon, HeartIcon, HelpCircleIcon, HistoryIcon, HomeIcon, IconButton, IconButtonProps, IconComponent, IconProps, IconSize, ImageIcon, InboxIcon, Indicator, IndicatorProps, InfoIcon, InstagramIcon, InvoicesIcon, ItalicIcon, LayersIcon, LayoutIcon, LifeBuoyIcon, Link, LinkIcon, LinkProps, List, ListIcon, ListItem, ListItemCode, ListItemCodeProps, ListItemLink, ListItemLinkProps, ListItemProps, ListProps, LoaderIcon, LockIcon, LogInIcon, LogOutIcon, MailIcon, MailOpenIcon, MapIcon, MapPinIcon, MaximizeIcon, MenuDotsIcon, MenuIcon, MessageCircleIcon, MessageSquareIcon, MicIcon, MicOffIcon, MinimizeIcon, MinusCircleIcon, MinusIcon, MinusSquareIcon, MonitorIcon, MoonIcon, MoreHorizontalIcon, MoreVerticalIcon, MoveIcon, MusicIcon, MyAccountIcon, NavigationIcon, OTPInput, OTPInputProps, OctagonIcon, OffersIcon, PackageIcon, PaperclipIcon, PasswordInput, PasswordInputProps, PauseCircleIcon, PauseIcon, PaymentButtonsIcon, PaymentLinksIcon, PaymentPagesIcon, PercentIcon, PhoneCallIcon, PhoneForwardedIcon, PhoneIcon, PhoneIncomingIcon, PhoneMissedIcon, PhoneOffIcon, PhoneOutgoingIcon, PieChartIcon, PlayCircleIcon, PlayIcon, PlusCircleIcon, PlusIcon, PlusSquareIcon, PocketIcon, PowerIcon, PrinterIcon, ProgressBar, ProgressBarProps, ProgressBarVariant, QRCodeIcon, Radio, RadioGroup, RadioGroupProps, RadioIcon, RadioProps, RazorpayIcon, RazorpayXIcon, RefreshIcon, RepeatIcon, ReportsIcon, RewindIcon, RotateClockWiseIcon, RotateCounterClockWiseIcon, RoutesIcon, RupeeIcon, RupeesIcon, SaveIcon, ScissorsIcon, SearchIcon, SelectInput, SelectInputProps, SendIcon, ServerIcon, SettingsIcon, SettlementsIcon, ShareIcon, ShieldIcon, ShoppingCartIcon, ShuffleIcon, SidebarIcon, SkipBackIcon, SkipForwardIcon, SkipNavContent, SkipNavLink, SlackIcon, SlashIcon, SlidersIcon, SmartCollectIcon, SmartphoneIcon, SpeakerIcon, Spinner, SpinnerProps, SquareIcon, StampIcon, StarIcon, StopCircleIcon, SubscriptionsIcon, SunIcon, SunriseIcon, SunsetIcon, TabletIcon, TagIcon, TargetIcon, Text, TextArea, TextAreaProps, TextInput, TextInputProps, TextProps, TextVariant, Theme, ThermometerIcon, ThumbsDownIcon, ThumbsUpIcon, Title, TitleProps, ToggleLeftIcon, ToggleRightIcon, TransactionsIcon, TrashIcon, TrendingDownIcon, TrendingUpIcon, TriangleIcon, TvIcon, TwitterIcon, TypeIcon, UmbrellaIcon, UnderlineIcon, UnlockIcon, UploadCloudIcon, UploadIcon, UserCheckIcon, UserIcon, UserMinusIcon, UserPlusIcon, UserXIcon, UsersIcon, VideoIcon, VideoOffIcon, VisuallyHidden, VisuallyHiddenProps, VoicemailIcon, VolumeHighIcon, VolumeIcon, VolumeLowIcon, VolumeMuteIcon, WatchIcon, WifiIcon, WifiOffIcon, WindIcon, XCircleIcon, XSquareIcon, ZapIcon, ZoomInIcon, ZoomOutIcon, announce, clearAnnouncer, destroyAnnouncer, getTextProps, screenReaderStyles, useTheme };
4912
+ declare type TestID = {
4913
+ testID?: string;
4914
+ };
4915
+
4916
+ declare const BaseBox: styled_components.StyledComponent<"div", styled_components.DefaultTheme, Omit<Partial<MakeObjectResponsive<{
4917
+ padding: SpacingValueType | ArrayOfMaxLength4<SpacingValueType>;
4918
+ paddingX: SpacingValueType;
4919
+ paddingY: SpacingValueType;
4920
+ paddingTop: SpacingValueType;
4921
+ paddingRight: SpacingValueType;
4922
+ paddingBottom: SpacingValueType;
4923
+ paddingLeft: SpacingValueType;
4924
+ }> & MakeObjectResponsive<{
4925
+ margin: SpacingValueType | ArrayOfMaxLength4<SpacingValueType>;
4926
+ marginX: SpacingValueType;
4927
+ marginY: SpacingValueType;
4928
+ marginTop: SpacingValueType;
4929
+ marginRight: SpacingValueType;
4930
+ marginBottom: SpacingValueType;
4931
+ marginLeft: SpacingValueType;
4932
+ }> & MakeObjectResponsive<{
4933
+ height: SpacingValueType;
4934
+ minHeight: SpacingValueType;
4935
+ maxHeight: SpacingValueType;
4936
+ width: SpacingValueType;
4937
+ minWidth: SpacingValueType;
4938
+ maxWidth: SpacingValueType;
4939
+ } & Pick<styled_components.CSSObject, "display" | "overflow" | "overflowX" | "overflowY">> & MakeObjectResponsive<{
4940
+ gap: SpacingValueType;
4941
+ rowGap: SpacingValueType;
4942
+ columnGap: SpacingValueType;
4943
+ } & Pick<styled_components.CSSObject, "alignContent" | "alignItems" | "alignSelf" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "justifyContent" | "justifyItems" | "justifySelf" | "order" | "flex" | "placeSelf">> & MakeObjectResponsive<{
4944
+ top: SpacingValueType;
4945
+ right: SpacingValueType;
4946
+ bottom: SpacingValueType;
4947
+ left: SpacingValueType;
4948
+ } & Pick<styled_components.CSSObject, "position" | "zIndex">> & {
4949
+ grid?: Platform.Select<{
4950
+ web: MakeValueResponsive<csstype.Property.Grid | undefined>;
4951
+ native: never;
4952
+ }> | undefined;
4953
+ gridAutoColumns?: Platform.Select<{
4954
+ web: MakeValueResponsive<csstype.Property.GridAutoColumns<string | number> | undefined>;
4955
+ native: never;
4956
+ }> | undefined;
4957
+ gridAutoFlow?: Platform.Select<{
4958
+ web: MakeValueResponsive<csstype.Property.GridAutoFlow | undefined>;
4959
+ native: never;
4960
+ }> | undefined;
4961
+ gridAutoRows?: Platform.Select<{
4962
+ web: MakeValueResponsive<csstype.Property.GridAutoRows<string | number> | undefined>;
4963
+ native: never;
4964
+ }> | undefined;
4965
+ gridColumnEnd?: Platform.Select<{
4966
+ web: MakeValueResponsive<csstype.Property.GridColumnEnd | undefined>;
4967
+ native: never;
4968
+ }> | undefined;
4969
+ gridColumnStart?: Platform.Select<{
4970
+ web: MakeValueResponsive<csstype.Property.GridColumnStart | undefined>;
4971
+ native: never;
4972
+ }> | undefined;
4973
+ gridRowEnd?: Platform.Select<{
4974
+ web: MakeValueResponsive<csstype.Property.GridRowEnd | undefined>;
4975
+ native: never;
4976
+ }> | undefined;
4977
+ gridRowStart?: Platform.Select<{
4978
+ web: MakeValueResponsive<csstype.Property.GridRowStart | undefined>;
4979
+ native: never;
4980
+ }> | undefined;
4981
+ gridTemplateAreas?: Platform.Select<{
4982
+ web: MakeValueResponsive<csstype.Property.GridTemplateAreas | undefined>;
4983
+ native: never;
4984
+ }> | undefined;
4985
+ gridTemplateColumns?: Platform.Select<{
4986
+ web: MakeValueResponsive<csstype.Property.GridTemplateColumns<string | number> | undefined>;
4987
+ native: never;
4988
+ }> | undefined;
4989
+ gridTemplateRows?: Platform.Select<{
4990
+ web: MakeValueResponsive<csstype.Property.GridTemplateRows<string | number> | undefined>;
4991
+ native: never;
4992
+ }> | undefined;
4993
+ gridArea?: Platform.Select<{
4994
+ web: MakeValueResponsive<csstype.Property.GridArea | undefined>;
4995
+ native: never;
4996
+ }> | undefined;
4997
+ gridColumn?: Platform.Select<{
4998
+ web: MakeValueResponsive<csstype.Property.GridColumn | undefined>;
4999
+ native: never;
5000
+ }> | undefined;
5001
+ gridRow?: Platform.Select<{
5002
+ web: MakeValueResponsive<csstype.Property.GridRow | undefined>;
5003
+ native: never;
5004
+ }> | undefined;
5005
+ gridTemplate?: Platform.Select<{
5006
+ web: MakeValueResponsive<csstype.Property.GridTemplate | undefined>;
5007
+ native: never;
5008
+ }> | undefined;
5009
+ } & MakeObjectResponsive<{
5010
+ backgroundColor: "surface.background.level1.lowContrast" | "surface.background.level1.highContrast" | "surface.background.level2.lowContrast" | "surface.background.level2.highContrast" | "surface.background.level3.lowContrast" | "surface.background.level3.highContrast";
5011
+ }> & {
5012
+ as: "header" | "main" | "aside" | "div" | "footer" | "nav" | "section" | "span";
5013
+ } & {
5014
+ children?: React$1.ReactNode | React$1.ReactNode[];
5015
+ } & TestID>, "backgroundColor" | "as"> & Partial<MakeObjectResponsive<{
5016
+ borderRadius: "none" | "small" | "medium" | "large" | "max" | "round";
5017
+ backgroundColor: "feedback.background.neutral.lowContrast" | "feedback.background.neutral.highContrast" | "feedback.background.information.lowContrast" | "feedback.background.information.highContrast" | "feedback.background.negative.lowContrast" | "feedback.background.negative.highContrast" | "feedback.background.notice.lowContrast" | "feedback.background.notice.highContrast" | "feedback.background.positive.lowContrast" | "feedback.background.positive.highContrast" | "surface.background.level1.lowContrast" | "surface.background.level1.highContrast" | "surface.background.level2.lowContrast" | "surface.background.level2.highContrast" | "surface.background.level3.lowContrast" | "surface.background.level3.highContrast" | "action.background.primary.default" | "action.background.primary.disabled" | "action.background.primary.hover" | "action.background.primary.focus" | "action.background.primary.active" | "action.background.secondary.default" | "action.background.secondary.disabled" | "action.background.secondary.hover" | "action.background.secondary.focus" | "action.background.secondary.active" | "action.background.tertiary.default" | "action.background.tertiary.disabled" | "action.background.tertiary.hover" | "action.background.tertiary.focus" | "action.background.tertiary.active" | (string & Record<never, never>);
5018
+ lineHeight: SpacingValueType;
5019
+ } & Pick<styled_components.CSSObject, "border" | "transform" | "borderBottom" | "borderLeft" | "borderRight" | "borderTop">> & {
5020
+ className?: string | undefined;
5021
+ id?: string | undefined;
5022
+ }>, never>;
5023
+
5024
+ export { ActionList, ActionListFooter, ActionListFooterIcon, ActionListFooterProps, ActionListHeader, ActionListHeaderIcon, ActionListHeaderProps, ActionListItem, ActionListItemAsset, ActionListItemAssetProps, ActionListItemIcon, ActionListItemProps, ActionListItemText, ActionListProps, ActionListSection, ActionListSectionDivider, ActionListSectionProps, ActivityIcon, AirplayIcon, Alert, AlertCircleIcon, AlertTriangleIcon as AlertOctagonIcon, AlertOnlyIcon, AlertProps, AlertTriangleIcon$1 as AlertTriangleIcon, AlignCenterIcon, AlignJustifyIcon, AlignLeftIcon, AlignRightIcon, AnchorIcon, AnnouncementIcon, ApertureIcon, AppStoreIcon, ArrowDownIcon, ArrowDownLeftIcon, ArrowDownRightIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArrowUpLeftIcon, ArrowUpRightIcon, AtSignIcon, Attachment as AttachmentIcon, AwardIcon, Badge, BadgeProps, BankIcon, BarChartAltIcon, BarChartIcon, BatteryChargingIcon, BatteryIcon, BellIcon, BellOffIcon, BillIcon, BladeProvider, BladeProviderProps, BluetoothIcon, BoldIcon, BookIcon, BookmarkIcon, Box, BoxIcon, BoxProps, BriefcaseIcon, BulkPayoutsIcon, Button, ButtonProps, CalendarIcon, CameraIcon, CameraOffIcon, Card, CardBody, CardFooter, CardFooterAction, CardFooterLeading, CardFooterTrailing, CardHeader, CardHeaderBadge, CardHeaderCounter, CardHeaderIcon, CardHeaderIconButton, CardHeaderLeading, CardHeaderLink, CardHeaderText, CardHeaderTrailing, CardProps, CastIcon, CheckCircleIcon, CheckIcon, CheckSquareIcon, Checkbox, CheckboxGroup, CheckboxGroupProps, CheckboxProps, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsDownIcon, ChevronsLeftIcon, ChevronsRightIcon, ChevronsUpIcon, ChromeIcon, CircleIcon, ClipboardIcon, ClockIcon, CloseIcon, CloudDrizzleIcon, CloudIcon, CloudLightningIcon, CloudOffIcon, CloudRainIcon, CloudSnowIcon, Code, CodeProps, CodepenIcon, CoinsIcon, CommandIcon, CompassIcon, ComponentIds, CopyIcon, CornerDownLeftIcon, CornerDownRightIcon, CornerLeftDownIcon, CornerLeftUpIcon, CornerRightDownIcon, CornerRightUpIcon, CornerUpLeftIcon, CornerUpRightIcon, Counter, CounterProps, CpuIcon, CreditCardIcon, CropIcon, CrosshairIcon, CustomersIcon, CutIcon, DashboardIcon, DeleteIcon, DiscIcon, DollarIcon, DollarsIcon, DownloadCloudIcon, DownloadIcon, Dropdown, DropdownOverlay, DropdownOverlayProps, DropdownProps, DropletIcon, EditComposeIcon, EditIcon, EditInlineIcon, ExportIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FacebookIcon, FastForwardIcon, FeatherIcon, FileIcon, FileMinusIcon, FilePlusIcon, FileTextIcon, FilmIcon, FilterIcon, FlagIcon, FolderIcon, FullScreenEnterIcon, FullScreenExitIcon, GithubIcon, GitlabIcon, GlobeIcon, GridIcon, HashIcon, Heading, HeadingProps, HeadphonesIcon, HeartIcon, HelpCircleIcon, HistoryIcon, HomeIcon, IconButton, IconButtonProps, IconComponent, IconProps, IconSize, ImageIcon, InboxIcon, Indicator, IndicatorProps, InfoIcon, InstagramIcon, BaseBox as InternalDontUsePleaseWillBeRemovedSoonBaseBox, InvoicesIcon, ItalicIcon, LayersIcon, LayoutIcon, LifeBuoyIcon, Link, LinkIcon, LinkProps, List, ListIcon, ListItem, ListItemCode, ListItemCodeProps, ListItemLink, ListItemLinkProps, ListItemProps, ListProps, LoaderIcon, LockIcon, LogInIcon, LogOutIcon, MailIcon, MailOpenIcon, MapIcon, MapPinIcon, MaximizeIcon, MenuDotsIcon, MenuIcon, MessageCircleIcon, MessageSquareIcon, MicIcon, MicOffIcon, MinimizeIcon, MinusCircleIcon, MinusIcon, MinusSquareIcon, MonitorIcon, MoonIcon, MoreHorizontalIcon, MoreVerticalIcon, MoveIcon, MusicIcon, MyAccountIcon, NavigationIcon, OTPInput, OTPInputProps, OctagonIcon, OffersIcon, PackageIcon, PaperclipIcon, PasswordInput, PasswordInputProps, PauseCircleIcon, PauseIcon, PaymentButtonsIcon, PaymentLinksIcon, PaymentPagesIcon, PercentIcon, PhoneCallIcon, PhoneForwardedIcon, PhoneIcon, PhoneIncomingIcon, PhoneMissedIcon, PhoneOffIcon, PhoneOutgoingIcon, PieChartIcon, PlayCircleIcon, PlayIcon, PlusCircleIcon, PlusIcon, PlusSquareIcon, PocketIcon, PowerIcon, PrinterIcon, ProgressBar, ProgressBarProps, ProgressBarVariant, QRCodeIcon, Radio, RadioGroup, RadioGroupProps, RadioIcon, RadioProps, RazorpayIcon, RazorpayXIcon, RefreshIcon, RepeatIcon, ReportsIcon, RewindIcon, RotateClockWiseIcon, RotateCounterClockWiseIcon, RoutesIcon, RupeeIcon, RupeesIcon, SaveIcon, ScissorsIcon, SearchIcon, SelectInput, SelectInputProps, SendIcon, ServerIcon, SettingsIcon, SettlementsIcon, ShareIcon, ShieldIcon, ShoppingCartIcon, ShuffleIcon, SidebarIcon, SkipBackIcon, SkipForwardIcon, SkipNavContent, SkipNavLink, SlackIcon, SlashIcon, SlidersIcon, SmartCollectIcon, SmartphoneIcon, SpeakerIcon, Spinner, SpinnerProps, SquareIcon, StampIcon, StarIcon, StopCircleIcon, SubscriptionsIcon, SunIcon, SunriseIcon, SunsetIcon, TabletIcon, TagIcon, TargetIcon, Text, TextArea, TextAreaProps, TextInput, TextInputProps, TextProps, TextVariant, Theme, ThermometerIcon, ThumbsDownIcon, ThumbsUpIcon, Title, TitleProps, ToggleLeftIcon, ToggleRightIcon, TransactionsIcon, TrashIcon, TrendingDownIcon, TrendingUpIcon, TriangleIcon, TvIcon, TwitterIcon, TypeIcon, UmbrellaIcon, UnderlineIcon, UnlockIcon, UploadCloudIcon, UploadIcon, UserCheckIcon, UserIcon, UserMinusIcon, UserPlusIcon, UserXIcon, UsersIcon, VideoIcon, VideoOffIcon, VisuallyHidden, VisuallyHiddenProps, VoicemailIcon, VolumeHighIcon, VolumeIcon, VolumeLowIcon, VolumeMuteIcon, WatchIcon, WifiIcon, WifiOffIcon, WindIcon, XCircleIcon, XSquareIcon, ZapIcon, ZoomInIcon, ZoomOutIcon, announce, clearAnnouncer, destroyAnnouncer, getTextProps, screenReaderStyles, useTheme };