@razorpay/blade 6.3.0 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,59 +4,6 @@ import React__default, { ReactChild, ReactElement, ReactNode, SyntheticEvent, Ke
4
4
  import { AccessibilityRole, View, GestureResponderEvent } from 'react-native';
5
5
  import { CSSObject } from 'styled-components';
6
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;
59
-
60
7
  type BorderRadius = Readonly<{
61
8
  /** none: 0(px/rem/pt) */
62
9
  none: 0;
@@ -280,40 +227,161 @@ type Spacing = Readonly<{
280
227
  11: 56;
281
228
  }>;
282
229
 
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];
230
+ type ColorSchemeNames = 'dark' | 'light';
231
+ type ColorSchemeNamesInput = ColorSchemeNames | 'system';
295
232
 
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[];
233
+ type ColorSchemeModes = 'onDark' | 'onLight';
234
+
235
+ type ShadowLevels = 1 | 2 | 3 | 4 | 5;
236
+
237
+ type TextTypes = 'muted' | 'normal' | 'placeholder' | 'subdued' | 'subtle';
238
+
239
+ type ColorContrastTypes = 'low' | 'high';
240
+
241
+ type Shadows = {
242
+ offsetX: {
243
+ level: Record<ShadowLevels, number>;
244
+ };
245
+ offsetY: {
246
+ level: Record<ShadowLevels, number>;
247
+ };
248
+ blurRadius: {
249
+ level: Record<ShadowLevels, number>;
250
+ };
251
+ color: Record<
252
+ ColorSchemeModes,
253
+ {
254
+ level: Record<ShadowLevels, string>;
255
+ }
256
+ >;
257
+ androidElevation: {
258
+ level: Record<ShadowLevels, number>;
259
+ };
260
+ };
261
+
262
+ type Feedback = 'information' | 'negative' | 'neutral' | 'notice' | 'positive';
263
+
264
+ type ColorContrast = {
265
+ [K in ColorContrastTypes as `${Extract<K, string>}Contrast`]: string;
266
+ };
267
+
268
+ type ActionStates = {
269
+ default: string;
270
+ hover: string;
271
+ focus: string;
272
+ active: string;
273
+ disabled: string;
274
+ };
275
+
276
+ type LinkActionStates = ActionStates & {
277
+ visited: string;
278
+ };
279
+
280
+ type ActionStatesWithContrast = {
281
+ default: ColorContrast;
282
+ hover: ColorContrast;
283
+ focus: ColorContrast;
284
+ active: ColorContrast;
285
+ disabled: ColorContrast;
286
+ };
287
+
288
+ type ActionVariants = {
289
+ primary: ActionStates;
290
+ secondary: ActionStates;
291
+ tertiary: ActionStates;
292
+ link: LinkActionStates;
293
+ };
294
+
295
+ type ActionVariantsWithContrast = {
296
+ primary: ActionStatesWithContrast;
297
+ secondary: ActionStatesWithContrast;
298
+ tertiary: ActionStatesWithContrast;
299
+ link: ActionStatesWithContrast;
300
+ };
301
+
302
+ // export type ActionProperties = {
303
+ // background: ActionVariants;
304
+ // border: ActionVariants;
305
+ // text: ActionVariants;
306
+ // icon: ActionVariants;
307
+ // };
308
+
309
+ type FeedbackActions = {
310
+ background: Pick<ActionVariantsWithContrast, 'primary'>;
311
+ border: Pick<ActionVariantsWithContrast, 'primary'>;
312
+ text: Pick<ActionVariantsWithContrast, 'link' | 'primary'>;
313
+ icon: Pick<ActionVariantsWithContrast, 'link' | 'primary'>;
314
+ };
315
+
316
+ type Colors = {
317
+ brand: {
318
+ primary: Record<300 | 400 | 500 | 600 | 700 | 800, string>;
319
+ secondary: Record<500, string>;
320
+ gray: Record<200 | 300 | 400 | 500 | 600 | 700 | 'a50' | 'a100', ColorContrast>;
321
+ };
322
+ feedback: {
323
+ background: Record<Feedback, ColorContrast>;
324
+ border: Record<Feedback, ColorContrast>;
325
+ text: Record<Feedback, ColorContrast>;
326
+ icon: Record<Feedback, ColorContrast>;
327
+ positive: {
328
+ action: FeedbackActions;
329
+ };
330
+ negative: {
331
+ action: FeedbackActions;
332
+ };
333
+ information: {
334
+ action: FeedbackActions;
335
+ };
336
+ notice: {
337
+ action: FeedbackActions;
338
+ };
339
+ neutral: {
340
+ action: FeedbackActions;
341
+ };
342
+ };
343
+ surface: {
344
+ background: Record<'level1' | 'level2' | 'level3', ColorContrast>;
345
+ border: Record<'normal' | 'subtle', ColorContrast>;
346
+ text: Record<TextTypes, ColorContrast>;
347
+ action: {
348
+ icon: ActionStatesWithContrast;
349
+ };
350
+ };
351
+ overlay: Record<'background', string>;
352
+ action: {
353
+ background: Omit<ActionVariants, 'link'>;
354
+ border: Omit<ActionVariants, 'link'>;
355
+ text: ActionVariants;
356
+ icon: ActionVariants;
357
+ };
358
+ badge: {
359
+ background: {
360
+ blue: ColorContrast;
361
+ };
362
+ border: {
363
+ blue: ColorContrast;
364
+ };
365
+ text: {
366
+ blue: ColorContrast;
367
+ };
368
+ icon: {
369
+ blue: ColorContrast;
370
+ };
371
+ };
372
+ };
373
+
374
+ type ColorsWithModes = Record<ColorSchemeModes, Colors>;
375
+
376
+ type ThemeTokens = {
377
+ border: Border;
378
+ breakpoints: Breakpoints;
379
+ colors: ColorsWithModes;
380
+ motion: Motion;
381
+ spacing: Spacing;
382
+ shadows: Shadows;
383
+ typography: TypographyWithPlatforms;
384
+ };
317
385
 
318
386
  /* eslint-disable @typescript-eslint/no-explicit-any */
319
387
 
@@ -736,193 +804,129 @@ type Easing = {
736
804
  * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
737
805
  attentive: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;
738
806
  /** `cubic-bezier(0, 0, 0.2, 1)`
739
- *
740
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
741
- effective: EasingType<'cubic-bezier(0, 0, 0.2, 1)'>;
742
- /** `cubic-bezier(0, 0, 0, 1)`
743
- *
744
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
745
- revealing: EasingType<'cubic-bezier(0, 0, 0, 1)'>;
746
- };
747
- /** Easings for all exit animations*/
748
- exit: {
749
- /** `cubic-bezier(0.7, 0, 0.5, 1)`
750
- *
751
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
752
- attentive: EasingType<'cubic-bezier(0.7, 0, 0.5, 1)'>;
753
- /** `cubic-bezier(0.17, 0, 1, 1)`
754
- *
755
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
756
- effective: EasingType<'cubic-bezier(0.17, 0, 1, 1)'>;
757
- /** `cubic-bezier(0.5, 0, 1, 1)`
758
- *
759
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
760
- revealing: EasingType<'cubic-bezier(0.5, 0, 1, 1)'>;
761
- };
762
- };
763
-
764
- type Motion = Readonly<{
765
- delay: Delay;
766
- duration: Duration;
767
- easing: Easing;
768
- }>;
769
-
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
- };
841
-
842
- // export type ActionProperties = {
843
- // background: ActionVariants;
844
- // border: ActionVariants;
845
- // text: ActionVariants;
846
- // icon: ActionVariants;
847
- // };
848
-
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
- };
855
-
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;
807
+ *
808
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
809
+ effective: EasingType<'cubic-bezier(0, 0, 0.2, 1)'>;
810
+ /** `cubic-bezier(0, 0, 0, 1)`
811
+ *
812
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
813
+ revealing: EasingType<'cubic-bezier(0, 0, 0, 1)'>;
897
814
  };
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
- };
815
+ /** Easings for all exit animations*/
816
+ exit: {
817
+ /** `cubic-bezier(0.7, 0, 0.5, 1)`
818
+ *
819
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
820
+ attentive: EasingType<'cubic-bezier(0.7, 0, 0.5, 1)'>;
821
+ /** `cubic-bezier(0.17, 0, 1, 1)`
822
+ *
823
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
824
+ effective: EasingType<'cubic-bezier(0.17, 0, 1, 1)'>;
825
+ /** `cubic-bezier(0.5, 0, 1, 1)`
826
+ *
827
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
828
+ revealing: EasingType<'cubic-bezier(0.5, 0, 1, 1)'>;
911
829
  };
912
830
  };
913
831
 
914
- type ColorsWithModes = Record<ColorSchemeModes, Colors>;
832
+ type Motion = Readonly<{
833
+ delay: Delay;
834
+ duration: Duration;
835
+ easing: Easing;
836
+ }>;
915
837
 
916
- type ThemeTokens = {
917
- border: Border;
918
- breakpoints: Breakpoints;
919
- colors: ColorsWithModes;
920
- motion: Motion;
921
- spacing: Spacing;
922
- shadows: Shadows;
923
- typography: TypographyWithPlatforms;
838
+ /**
839
+ * @template TokenType token type generic
840
+ * @description Tokenises objects to dot notation strings, eg: `surface.text.normal.lowContrast`
841
+ */
842
+ type DotNotationColorStringToken<TokenType> = {
843
+ [K in keyof TokenType]: `${Extract<K, number | string>}.${TokenType[K] extends Record<
844
+ string,
845
+ string
846
+ >
847
+ ? Extract<keyof TokenType[K], number | string>
848
+ : DotNotationColorStringToken<TokenType[K]>}`;
849
+ }[keyof TokenType];
850
+
851
+ /**
852
+ * Use this when you want children to be string.
853
+ *
854
+ * This covers scenarios like
855
+ * ```jsx
856
+ * <Title>Hi</Title>
857
+ * <Title>{dynamicVariable} something</Title>
858
+ * ```
859
+ *
860
+ *
861
+ * ### Usage
862
+ *
863
+ * ```ts
864
+ * import type { StringChildrenType } from '~helpers/types';
865
+ *
866
+ * type MyProps = {
867
+ * children: StringChildrenType;
868
+ * }
869
+ * ```
870
+ */
871
+ type StringChildrenType = React__default.ReactText | React__default.ReactText[];
872
+
873
+ type TestID = {
874
+ testID?: string;
924
875
  };
925
876
 
877
+ declare type ActionListProps = {
878
+ children: React__default.ReactNode[];
879
+ /**
880
+ * Decides the backgroundColor of ActionList
881
+ */
882
+ surfaceLevel?: 2 | 3;
883
+ } & TestID;
884
+ /**
885
+ * ### ActionList
886
+ *
887
+ * List of multiple actionable items. Can be used as menu items inside `Dropdown`,
888
+ * `BottomSheet` and as selectable items when combined with `SelectInput`
889
+ *
890
+ * #### Usage
891
+ *
892
+ * ```jsx
893
+ * <Dropdown>
894
+ * <SelectInput label="Select Action" />
895
+ * <DropdownOverlay>
896
+ * <ActionList>
897
+ * <ActionListHeader
898
+ * title="Recent Searches"
899
+ * leading={<ActionListHeaderIcon icon={HistoryIcon} />}
900
+ * />
901
+ * <ActionListItem
902
+ * title="Home"
903
+ * value="home"
904
+ * leading={<ActionListItemIcon icon={HomeIcon} />}
905
+ * />
906
+ * <ActionListItem
907
+ * title="Pricing"
908
+ * value="pricing"
909
+ * leading={<ActionListItemAsset src="https://flagcdn.com/w20/in.png" alt="India Flag" />}
910
+ * />
911
+ * <ActionListHeader
912
+ * title="Search Tips"
913
+ * leading={<ActionListFooterIcon icon={SearchIcon} />}
914
+ * trailing={
915
+ * <Button
916
+ * onClick={() => console.log('clicked')}
917
+ * >
918
+ * Apply
919
+ * </Button>
920
+ * }
921
+ * />
922
+ * </ActionList>
923
+ * </DropdownOverlay>
924
+ * </Dropdown>
925
+ * ```
926
+ *
927
+ */
928
+ declare const ActionList: ({ children, surfaceLevel, testID }: ActionListProps) => JSX.Element;
929
+
926
930
  type Theme$1 = {
927
931
  border: Border;
928
932
  breakpoints: Breakpoints;
@@ -1019,7 +1023,7 @@ declare type ActionListItemProps = {
1019
1023
  * @private
1020
1024
  */
1021
1025
  _index?: number;
1022
- };
1026
+ } & TestID;
1023
1027
  declare const ActionListSectionDivider: () => JSX.Element;
1024
1028
  declare type ActionListSectionProps = {
1025
1029
  title: string;
@@ -1032,7 +1036,7 @@ declare type ActionListSectionProps = {
1032
1036
  * @private
1033
1037
  */
1034
1038
  _hideDivider?: boolean;
1035
- };
1039
+ } & TestID;
1036
1040
  declare const ActionListSection: WithComponentId<ActionListSectionProps>;
1037
1041
  declare const ActionListItemIcon: WithComponentId<{
1038
1042
  icon: IconComponent$1;
@@ -1068,7 +1072,7 @@ declare type ActionListHeaderProps = {
1068
1072
  * Valid children - `ActionListHeaderIcon`
1069
1073
  */
1070
1074
  leading?: React__default.ReactNode;
1071
- };
1075
+ } & TestID;
1072
1076
  /**
1073
1077
  * ### ActionListHeader
1074
1078
  *
@@ -1107,7 +1111,7 @@ declare type ActionListFooterProps = {
1107
1111
  * Anything can be passed here but maybe don't? Should ideally have Button or Tick Icon Buttons.
1108
1112
  */
1109
1113
  trailing?: React__default.ReactNode;
1110
- };
1114
+ } & TestID;
1111
1115
  /**
1112
1116
  * ### ActionListFooter
1113
1117
  *
@@ -1216,8 +1220,8 @@ declare type AlertProps = {
1216
1220
  */
1217
1221
  secondary?: SecondaryAction;
1218
1222
  };
1219
- };
1220
- declare const Alert: ({ description, title, isDismissible, onDismiss, contrast, isFullWidth, intent, actions, }: AlertProps) => ReactElement | null;
1223
+ } & TestID;
1224
+ declare const Alert: ({ description, title, isDismissible, onDismiss, contrast, isFullWidth, intent, actions, testID, }: AlertProps) => ReactElement | null;
1221
1225
 
1222
1226
  declare type BadgeProps = {
1223
1227
  /**
@@ -1255,8 +1259,8 @@ declare type BadgeProps = {
1255
1259
  * @default 'regular'
1256
1260
  */
1257
1261
  fontWeight?: 'regular' | 'bold';
1258
- };
1259
- declare const Badge: ({ children, contrast, fontWeight, icon, size, variant, }: BadgeProps) => ReactElement;
1262
+ } & TestID;
1263
+ declare const Badge: ({ children, contrast, fontWeight, icon, size, variant, testID, }: BadgeProps) => ReactElement;
1260
1264
 
1261
1265
  declare type BladeProviderProps = {
1262
1266
  themeTokens: ThemeTokens;
@@ -1328,11 +1332,11 @@ declare type CardProps = {
1328
1332
  * - Figma: https://shorturl.at/fsvwK
1329
1333
  */
1330
1334
  surfaceLevel?: 2 | 3;
1331
- };
1332
- declare const Card: ({ children, surfaceLevel }: CardProps) => React__default.ReactElement;
1335
+ } & TestID;
1336
+ declare const Card: ({ children, surfaceLevel, testID }: CardProps) => React__default.ReactElement;
1333
1337
  declare type CardBodyProps = {
1334
1338
  children: React__default.ReactNode;
1335
- };
1339
+ } & TestID;
1336
1340
  declare const CardBody: WithComponentId<CardBodyProps>;
1337
1341
 
1338
1342
  declare type LinkCommonProps = {
@@ -1350,7 +1354,7 @@ declare type LinkCommonProps = {
1350
1354
  * @default medium
1351
1355
  */
1352
1356
  size?: 'small' | 'medium';
1353
- };
1357
+ } & TestID;
1354
1358
  declare type LinkWithoutIconProps = LinkCommonProps & {
1355
1359
  icon?: undefined;
1356
1360
  children: StringChildrenType;
@@ -1375,7 +1379,7 @@ declare type LinkButtonVariantProps = LinkPropsWithOrWithoutIcon & {
1375
1379
  rel?: undefined;
1376
1380
  };
1377
1381
  declare type LinkProps = LinkAnchorVariantProps | LinkButtonVariantProps;
1378
- declare const Link: ({ children, icon, iconPosition, isDisabled, onClick, variant, href, target, rel, accessibilityLabel, size, }: LinkProps) => ReactElement;
1382
+ declare const Link: ({ children, icon, iconPosition, isDisabled, onClick, variant, href, target, rel, accessibilityLabel, size, testID, }: LinkProps) => ReactElement;
1379
1383
 
1380
1384
  type BladeElementRef = Pick<HTMLElement, 'focus' | 'scrollIntoView'> | Pick<View, 'focus'>;
1381
1385
 
@@ -1392,7 +1396,7 @@ declare type ButtonCommonProps = {
1392
1396
  native: (event: GestureResponderEvent) => void;
1393
1397
  web: (event: React__default.MouseEvent<HTMLButtonElement>) => void;
1394
1398
  }>;
1395
- };
1399
+ } & TestID;
1396
1400
  declare type ButtonWithoutIconProps = ButtonCommonProps & {
1397
1401
  icon?: undefined;
1398
1402
  children: StringChildrenType;
@@ -1442,7 +1446,7 @@ type BaseTextProps$1 = {
1442
1446
  */
1443
1447
  numberOfLines?: number;
1444
1448
  componentName?: 'text' | 'title' | 'heading' | 'code';
1445
- };
1449
+ } & TestID;
1446
1450
 
1447
1451
  /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */
1448
1452
 
@@ -1457,7 +1461,8 @@ type TextCommonProps$1 = {
1457
1461
  * **For Internal use only**: Sets the color of the Text component
1458
1462
  */
1459
1463
  color?: BaseTextProps$1['color'];
1460
- };
1464
+ textAlign?: BaseTextProps$1['textAlign'];
1465
+ } & TestID;
1461
1466
 
1462
1467
  type TextVariant$1 = 'body' | 'caption';
1463
1468
 
@@ -1513,7 +1518,7 @@ type CounterProps$1 = {
1513
1518
  * @default 'medium'
1514
1519
  */
1515
1520
  size?: 'small' | 'medium' | 'large';
1516
- };
1521
+ } & TestID;
1517
1522
 
1518
1523
  declare const CardHeaderIcon: WithComponentId<{
1519
1524
  icon: IconComponent$1;
@@ -1530,7 +1535,7 @@ declare type CardHeaderIconButtonProps = Omit<ButtonProps, 'variant' | 'size' |
1530
1535
  declare const CardHeaderIconButton: WithComponentId<CardHeaderIconButtonProps>;
1531
1536
  declare type CardHeaderProps = {
1532
1537
  children?: React__default.ReactNode;
1533
- };
1538
+ } & TestID;
1534
1539
  declare const CardHeader: WithComponentId<CardHeaderProps>;
1535
1540
  declare type CardHeaderLeadingProps = {
1536
1541
  title: string;
@@ -1564,7 +1569,7 @@ declare type CardFooterAction = Pick<ButtonProps, 'type' | 'accessibilityLabel'
1564
1569
  };
1565
1570
  declare type CardFooterProps = {
1566
1571
  children?: React__default.ReactNode;
1567
- };
1572
+ } & TestID;
1568
1573
  declare const CardFooter: WithComponentId<CardFooterProps>;
1569
1574
  declare type CardFooterLeadingProps = {
1570
1575
  title?: string;
@@ -1636,8 +1641,8 @@ declare type CounterProps = {
1636
1641
  * @default 'medium'
1637
1642
  */
1638
1643
  size?: 'small' | 'medium' | 'large';
1639
- };
1640
- declare const Counter: ({ value, max, intent, contrast, size, }: CounterProps) => React.ReactElement;
1644
+ } & TestID;
1645
+ declare const Counter: ({ value, max, intent, contrast, size, testID, }: CounterProps) => React.ReactElement;
1641
1646
 
1642
1647
  declare type OnChange = ({ isChecked, event, value, }: {
1643
1648
  isChecked: boolean;
@@ -1722,8 +1727,86 @@ declare type CheckboxProps = {
1722
1727
  *
1723
1728
  */
1724
1729
  tabIndex?: number;
1725
- };
1726
- declare const Checkbox: React__default.ForwardRefExoticComponent<CheckboxProps & React__default.RefAttributes<BladeElementRef>>;
1730
+ } & TestID;
1731
+ declare const Checkbox: React__default.ForwardRefExoticComponent<{
1732
+ /**
1733
+ * If `true`, The checkbox will be checked. This also makes the checkbox controlled
1734
+ * Use `onChange` to update its value
1735
+ *
1736
+ * @default false
1737
+ */
1738
+ isChecked?: boolean | undefined;
1739
+ /**
1740
+ * If `true`, the checkbox will be initially checked. This also makes the checkbox uncontrolled
1741
+ *
1742
+ * @default false
1743
+ */
1744
+ defaultChecked?: boolean | undefined;
1745
+ /**
1746
+ * The callback invoked when the checked state of the `Checkbox` changes.
1747
+ */
1748
+ onChange?: OnChange | undefined;
1749
+ /**
1750
+ * Sets the label of the checkbox
1751
+ */
1752
+ children: React__default.ReactNode;
1753
+ /**
1754
+ * Help text for the checkbox
1755
+ */
1756
+ helpText?: string | undefined;
1757
+ /**
1758
+ * Error text for the checkbox
1759
+ *
1760
+ * Renders when `validationState` is set to 'error'
1761
+ */
1762
+ errorText?: string | undefined;
1763
+ /**
1764
+ * If `true`, the checkbox will be indeterminate.
1765
+ * This does not modify the isChecked property.
1766
+ *
1767
+ * @default false
1768
+ */
1769
+ isIndeterminate?: boolean | undefined;
1770
+ /**
1771
+ * The name of the input field in a checkbox
1772
+ * (Useful for form submission).
1773
+ */
1774
+ name?: string | undefined;
1775
+ /**
1776
+ * The value to be used in the checkbox input.
1777
+ * This is the value that will be returned on form submission.
1778
+ */
1779
+ value?: string | undefined;
1780
+ /**
1781
+ * If `true`, the checkbox will be disabled
1782
+ *
1783
+ * @default false
1784
+ */
1785
+ isDisabled?: boolean | undefined;
1786
+ /**
1787
+ * If `true`, the checkbox input is marked as required,
1788
+ * and `required` attribute will be added
1789
+ *
1790
+ * @default false
1791
+ */
1792
+ isRequired?: boolean | undefined;
1793
+ /**
1794
+ * If `error`, the checkbox input is marked as invalid,
1795
+ * and `invalid` attribute will be added
1796
+ */
1797
+ validationState?: "none" | "error" | undefined;
1798
+ /**
1799
+ * Size of the checkbox
1800
+ *
1801
+ * @default "medium"
1802
+ */
1803
+ size?: "small" | "medium" | undefined;
1804
+ /**
1805
+ * Sets the tab-index property on checkbox element
1806
+ *
1807
+ */
1808
+ tabIndex?: number | undefined;
1809
+ } & TestID & React__default.RefAttributes<BladeElementRef>>;
1727
1810
 
1728
1811
  declare type CheckboxGroupProps = {
1729
1812
  /**
@@ -1798,8 +1881,8 @@ declare type CheckboxGroupProps = {
1798
1881
  * @default "medium"
1799
1882
  */
1800
1883
  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;
1884
+ } & TestID;
1885
+ declare const CheckboxGroup: ({ children, label, helpText, isDisabled, necessityIndicator, labelPosition, validationState, errorText, name, defaultValue, onChange, value, size, testID, }: CheckboxGroupProps) => React__default.ReactElement;
1803
1886
 
1804
1887
  declare type DropdownProps = {
1805
1888
  selectionType?: 'single' | 'multiple';
@@ -1835,7 +1918,7 @@ declare const Dropdown: WithComponentId<DropdownProps>;
1835
1918
 
1836
1919
  declare type DropdownOverlayProps = {
1837
1920
  children: React__default.ReactNode;
1838
- };
1921
+ } & TestID;
1839
1922
  /**
1840
1923
  * Overlay of dropdown
1841
1924
  *
@@ -2648,10 +2731,14 @@ declare type BaseInputProps = FormInputLabelProps & FormInputValidationProps & {
2648
2731
  * true if popup is in expanded state
2649
2732
  */
2650
2733
  isPopupExpanded?: boolean;
2651
- };
2734
+ /**
2735
+ * sets the autocapitalize behavior for the input
2736
+ */
2737
+ autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';
2738
+ } & TestID;
2652
2739
 
2653
2740
  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'> & {
2741
+ 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' | 'autoCapitalize' | 'testID'> & {
2655
2742
  /**
2656
2743
  * Decides whether to render a clear icon button
2657
2744
  */
@@ -2675,7 +2762,7 @@ declare type TextInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | '
2675
2762
  */
2676
2763
  type?: Type;
2677
2764
  };
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"> & {
2765
+ declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "name" | "testID" | "placeholder" | "label" | "value" | "autoFocus" | "defaultValue" | "prefix" | "autoCapitalize" | "onFocus" | "onBlur" | "onChange" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & {
2679
2766
  /**
2680
2767
  * Decides whether to render a clear icon button
2681
2768
  */
@@ -2730,10 +2817,10 @@ declare type PasswordInputExtraProps = {
2730
2817
  */
2731
2818
  autoCompleteSuggestionType?: Extract<BaseInputProps['autoCompleteSuggestionType'], 'none' | 'password' | 'newPassword'>;
2732
2819
  };
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>>;
2820
+ declare type PasswordInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'maxCharacters' | 'validationState' | 'errorText' | 'successText' | 'helpText' | 'isDisabled' | 'defaultValue' | 'placeholder' | 'isRequired' | 'value' | 'onChange' | 'onBlur' | 'onFocus' | 'name' | 'autoFocus' | 'keyboardReturnKeyType' | 'autoCompleteSuggestionType' | 'testID'> & PasswordInputExtraProps;
2821
+ declare const PasswordInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "name" | "testID" | "placeholder" | "label" | "value" | "autoFocus" | "defaultValue" | "onFocus" | "onBlur" | "onChange" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "successText" | "isRequired" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & PasswordInputExtraProps & React__default.RefAttributes<BladeElementRef>>;
2735
2822
 
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'> & {
2823
+ declare type TextAreaProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'necessityIndicator' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'placeholder' | 'defaultValue' | 'name' | 'onChange' | 'onFocus' | 'onBlur' | 'value' | 'isDisabled' | 'isRequired' | 'maxCharacters' | 'autoFocus' | 'numberOfLines' | 'testID'> & {
2737
2824
  /**
2738
2825
  * Decides whether to render a clear icon button
2739
2826
  */
@@ -2743,7 +2830,7 @@ declare type TextAreaProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'n
2743
2830
  */
2744
2831
  onClearButtonClick?: () => void;
2745
2832
  };
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"> & {
2833
+ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "name" | "testID" | "placeholder" | "label" | "value" | "autoFocus" | "defaultValue" | "onFocus" | "onBlur" | "onChange" | "numberOfLines" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "maxCharacters"> & {
2747
2834
  /**
2748
2835
  * Decides whether to render a clear icon button
2749
2836
  */
@@ -2754,7 +2841,7 @@ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputP
2754
2841
  onClearButtonClick?: (() => void) | undefined;
2755
2842
  } & React__default.RefAttributes<BladeElementRef>>;
2756
2843
 
2757
- declare type OTPInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'name' | 'onChange' | 'value' | 'isDisabled' | 'autoFocus' | 'keyboardReturnKeyType' | 'keyboardType' | 'placeholder'> & {
2844
+ declare type OTPInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'name' | 'onChange' | 'value' | 'isDisabled' | 'autoFocus' | 'keyboardReturnKeyType' | 'keyboardType' | 'placeholder' | 'testID'> & {
2758
2845
  /**
2759
2846
  * Determines the number of input fields to show for the OTP
2760
2847
  * @default 6
@@ -2797,9 +2884,9 @@ declare type OTPInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'v
2797
2884
  * />
2798
2885
  * ```
2799
2886
  */
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;
2887
+ declare const OTPInput: ({ autoFocus, errorText, helpText, isDisabled, keyboardReturnKeyType, keyboardType, label, labelPosition, name, onChange, onOTPFilled, otpLength, placeholder, successText, validationState, value, isMasked, autoCompleteSuggestionType, testID, }: OTPInputProps) => React__default.ReactElement;
2801
2888
 
2802
- declare type SelectInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'necessityIndicator' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'name' | 'isDisabled' | 'isRequired' | 'prefix' | 'suffix' | 'autoFocus' | 'onClick' | 'onFocus' | 'onBlur' | 'placeholder'> & {
2889
+ declare type SelectInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'necessityIndicator' | 'validationState' | 'helpText' | 'errorText' | 'successText' | 'name' | 'isDisabled' | 'isRequired' | 'prefix' | 'suffix' | 'autoFocus' | 'onClick' | 'onFocus' | 'onBlur' | 'placeholder' | 'testID'> & {
2803
2890
  icon?: IconComponent$1;
2804
2891
  onChange?: ({ name, values }: {
2805
2892
  name?: string;
@@ -2833,7 +2920,7 @@ declare type SelectInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' |
2833
2920
  *
2834
2921
  * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select SelectInput Documentation}.
2835
2922
  */
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"> & {
2923
+ declare const SelectInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "name" | "testID" | "placeholder" | "label" | "autoFocus" | "prefix" | "onFocus" | "onBlur" | "onClick" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix"> & {
2837
2924
  icon?: IconComponent$1 | undefined;
2838
2925
  onChange?: (({ name, values }: {
2839
2926
  name?: string | undefined;
@@ -2854,7 +2941,7 @@ declare type IndicatorCommonProps = {
2854
2941
  * @default medium
2855
2942
  */
2856
2943
  size?: 'small' | 'medium' | 'large';
2857
- };
2944
+ } & TestID;
2858
2945
  declare type IndicatorWithoutA11yLabel = {
2859
2946
  /**
2860
2947
  * A text label to show alongside the indicator dot
@@ -2876,7 +2963,7 @@ declare type IndicatorWithA11yLabel = {
2876
2963
  children?: StringChildrenType;
2877
2964
  };
2878
2965
  declare type IndicatorProps = IndicatorCommonProps & (IndicatorWithA11yLabel | IndicatorWithoutA11yLabel);
2879
- declare const Indicator: ({ accessibilityLabel, children, size, intent, }: IndicatorProps) => ReactElement;
2966
+ declare const Indicator: ({ accessibilityLabel, children, size, intent, testID, }: IndicatorProps) => ReactElement;
2880
2967
 
2881
2968
  declare type ListItemProps = {
2882
2969
  /**
@@ -2894,9 +2981,9 @@ declare type ListItemProps = {
2894
2981
  *
2895
2982
  */
2896
2983
  _itemNumber?: undefined;
2897
- };
2984
+ } & TestID;
2898
2985
  declare const ListItem: {
2899
- ({ children, icon, _itemNumber }: ListItemProps): React__default.ReactElement;
2986
+ ({ children, icon, _itemNumber, testID, }: ListItemProps): React__default.ReactElement;
2900
2987
  componentId: string;
2901
2988
  };
2902
2989
 
@@ -2918,7 +3005,7 @@ declare type ListCommonProps = {
2918
3005
  * @default 'medium'
2919
3006
  */
2920
3007
  size?: 'small' | 'medium';
2921
- };
3008
+ } & TestID;
2922
3009
  declare type ListWithIconProps = ListCommonProps & {
2923
3010
  variant?: 'unordered';
2924
3011
  icon?: IconComponent;
@@ -2949,13 +3036,13 @@ declare type ListProps = ListWithIconProps | ListWithoutIconProps;
2949
3036
  * ```
2950
3037
  */
2951
3038
  declare const List: {
2952
- ({ variant, size, children, icon }: ListProps): React__default.ReactElement;
3039
+ ({ variant, size, children, icon, testID, }: ListProps): React__default.ReactElement;
2953
3040
  componentId: string;
2954
3041
  };
2955
3042
 
2956
3043
  declare type ListItemLinkProps = Exclude<LinkProps, 'size' | 'variant' | 'isDisabled'>;
2957
3044
  declare const ListItemLink: {
2958
- ({ accessibilityLabel, children, href, icon, iconPosition, onClick, rel, target, }: ListItemLinkProps): React.ReactElement;
3045
+ ({ accessibilityLabel, children, href, icon, iconPosition, onClick, rel, target, testID, }: ListItemLinkProps): React.ReactElement;
2959
3046
  componentId: string;
2960
3047
  };
2961
3048
 
@@ -2964,8 +3051,8 @@ declare type TitleProps = {
2964
3051
  contrast?: ColorContrastTypes;
2965
3052
  type?: TextTypes;
2966
3053
  children: StringChildrenType;
2967
- };
2968
- declare const Title: ({ size, type, contrast, children, }: TitleProps) => ReactElement;
3054
+ } & TestID;
3055
+ declare const Title: ({ size, type, contrast, children, testID, }: TitleProps) => ReactElement;
2969
3056
 
2970
3057
  declare type HeadingVariant = 'regular' | 'subheading';
2971
3058
  declare type HeadingSize = 'small' | 'medium' | 'large';
@@ -2973,7 +3060,7 @@ declare type HeadingCommonProps = {
2973
3060
  type?: TextTypes;
2974
3061
  contrast?: ColorContrastTypes;
2975
3062
  children: StringChildrenType;
2976
- };
3063
+ } & TestID;
2977
3064
  declare type HeadingNormalVariant = HeadingCommonProps & {
2978
3065
  variant?: Exclude<HeadingVariant, 'subheading'>;
2979
3066
  /**
@@ -3000,7 +3087,7 @@ declare type HeadingProps<T> = T extends {
3000
3087
  } ? Variant extends Exclude<HeadingVariant, 'subheading'> ? HeadingNormalVariant : Variant extends 'subheading' ? HeadingSubHeadingVariant : T : T;
3001
3088
  declare const Heading: <T extends {
3002
3089
  variant: HeadingVariant;
3003
- }>({ variant, size, type, weight, contrast, children, }: HeadingProps<T>) => ReactElement;
3090
+ }>({ variant, size, type, weight, contrast, children, testID, }: HeadingProps<T>) => ReactElement;
3004
3091
 
3005
3092
  declare type FeedbackColors = `feedback.text.${DotNotationColorStringToken<Theme$1['colors']['feedback']['text']>}`;
3006
3093
  declare type FeedbackActionColors = `feedback.${Feedback}.action.text.${DotNotationColorStringToken<Theme$1['colors']['feedback'][Feedback]['action']['text']>}`;
@@ -3031,7 +3118,7 @@ declare type BaseTextProps = {
3031
3118
  */
3032
3119
  numberOfLines?: number;
3033
3120
  componentName?: 'text' | 'title' | 'heading' | 'code';
3034
- };
3121
+ } & TestID;
3035
3122
 
3036
3123
  declare type TextCommonProps = {
3037
3124
  type?: TextTypes;
@@ -3043,7 +3130,8 @@ declare type TextCommonProps = {
3043
3130
  * **For Internal use only**: Sets the color of the Text component
3044
3131
  */
3045
3132
  color?: BaseTextProps['color'];
3046
- };
3133
+ textAlign?: BaseTextProps['textAlign'];
3134
+ } & TestID;
3047
3135
  declare type TextVariant = 'body' | 'caption';
3048
3136
  declare type TextBodyVariant = TextCommonProps & {
3049
3137
  variant?: Extract<TextVariant, 'body'>;
@@ -3065,10 +3153,10 @@ declare type TextForwardedAs = {
3065
3153
  };
3066
3154
  declare const getTextProps: <T extends {
3067
3155
  variant: TextVariant;
3068
- }>({ variant, type, weight, size, contrast, }: Pick<TextProps<T>, "size" | "variant" | "type" | "weight" | "contrast">) => Omit<BaseTextProps, 'children'> & TextForwardedAs;
3156
+ }>({ variant, type, weight, size, contrast, testID, textAlign, }: Pick<TextProps<T>, "testID" | "size" | "variant" | "type" | "weight" | "textAlign" | "contrast">) => Omit<BaseTextProps, 'children'> & TextForwardedAs;
3069
3157
  declare const Text: <T extends {
3070
3158
  variant: TextVariant;
3071
- }>({ variant, weight, size, type, contrast, truncateAfterLines, children, color, }: TextProps<T>) => ReactElement;
3159
+ }>({ variant, weight, size, type, contrast, truncateAfterLines, children, color, testID, textAlign, }: TextProps<T>) => ReactElement;
3072
3160
 
3073
3161
  declare type CodeProps = {
3074
3162
  children: StringChildrenType;
@@ -3078,7 +3166,7 @@ declare type CodeProps = {
3078
3166
  * @default small
3079
3167
  */
3080
3168
  size?: 'small' | 'medium';
3081
- };
3169
+ } & TestID;
3082
3170
  /**
3083
3171
  * Code component can be used for displaying token, variable names, or inlined code snippets.
3084
3172
  *
@@ -3105,11 +3193,11 @@ declare type CodeProps = {
3105
3193
  * </BaseBox>
3106
3194
  * ```
3107
3195
  */
3108
- declare const Code: ({ children, size }: CodeProps) => JSX.Element;
3196
+ declare const Code: ({ children, size, testID }: CodeProps) => JSX.Element;
3109
3197
 
3110
3198
  declare type ListItemCodeProps = Exclude<CodeProps, 'size'>;
3111
3199
  declare const ListItemCode: {
3112
- ({ children }: ListItemCodeProps): React.ReactElement;
3200
+ ({ children, testID }: ListItemCodeProps): React.ReactElement;
3113
3201
  componentId: string;
3114
3202
  };
3115
3203
 
@@ -3166,7 +3254,7 @@ declare type ProgressBarCommonProps = {
3166
3254
  * @default 100
3167
3255
  */
3168
3256
  max?: number;
3169
- };
3257
+ } & TestID;
3170
3258
  declare type ProgressBarVariant = 'progress' | 'meter';
3171
3259
  declare type ProgressBarProgressProps = ProgressBarCommonProps & {
3172
3260
  /**
@@ -3203,7 +3291,7 @@ declare type ProgressBarMeterProps = ProgressBarCommonProps & {
3203
3291
  showPercentage?: undefined;
3204
3292
  };
3205
3293
  declare type ProgressBarProps = ProgressBarProgressProps | ProgressBarMeterProps;
3206
- declare const ProgressBar: ({ accessibilityLabel, contrast, intent, isIndeterminate, label, showPercentage, size, value, variant, min, max, }: ProgressBarProps) => ReactElement;
3294
+ declare const ProgressBar: ({ accessibilityLabel, contrast, intent, isIndeterminate, label, showPercentage, size, value, variant, min, max, testID, }: ProgressBarProps) => ReactElement;
3207
3295
 
3208
3296
  declare type RadioProps = {
3209
3297
  /**
@@ -3231,8 +3319,34 @@ declare type RadioProps = {
3231
3319
  * @default "medium"
3232
3320
  */
3233
3321
  size?: 'small' | 'medium';
3234
- };
3235
- declare const Radio: React__default.ForwardRefExoticComponent<RadioProps & React__default.RefAttributes<BladeElementRef>>;
3322
+ } & TestID;
3323
+ declare const Radio: React__default.ForwardRefExoticComponent<{
3324
+ /**
3325
+ * Sets the label text of the Radio
3326
+ */
3327
+ children: StringChildrenType;
3328
+ /**
3329
+ * Help text for the Radio
3330
+ */
3331
+ helpText?: string | undefined;
3332
+ /**
3333
+ * The value to be used in the Radio input.
3334
+ * This is the value that will be returned on form submission.
3335
+ */
3336
+ value: string;
3337
+ /**
3338
+ * If `true`, the Radio will be disabled
3339
+ *
3340
+ * @default false
3341
+ */
3342
+ isDisabled?: boolean | undefined;
3343
+ /**
3344
+ * Size of the radios
3345
+ *
3346
+ * @default "medium"
3347
+ */
3348
+ size?: "small" | "medium" | undefined;
3349
+ } & TestID & React__default.RefAttributes<BladeElementRef>>;
3236
3350
 
3237
3351
  declare type RadioGroupProps = {
3238
3352
  /**
@@ -3307,8 +3421,8 @@ declare type RadioGroupProps = {
3307
3421
  * @default "medium"
3308
3422
  */
3309
3423
  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;
3424
+ } & TestID;
3425
+ declare const RadioGroup: ({ children, label, helpText, isDisabled, necessityIndicator, labelPosition, validationState, errorText, name, defaultValue, onChange, value, size, testID, }: RadioGroupProps) => React__default.ReactElement;
3312
3426
 
3313
3427
  declare type BaseSpinnerProps = {
3314
3428
  intent?: Feedback;
@@ -3340,10 +3454,10 @@ declare type BaseSpinnerProps = {
3340
3454
  *
3341
3455
  */
3342
3456
  accessibilityLabel: string;
3343
- };
3457
+ } & TestID;
3344
3458
 
3345
3459
  declare type SpinnerProps = Omit<BaseSpinnerProps, 'intent'>;
3346
- declare const Spinner: ({ label, labelPosition, accessibilityLabel, contrast, size, }: SpinnerProps) => React.ReactElement;
3460
+ declare const Spinner: ({ label, labelPosition, accessibilityLabel, contrast, size, testID, }: SpinnerProps) => React.ReactElement;
3347
3461
 
3348
3462
  declare type SkipNavLinkProps = {
3349
3463
  id?: string;
@@ -3352,14 +3466,14 @@ declare type SkipNavLinkProps = {
3352
3466
  declare const SkipNavLink: ({ id, children, }: SkipNavLinkProps) => JSX.Element;
3353
3467
  declare type SkipNavContentProps = {
3354
3468
  id?: string;
3355
- };
3356
- declare const SkipNavContent: ({ id }: SkipNavContentProps) => JSX.Element;
3469
+ } & TestID;
3470
+ declare const SkipNavContent: ({ id, testID, }: SkipNavContentProps) => JSX.Element;
3357
3471
 
3358
3472
  declare type VisuallyHiddenProps = {
3359
3473
  children: React.ReactNode;
3360
- };
3474
+ } & TestID;
3361
3475
 
3362
- declare const VisuallyHidden: ({ children }: VisuallyHiddenProps) => JSX.Element;
3476
+ declare const VisuallyHidden: ({ children, testID }: VisuallyHiddenProps) => JSX.Element;
3363
3477
 
3364
3478
  /**
3365
3479
  * Screen reader class adapted from webaim