@razorpay/blade 8.12.0 → 8.13.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.
@@ -2,7 +2,7 @@
2
2
  import * as React$1 from 'react';
3
3
  import React__default, { ReactChild, ReactElement, ReactNode, SyntheticEvent, KeyboardEvent } from 'react';
4
4
  import * as react_native from 'react-native';
5
- import { AccessibilityRole, ViewStyle, ImageSourcePropType, View, GestureResponderEvent, PressableProps } from 'react-native';
5
+ import { View, ViewStyle, AccessibilityRole, ImageSourcePropType, GestureResponderEvent, PressableProps } from 'react-native';
6
6
  import { CSSObject } from 'styled-components';
7
7
  import { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';
8
8
  import { UseFloatingOptions } from '@floating-ui/react';
@@ -443,1371 +443,1382 @@ type ThemeTokens = {
443
443
  typography: TypographyWithPlatforms;
444
444
  };
445
445
 
446
- // All the WAI-ARIA 1.1 role attribute values from https://www.w3.org/TR/wai-aria-1.1/#role_definitions
447
- type AriaRoles =
448
- | Exclude<AccessibilityRole, 'header' | 'adjustable' | 'image' | 'none' | 'summary'>
449
- | 'alert'
450
- | 'alertdialog'
451
- | 'application'
452
- | 'article'
453
- | 'banner'
454
- | 'button'
455
- | 'cell'
456
- | 'checkbox'
457
- | 'columnheader'
458
- | 'combobox'
459
- | 'complementary'
460
- | 'contentinfo'
461
- | 'definition'
462
- | 'dialog'
463
- | 'directory'
464
- | 'document'
465
- | 'feed'
466
- | 'figure'
467
- | 'form'
468
- | 'grid'
469
- | 'gridcell'
470
- | 'group'
471
- | 'heading'
472
- | 'img'
473
- | 'link'
474
- | 'list'
475
- | 'listbox'
476
- | 'listitem'
477
- | 'log'
478
- | 'main'
479
- | 'marquee'
480
- | 'math'
481
- | 'menu'
482
- | 'menubar'
483
- | 'menuitem'
484
- | 'menuitemcheckbox'
485
- | 'menuitemradio'
486
- | 'meter'
487
- | 'navigation'
488
- | 'none'
489
- | 'note'
490
- | 'option'
491
- | 'presentation'
492
- | 'progressbar'
493
- | 'radio'
494
- | 'radiogroup'
495
- | 'region'
496
- | 'row'
497
- | 'rowgroup'
498
- | 'rowheader'
499
- | 'scrollbar'
500
- | 'search'
501
- | 'searchbox'
502
- | 'separator'
503
- | 'slider'
504
- | 'spinbutton'
505
- | 'status'
506
- | 'switch'
507
- | 'tab'
508
- | 'table'
509
- | 'tablist'
510
- | 'tabpanel'
511
- | 'term'
512
- | 'textbox'
513
- | 'timer'
514
- | 'toolbar'
515
- | 'tooltip'
516
- | 'tree'
517
- | 'treegrid'
518
- | 'treeitem';
519
- type AccessibilityProps = AriaAttributes;
446
+ /* eslint-disable @typescript-eslint/no-explicit-any */
520
447
 
521
- type AriaAttributes = {
522
- role: AriaRoles;
523
- /**
524
- * Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.
525
- */
526
- activeDescendant?: string;
527
- /**
528
- * Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.
529
- */
530
- atomic?: boolean;
531
- /**
532
- * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made.
533
- */
534
- autoComplete?: 'none' | 'inline' | 'list' | 'both';
535
- /**
536
- * Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.
537
- */
538
- busy?: boolean;
539
- /**
540
- * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
541
- * @see aria-pressed @see aria-selected.
542
- */
543
- checked?: boolean | 'mixed';
544
- /**
545
- * Defines the total number of columns in a table, grid, or treegrid.
546
- * @see aria-colindex.
547
- */
548
- colCount?: number;
549
- /**
550
- * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
551
- * @see aria-colcount @see aria-colspan.
552
- */
553
- colIndex?: number;
554
- /**
555
- * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
556
- * @see aria-colindex @see aria-rowspan.
557
- */
558
- colSpan?: number;
559
- /**
560
- * Identifies the element (or elements) whose contents or presence are controlled by the current element.
561
- * @see aria-owns.
562
- */
563
- controls?: string;
564
- /**
565
- * Indicates the element that represents the current item within a container or set of related elements.
566
- */
567
- current?: boolean | 'page' | 'step' | 'location' | 'date' | 'time';
568
- /**
569
- * Identifies the element (or elements) that describes the object.
570
- * @see aria-labelledby
571
- */
572
- describedBy?: string;
573
- /**
574
- * Identifies the element that provides a detailed, extended description for the object.
575
- * @see aria-describedby.
576
- */
577
- details?: string;
578
- /**
579
- * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
580
- * @see aria-hidden @see aria-readonly.
581
- */
582
- disabled?: boolean;
583
- /**
584
- * Indicates what functions can be performed when a dragged object is released on the drop target.
585
- * @deprecated in ARIA 1.1
586
- */
587
- dropEffect?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup';
588
- /**
589
- * Identifies the element that provides an error message for the object.
590
- * @see aria-invalid @see aria-describedby.
591
- */
592
- errorMessage?: string;
593
- /**
594
- * Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.
595
- */
596
- expanded?: boolean;
597
- /**
598
- * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
599
- * allows assistive technology to override the general default of reading in document source order.
600
- */
601
- flowTo?: string;
602
- /**
603
- * Indicates an element's "grabbed" state in a drag-and-drop operation.
604
- * @deprecated in ARIA 1.1
605
- */
606
- grabbed?: boolean;
607
- /**
608
- * Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.
609
- */
610
- hasPopup?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
611
- /**
612
- * Indicates whether the element is exposed to an accessibility API.
613
- * @see aria-disabled.
614
- */
615
- hidden?: boolean;
616
- /**
617
- * Indicates the entered value does not conform to the format expected by the application.
618
- * @see aria-errormessage.
619
- */
620
- invalid?: boolean | 'grammar' | 'spelling';
621
- /**
622
- * Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.
623
- */
624
- keyShortcuts?: string;
625
- /**
626
- * Defines a string value that labels the current element.
627
- * @see aria-labelledby.
628
- */
629
- label?: string;
630
- /**
631
- * Identifies the element (or elements) that labels the current element.
632
- * @see aria-describedby.
633
- */
634
- labelledBy?: string;
635
- /**
636
- * Defines the hierarchical level of an element within a structure.
637
- */
638
- level?: number;
639
- /**
640
- * Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.
641
- */
642
- liveRegion?: 'off' | 'assertive' | 'polite';
643
- /**
644
- * Indicates whether an element is modal when displayed.
645
- */
646
- modal?: boolean;
647
- /**
648
- * Indicates whether a text box accepts multiple lines of input or only a single line.
649
- */
650
- multiline?: boolean;
651
- /**
652
- * Indicates that the user may select more than one item from the current selectable descendants.
653
- */
654
- multiSelectable?: boolean;
655
- /**
656
- * Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.
657
- */
658
- orientation?: 'horizontal' | 'vertical';
659
- /**
660
- * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
661
- * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
662
- * @see aria-controls.
663
- */
664
- owns?: string;
665
- /**
666
- * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
667
- * A hint could be a sample value or a brief description of the expected format.
668
- */
669
- placeholder?: string;
670
- /**
671
- * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
672
- * @see aria-setsize.
673
- */
674
- posInSet?: number;
675
- /**
676
- * Indicates the current "pressed" state of toggle buttons.
677
- * @see aria-checked @see aria-selected.
678
- */
679
- pressed?: boolean | 'mixed';
448
+ /**
449
+ * Brands a type making them act as nominal
450
+ * @see https://medium.com/@KevinBGreene/surviving-the-typescript-ecosystem-branding-and-type-tagging-6cf6e516523d
451
+ */
452
+ type Brand<Type, Name extends string> = Type & { __brand__?: Name };
453
+
454
+ type NativeOrWebBrand = Brand<any, 'native' | 'web'>;
455
+
456
+ /* eslint-disable @typescript-eslint/no-namespace */
457
+
458
+
459
+ declare namespace Platform {
460
+ export type Name = 'native';
680
461
  /**
681
- * Indicates that the element is not editable, but is otherwise operable.
682
- * @see aria-disabled.
462
+ * Right now, the module resolution is set to resolve `.native` files,
463
+ *
464
+ * Thus Platform.Select<> type will return the `native` type
683
465
  */
684
- readOnly?: boolean;
466
+ export type Select<Options extends { web: unknown; native: unknown }> = Brand<
467
+ Options[Name],
468
+ 'platform-native'
469
+ >;
470
+
471
+ export type CastNative<T extends NativeOrWebBrand | undefined> = Extract<
472
+ T,
473
+ { __brand__?: 'platform-native' | 'platform-all' }
474
+ >;
475
+
476
+ export type CastWeb<T extends NativeOrWebBrand | undefined> = Extract<
477
+ T,
478
+ { __brand__?: 'platform-web' | 'platform-all' }
479
+ >;
480
+ }
481
+
482
+ type Duration = {
483
+ /** `70` milliseconds */
484
+ '2xquick': 70;
485
+ /** `150` milliseconds */
486
+ xquick: 150;
487
+ /** `200` milliseconds */
488
+ quick: 200;
489
+ /** `250` milliseconds */
490
+ moderate: 250;
491
+ /** `300` milliseconds */
492
+ xmoderate: 300;
493
+ /** `400` milliseconds */
494
+ gentle: 400;
495
+ /** `600` milliseconds */
496
+ xgentle: 600;
497
+ /** `900` milliseconds */
498
+ '2xgentle': 900;
499
+ };
500
+
501
+ type Delay = {
502
+ /** `70` milliseconds */
503
+ '2xshort': 70;
504
+ /** `120` milliseconds */
505
+ xshort: 120;
506
+ /** `180` milliseconds */
507
+ short: 180;
508
+ /** `3000` milliseconds */
509
+ long: 3000;
510
+ /** `5000` milliseconds */
511
+ xlong: 5000;
512
+ };
513
+
514
+ type EasingFunctionFactory = { factory: () => (value: number) => number }; // similar to EasingFunctionFactory of `react-native-reanimated`
515
+ type EasingType<Value extends string> = Platform.Select<{
516
+ web: Value;
517
+ native: EasingFunctionFactory;
518
+ }>;
519
+
520
+ type Easing = {
521
+ /** Easings for all standard animations*/
522
+ standard: {
523
+ /** `cubic-bezier(0.5, 0, 0.3, 1.5)`
524
+ *
525
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
526
+ attentive: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;
527
+ /** `cubic-bezier(0.3, 0, 0.2, 1)`
528
+ *
529
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
530
+ effective: EasingType<'cubic-bezier(0.3, 0, 0.2, 1)'>;
531
+ /** `cubic-bezier(0.5, 0, 0, 1)`
532
+ *
533
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
534
+ revealing: EasingType<'cubic-bezier(0.5, 0, 0, 1)'>;
535
+ /** `cubic-bezier(1, 0.5, 0, 0.5)`
536
+ *
537
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
538
+ wary: EasingType<'cubic-bezier(1, 0.5, 0, 0.5)'>;
539
+ };
540
+ /** Easings for all entrance animations*/
541
+ entrance: {
542
+ /** `cubic-bezier(0.5, 0, 0.3, 1.5)`
543
+ *
544
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
545
+ attentive: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;
546
+ /** `cubic-bezier(0, 0, 0.2, 1)`
547
+ *
548
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
549
+ effective: EasingType<'cubic-bezier(0, 0, 0.2, 1)'>;
550
+ /** `cubic-bezier(0, 0, 0, 1)`
551
+ *
552
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
553
+ revealing: EasingType<'cubic-bezier(0, 0, 0, 1)'>;
554
+ };
555
+ /** Easings for all exit animations*/
556
+ exit: {
557
+ /** `cubic-bezier(0.7, 0, 0.5, 1)`
558
+ *
559
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
560
+ attentive: EasingType<'cubic-bezier(0.7, 0, 0.5, 1)'>;
561
+ /** `cubic-bezier(0.17, 0, 1, 1)`
562
+ *
563
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
564
+ effective: EasingType<'cubic-bezier(0.17, 0, 1, 1)'>;
565
+ /** `cubic-bezier(0.5, 0, 1, 1)`
566
+ *
567
+ * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
568
+ revealing: EasingType<'cubic-bezier(0.5, 0, 1, 1)'>;
569
+ };
570
+ };
571
+
572
+ type Motion = Readonly<{
573
+ delay: Delay;
574
+ duration: Duration;
575
+ easing: Easing;
576
+ }>;
577
+
578
+ type ElevationLevels = 'none' | 'lowRaised' | 'midRaised' | 'highRaised';
579
+
580
+ type ElevationStyles = Readonly<{
581
+ elevation: number;
582
+ shadowColor: string;
583
+ shadowOpacity: number;
584
+ shadowRadius: number;
585
+ shadowOffset: {
586
+ /**
587
+ * x-axis
588
+ */
589
+ width: number;
590
+ /**
591
+ * y-axis
592
+ */
593
+ height: number;
594
+ };
595
+ }>;
596
+
597
+ type Elevation = Record<
598
+ ElevationLevels,
599
+ Platform.Select<{
600
+ web: string;
601
+ native: ElevationStyles;
602
+ }>
603
+ >;
604
+
605
+ type ElevationWithColorModes = Record<ColorSchemeModes, Elevation>;
606
+
607
+ /* eslint-disable @typescript-eslint/no-explicit-any */
608
+
609
+
610
+ /**
611
+ * @template TokenType token type generic
612
+ * @description Tokenises objects to dot notation strings, eg: `surface.text.normal.lowContrast`
613
+ */
614
+ type DotNotationColorStringToken<TokenType> = {
615
+ [K in keyof TokenType]: `${Extract<K, number | string>}.${TokenType[K] extends Record<
616
+ string,
617
+ string
618
+ >
619
+ ? Extract<keyof TokenType[K], number | string>
620
+ : DotNotationColorStringToken<TokenType[K]>}`;
621
+ }[keyof TokenType];
622
+
623
+ type DotNotationSpacingStringToken = `spacing.${keyof Spacing}`;
624
+
625
+ /**
626
+ * Use this when you want children to be string.
627
+ *
628
+ * This covers scenarios like
629
+ * ```jsx
630
+ * <Title>Hi</Title>
631
+ * <Title>{dynamicVariable} something</Title>
632
+ * ```
633
+ *
634
+ *
635
+ * ### Usage
636
+ *
637
+ * ```ts
638
+ * import type { StringChildrenType } from '~helpers/types';
639
+ *
640
+ * type MyProps = {
641
+ * children: StringChildrenType;
642
+ * }
643
+ * ```
644
+ */
645
+ type StringChildrenType = React__default.ReactText | React__default.ReactText[];
646
+
647
+ /**
648
+ *
649
+ * When combined with union, this type utility will give you autocomplete of union while still supporting any string value as input
650
+ *
651
+ * ### Usage
652
+ *
653
+ * ```ts
654
+ * type ThemeName = 'paymentTheme' | 'bankingTheme' | StringWithAutocomplete;
655
+ * ```
656
+ *
657
+ * This will show paymentTheme and bankingTheme in autocomplete but also allow any other string as value.
658
+ *
659
+ * More details - https://github.com/razorpay/blade/pull/1031/commits/86b6ee0facf45e7556739efcbfa5396b11b1b3c9#r1121298293
660
+ * Related TS Issue - https://github.com/microsoft/TypeScript/issues/29729
661
+ *
662
+ */
663
+ type StringWithAutocomplete = string & Record<never, never>;
664
+
665
+ type TestID = {
666
+ testID?: string;
667
+ };
668
+
669
+ /**
670
+ * Similar to `Pick` except this returns `never` when value doesn't exist (native `Pick` returns `unknown`).
671
+ *
672
+ * You might have to ts-ignore the non-existing type error while using this. This is done so that you can get jsdoc from actual type.
673
+ *
674
+ * E.g. This will pick from ViewStyle prop if value exists else returns undefined.
675
+ *
676
+ * ```ts
677
+ * // @ts-expect-error: T passed here may not neccessarily exist. We return `never` type when it doesn't
678
+ * native: PickIfExist<ViewStyle, T>;
679
+ * ```
680
+ */
681
+ type PickIfExist<T, K extends keyof T> = {
682
+ [P in K]: P extends keyof T ? T[P] : never;
683
+ };
684
+
685
+ /**
686
+ * Picks the types based on the platform (web / native).
687
+ *
688
+ * E.g.
689
+ * ```ts
690
+ * type CSSObject = PickCSSByPlatform<'display'>
691
+ * // On Web --> This will be all possible web display properties like `block`, `flex`, `inline`, and more.
692
+ * // On Native --> This will be just `flex` and `none`
693
+ * ```
694
+ */
695
+ type PickCSSByPlatform<T extends keyof React__default.CSSProperties | keyof ViewStyle> = Platform.Select<{
696
+ web: PickIfExist<CSSObject, T>;
697
+ // @ts-expect-error: T passed here may not neccessarily exist. We return `never` type when it doesn't
698
+ native: PickIfExist<ViewStyle, T>;
699
+ }>;
700
+
701
+ type BladeElementRef = Platform.Select<{
702
+ web:
703
+ | Pick<HTMLElement, 'focus' | 'scrollIntoView' | 'getBoundingClientRect' | 'clientHeight'>
704
+ | Pick<View, 'focus'>;
705
+ native: React__default.MutableRefObject<any>;
706
+ }>;
707
+
708
+ declare type ActionListContextProp = Pick<ActionListProps, 'surfaceLevel'>;
709
+ declare const useActionListContext: () => ActionListContextProp;
710
+ declare type ActionListProps = {
711
+ children: React__default.ReactNode[];
712
+ /**
713
+ * Decides the backgroundColor of ActionList
714
+ */
715
+ surfaceLevel?: Exclude<SurfaceLevels, 1>;
716
+ } & TestID;
717
+ declare const ActionList: React__default.MemoExoticComponent<({ children, surfaceLevel, testID }: ActionListProps) => JSX.Element>;
718
+
719
+ type Theme$1 = {
720
+ name: ThemeTokens['name'];
721
+ border: Border;
722
+ breakpoints: Breakpoints;
723
+ colors: Colors;
724
+ spacing: Spacing;
725
+ motion: Motion;
726
+ elevation: Elevation;
727
+ typography: Typography;
728
+ };
729
+
730
+ /**
731
+ * Returns the value or the responsive object with that value
732
+ *
733
+ * ## Usage
734
+ *
735
+ * Example if you pass string argument, return type will be string or responsive object with string value
736
+ *
737
+ * `MakeValueResponsive<string>`
738
+ * ```ts
739
+ * string |
740
+ * {
741
+ * base?: string;
742
+ * xs?: string;
743
+ * s?: string;
744
+ * // ... other breakpoints
745
+ * }
746
+ * ```
747
+ *
748
+ */
749
+ // When type is `never`, we just want to return `never` rather than { base: never, ...etc } since that prop is intended to be never used
750
+ // Explaination of [T] extends [never] -> https://stackoverflow.com/questions/65492464/typescript-never-type-condition
751
+ type MakeValueResponsive$1<T> = [T] extends [never]
752
+ ? never
753
+ :
754
+ | T
755
+ | {
756
+ // Using this instead of Record to maintain the jsdoc from breakpoints.ts
757
+ [P in keyof Breakpoints]?: T;
758
+ };
759
+
760
+ /**
761
+ * Turns all the values in object into responsive object.
762
+ *
763
+ * ```ts
764
+ * MakeObjectResponsive<{ hello: string}>
765
+ *
766
+ * // Outputs:
767
+ * {
768
+ * hello: string | {
769
+ * base?: string;
770
+ * xs?: string;
771
+ * s?: string;
772
+ * // ... other breakpoints
773
+ * }
774
+ * }
775
+ * ```
776
+ */
777
+ type MakeObjectResponsive$1<
778
+ T,
779
+ // using this workaround to preserve the jsdocs
780
+ // https://github.com/microsoft/TypeScript/issues/31992
781
+ K extends keyof T = Extract<keyof T, string>
782
+ > = {
783
+ [P in K]: MakeValueResponsive$1<T[P]>;
784
+ };
785
+
786
+ type ArrayOfMaxLength4$1<T> = readonly [T?, T?, T?, T?];
787
+ type SpaceUnits$1 = 'px' | '%' | 'fr' | 'rem' | 'em' | 'vh' | 'vw';
788
+
789
+ type SpacingValueType$1 =
790
+ | DotNotationSpacingStringToken
791
+ | `${string}${SpaceUnits$1}`
792
+ | `calc(${string})`
793
+ | 'auto'
794
+ | `min(${string})`
795
+ | `max(${string})`
796
+ | 'none'
797
+ | 'initial'
798
+ | 'fit-content'
799
+ | 'max-content'
800
+ | 'min-content';
801
+
802
+ /**
803
+ * @IMPORTANT
804
+ *
805
+ * 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.
806
+ *
807
+ * 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
808
+ *
809
+ * Checkout example of find and replace query-
810
+ * {@link https://user-images.githubusercontent.com/30949385/221802507-40c7adbc-484a-47b3-9035-ae1e97080b51.png}
811
+ *
812
+ */
813
+
814
+ type PaddingProps$1 = MakeObjectResponsive$1<{
685
815
  /**
686
- * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
687
- * @see aria-atomic.
816
+ * ### Padding Shorthand
817
+ *
818
+ * #### Usage
819
+ *
820
+ * ```jsx
821
+ * padding="spacing.3"
822
+ * padding="20px"
823
+ * padding={["spacing.3", "spacing.1", "spacing.0", "10px"]}
824
+ * ```
825
+ *
826
+ * ---
827
+ * #### Spacing to Pixel values
828
+ *
829
+ * - `spacing.0` - 0px
830
+ * - `spacing.1` - 2px
831
+ * - `spacing.2` - 4px
832
+ * - `spacing.3` - 8px
833
+ * - `spacing.4` - 12px
834
+ * - `spacing.5` - 16px
835
+ * - `spacing.6` - 20px
836
+ * - `spacing.7` - 24px
837
+ * - `spacing.8` - 32px
838
+ * - `spacing.9` - 40px
839
+ * - `spacing.10` - 48px
840
+ * - `spacing.11` - 56px
841
+ *
842
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
843
+ *
688
844
  */
689
- relevant?:
690
- | 'additions'
691
- | 'additions removals'
692
- | 'additions text'
693
- | 'all'
694
- | 'removals'
695
- | 'removals additions'
696
- | 'removals text'
697
- | 'text'
698
- | 'text additions'
699
- | 'text removals';
845
+ padding: SpacingValueType$1 | ArrayOfMaxLength4$1<SpacingValueType$1>;
700
846
  /**
701
- * Indicates that user input is required on the element before a form may be submitted.
847
+ * ### Padding Horizontal
848
+ *
849
+ * #### Usage
850
+ *
851
+ * ```jsx
852
+ * paddingX="spacing.3"
853
+ * paddingX="20px"
854
+ * ```
855
+ *
856
+ * ---
857
+ * #### Spacing to Pixel values
858
+ *
859
+ * - `spacing.0` - 0px
860
+ * - `spacing.1` - 2px
861
+ * - `spacing.2` - 4px
862
+ * - `spacing.3` - 8px
863
+ * - `spacing.4` - 12px
864
+ * - `spacing.5` - 16px
865
+ * - `spacing.6` - 20px
866
+ * - `spacing.7` - 24px
867
+ * - `spacing.8` - 32px
868
+ * - `spacing.9` - 40px
869
+ * - `spacing.10` - 48px
870
+ * - `spacing.11` - 56px
871
+ *
872
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
873
+ *
702
874
  */
703
- required?: boolean;
875
+ paddingX: SpacingValueType$1;
704
876
  /**
705
- * Defines a human-readable, author-localized description for the role of an element.
877
+ * ### Padding Vertical
878
+ *
879
+ * #### Usage
880
+ *
881
+ * ```jsx
882
+ * paddingY="spacing.3"
883
+ * paddingY="20px"
884
+ * ```
885
+ *
886
+ * ---
887
+ * #### Spacing to Pixel values
888
+ *
889
+ * - `spacing.0` - 0px
890
+ * - `spacing.1` - 2px
891
+ * - `spacing.2` - 4px
892
+ * - `spacing.3` - 8px
893
+ * - `spacing.4` - 12px
894
+ * - `spacing.5` - 16px
895
+ * - `spacing.6` - 20px
896
+ * - `spacing.7` - 24px
897
+ * - `spacing.8` - 32px
898
+ * - `spacing.9` - 40px
899
+ * - `spacing.10` - 48px
900
+ * - `spacing.11` - 56px
901
+ *
902
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
903
+ *
706
904
  */
707
- roleDescription?: string;
905
+ paddingY: SpacingValueType$1;
708
906
  /**
709
- * Defines the total number of rows in a table, grid, or treegrid.
710
- * @see aria-rowindex.
907
+ * ### Padding Top
908
+ *
909
+ * #### Usage
910
+ *
911
+ * ```jsx
912
+ * paddingTop="spacing.3"
913
+ * paddingTop="20px"
914
+ * ```
915
+ *
916
+ * ---
917
+ * #### Spacing to Pixel values
918
+ *
919
+ * - `spacing.0` - 0px
920
+ * - `spacing.1` - 2px
921
+ * - `spacing.2` - 4px
922
+ * - `spacing.3` - 8px
923
+ * - `spacing.4` - 12px
924
+ * - `spacing.5` - 16px
925
+ * - `spacing.6` - 20px
926
+ * - `spacing.7` - 24px
927
+ * - `spacing.8` - 32px
928
+ * - `spacing.9` - 40px
929
+ * - `spacing.10` - 48px
930
+ * - `spacing.11` - 56px
931
+ *
932
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
711
933
  */
712
- rowCount?: number;
934
+ paddingTop: SpacingValueType$1;
713
935
  /**
714
- * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
715
- * @see aria-rowcount @see aria-rowspan.
936
+ * ### Padding Right
937
+ *
938
+ * #### Usage
939
+ *
940
+ * ```jsx
941
+ * paddingRight="spacing.3"
942
+ * paddingRight="20px"
943
+ * ```
944
+ *
945
+ * ---
946
+ * #### Spacing to Pixel values
947
+ *
948
+ * - `spacing.0` - 0px
949
+ * - `spacing.1` - 2px
950
+ * - `spacing.2` - 4px
951
+ * - `spacing.3` - 8px
952
+ * - `spacing.4` - 12px
953
+ * - `spacing.5` - 16px
954
+ * - `spacing.6` - 20px
955
+ * - `spacing.7` - 24px
956
+ * - `spacing.8` - 32px
957
+ * - `spacing.9` - 40px
958
+ * - `spacing.10` - 48px
959
+ * - `spacing.11` - 56px
960
+ *
961
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
716
962
  */
717
- rowIndex?: number;
963
+ paddingRight: SpacingValueType$1;
718
964
  /**
719
- * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
720
- * @see aria-rowindex @see aria-colspan.
965
+ * ### Padding Bottom
966
+ *
967
+ * #### Usage
968
+ *
969
+ * ```jsx
970
+ * paddingBottom="spacing.3"
971
+ * paddingBottom="20px"
972
+ * ```
973
+ *
974
+ * ---
975
+ * #### Spacing to Pixel values
976
+ *
977
+ * - `spacing.0` - 0px
978
+ * - `spacing.1` - 2px
979
+ * - `spacing.2` - 4px
980
+ * - `spacing.3` - 8px
981
+ * - `spacing.4` - 12px
982
+ * - `spacing.5` - 16px
983
+ * - `spacing.6` - 20px
984
+ * - `spacing.7` - 24px
985
+ * - `spacing.8` - 32px
986
+ * - `spacing.9` - 40px
987
+ * - `spacing.10` - 48px
988
+ * - `spacing.11` - 56px
989
+ *
990
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
721
991
  */
722
- rowSpan?: number;
992
+ paddingBottom: SpacingValueType$1;
723
993
  /**
724
- * Indicates the current "selected" state of various widgets.
725
- * @see aria-checked @see aria-pressed.
994
+ * ### Padding Left
995
+ *
996
+ * #### Usage
997
+ *
998
+ * ```jsx
999
+ * paddingLeft="spacing.3"
1000
+ * paddingLeft="20px"
1001
+ * ```
1002
+ *
1003
+ * ---
1004
+ * #### Spacing to Pixel values
1005
+ *
1006
+ * - `spacing.0` - 0px
1007
+ * - `spacing.1` - 2px
1008
+ * - `spacing.2` - 4px
1009
+ * - `spacing.3` - 8px
1010
+ * - `spacing.4` - 12px
1011
+ * - `spacing.5` - 16px
1012
+ * - `spacing.6` - 20px
1013
+ * - `spacing.7` - 24px
1014
+ * - `spacing.8` - 32px
1015
+ * - `spacing.9` - 40px
1016
+ * - `spacing.10` - 48px
1017
+ * - `spacing.11` - 56px
1018
+ *
1019
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
726
1020
  */
727
- selected?: boolean;
1021
+ paddingLeft: SpacingValueType$1;
1022
+ }>;
1023
+
1024
+ type MarginProps$1 = MakeObjectResponsive$1<{
728
1025
  /**
729
- * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
730
- * @see aria-posinset.
1026
+ * ### Margin Shorthand
1027
+ *
1028
+ * #### Usage
1029
+ *
1030
+ * ```jsx
1031
+ * margin="spacing.3"
1032
+ * margin="20px"
1033
+ * margin={["spacing.3", "spacing.1", "spacing.0", "10px"]}
1034
+ * ```
1035
+ *
1036
+ * ---
1037
+ * #### Spacing to Pixel values
1038
+ *
1039
+ * - `spacing.0` - 0px
1040
+ * - `spacing.1` - 2px
1041
+ * - `spacing.2` - 4px
1042
+ * - `spacing.3` - 8px
1043
+ * - `spacing.4` - 12px
1044
+ * - `spacing.5` - 16px
1045
+ * - `spacing.6` - 20px
1046
+ * - `spacing.7` - 24px
1047
+ * - `spacing.8` - 32px
1048
+ * - `spacing.9` - 40px
1049
+ * - `spacing.10` - 48px
1050
+ * - `spacing.11` - 56px
1051
+ *
1052
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1053
+ *
731
1054
  */
732
- setSize?: number;
1055
+ margin: SpacingValueType$1 | ArrayOfMaxLength4$1<SpacingValueType$1>;
733
1056
  /**
734
- * Indicates if items in a table or grid are sorted in ascending or descending order.
1057
+ * ### Margin Horizontal
1058
+ *
1059
+ * #### Usage
1060
+ *
1061
+ * ```jsx
1062
+ * marginX="spacing.3"
1063
+ * marginX="20px"
1064
+ * ```
1065
+ *
1066
+ * ---
1067
+ * #### Spacing to Pixel values
1068
+ *
1069
+ * - `spacing.0` - 0px
1070
+ * - `spacing.1` - 2px
1071
+ * - `spacing.2` - 4px
1072
+ * - `spacing.3` - 8px
1073
+ * - `spacing.4` - 12px
1074
+ * - `spacing.5` - 16px
1075
+ * - `spacing.6` - 20px
1076
+ * - `spacing.7` - 24px
1077
+ * - `spacing.8` - 32px
1078
+ * - `spacing.9` - 40px
1079
+ * - `spacing.10` - 48px
1080
+ * - `spacing.11` - 56px
1081
+ *
1082
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1083
+ *
735
1084
  */
736
- sort?: 'none' | 'ascending' | 'descending' | 'other';
1085
+ marginX: SpacingValueType$1;
737
1086
  /**
738
- * Defines the maximum allowed value for a range widget.
1087
+ * ### Margin Vertical
1088
+ *
1089
+ * #### Usage
1090
+ *
1091
+ * ```jsx
1092
+ * marginY="spacing.3"
1093
+ * marginY="20px"
1094
+ * ```
1095
+ *
1096
+ * ---
1097
+ * #### Spacing to Pixel values
1098
+ *
1099
+ * - `spacing.0` - 0px
1100
+ * - `spacing.1` - 2px
1101
+ * - `spacing.2` - 4px
1102
+ * - `spacing.3` - 8px
1103
+ * - `spacing.4` - 12px
1104
+ * - `spacing.5` - 16px
1105
+ * - `spacing.6` - 20px
1106
+ * - `spacing.7` - 24px
1107
+ * - `spacing.8` - 32px
1108
+ * - `spacing.9` - 40px
1109
+ * - `spacing.10` - 48px
1110
+ * - `spacing.11` - 56px
1111
+ *
1112
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1113
+ *
739
1114
  */
740
- valueMax?: number;
1115
+ marginY: SpacingValueType$1;
741
1116
  /**
742
- * Defines the minimum allowed value for a range widget.
1117
+ * ### Margin Top
1118
+ *
1119
+ * #### Usage
1120
+ *
1121
+ * ```jsx
1122
+ * marginTop="spacing.3"
1123
+ * marginTop="20px"
1124
+ * ```
1125
+ *
1126
+ * ---
1127
+ * #### Spacing to Pixel values
1128
+ *
1129
+ * - `spacing.0` - 0px
1130
+ * - `spacing.1` - 2px
1131
+ * - `spacing.2` - 4px
1132
+ * - `spacing.3` - 8px
1133
+ * - `spacing.4` - 12px
1134
+ * - `spacing.5` - 16px
1135
+ * - `spacing.6` - 20px
1136
+ * - `spacing.7` - 24px
1137
+ * - `spacing.8` - 32px
1138
+ * - `spacing.9` - 40px
1139
+ * - `spacing.10` - 48px
1140
+ * - `spacing.11` - 56px
1141
+ *
1142
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
743
1143
  */
744
- valueMin?: number;
1144
+ marginTop: SpacingValueType$1;
745
1145
  /**
746
- * Defines the current value for a range widget.
747
- * @see aria-valuetext.
1146
+ * ### Margin Right
1147
+ *
1148
+ * #### Usage
1149
+ *
1150
+ * ```jsx
1151
+ * marginRight="spacing.3"
1152
+ * marginRight="20px"
1153
+ * ```
1154
+ *
1155
+ * ---
1156
+ * #### Spacing to Pixel values
1157
+ *
1158
+ * - `spacing.0` - 0px
1159
+ * - `spacing.1` - 2px
1160
+ * - `spacing.2` - 4px
1161
+ * - `spacing.3` - 8px
1162
+ * - `spacing.4` - 12px
1163
+ * - `spacing.5` - 16px
1164
+ * - `spacing.6` - 20px
1165
+ * - `spacing.7` - 24px
1166
+ * - `spacing.8` - 32px
1167
+ * - `spacing.9` - 40px
1168
+ * - `spacing.10` - 48px
1169
+ * - `spacing.11` - 56px
1170
+ *
1171
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
748
1172
  */
749
- valueNow?: number;
1173
+ marginRight: SpacingValueType$1;
750
1174
  /**
751
- * Defines the human readable text alternative of aria-valuenow for a range widget.
1175
+ * ### Margin Bottom
1176
+ *
1177
+ * #### Usage
1178
+ *
1179
+ * ```jsx
1180
+ * marginBottom="spacing.3"
1181
+ * marginBottom="20px"
1182
+ * ```
1183
+ *
1184
+ * ---
1185
+ * #### Spacing to Pixel values
1186
+ *
1187
+ * - `spacing.0` - 0px
1188
+ * - `spacing.1` - 2px
1189
+ * - `spacing.2` - 4px
1190
+ * - `spacing.3` - 8px
1191
+ * - `spacing.4` - 12px
1192
+ * - `spacing.5` - 16px
1193
+ * - `spacing.6` - 20px
1194
+ * - `spacing.7` - 24px
1195
+ * - `spacing.8` - 32px
1196
+ * - `spacing.9` - 40px
1197
+ * - `spacing.10` - 48px
1198
+ * - `spacing.11` - 56px
1199
+ *
1200
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
752
1201
  */
753
- valueText?: string;
754
- };
755
-
756
- /* eslint-disable @typescript-eslint/no-explicit-any */
757
-
758
- /**
759
- * Brands a type making them act as nominal
760
- * @see https://medium.com/@KevinBGreene/surviving-the-typescript-ecosystem-branding-and-type-tagging-6cf6e516523d
761
- */
762
- type Brand<Type, Name extends string> = Type & { __brand__?: Name };
763
-
764
- type NativeOrWebBrand = Brand<any, 'native' | 'web'>;
765
-
766
- /* eslint-disable @typescript-eslint/no-namespace */
767
-
768
-
769
- declare namespace Platform {
770
- export type Name = 'native';
1202
+ marginBottom: SpacingValueType$1;
771
1203
  /**
772
- * Right now, the module resolution is set to resolve `.native` files,
1204
+ * ### Margin Left
773
1205
  *
774
- * Thus Platform.Select<> type will return the `native` type
775
- */
776
- export type Select<Options extends { web: unknown; native: unknown }> = Brand<
777
- Options[Name],
778
- 'platform-native'
779
- >;
780
-
781
- export type CastNative<T extends NativeOrWebBrand | undefined> = Extract<
782
- T,
783
- { __brand__?: 'platform-native' | 'platform-all' }
784
- >;
785
-
786
- export type CastWeb<T extends NativeOrWebBrand | undefined> = Extract<
787
- T,
788
- { __brand__?: 'platform-web' | 'platform-all' }
789
- >;
790
- }
791
-
792
- type Duration = {
793
- /** `70` milliseconds */
794
- '2xquick': 70;
795
- /** `150` milliseconds */
796
- xquick: 150;
797
- /** `200` milliseconds */
798
- quick: 200;
799
- /** `250` milliseconds */
800
- moderate: 250;
801
- /** `300` milliseconds */
802
- xmoderate: 300;
803
- /** `400` milliseconds */
804
- gentle: 400;
805
- /** `600` milliseconds */
806
- xgentle: 600;
807
- /** `900` milliseconds */
808
- '2xgentle': 900;
809
- };
1206
+ * #### Usage
1207
+ *
1208
+ * ```jsx
1209
+ * marginLeft="spacing.3"
1210
+ * marginLeft="20px"
1211
+ * ```
1212
+ *
1213
+ * ---
1214
+ * #### Spacing to Pixel values
1215
+ *
1216
+ * - `spacing.0` - 0px
1217
+ * - `spacing.1` - 2px
1218
+ * - `spacing.2` - 4px
1219
+ * - `spacing.3` - 8px
1220
+ * - `spacing.4` - 12px
1221
+ * - `spacing.5` - 16px
1222
+ * - `spacing.6` - 20px
1223
+ * - `spacing.7` - 24px
1224
+ * - `spacing.8` - 32px
1225
+ * - `spacing.9` - 40px
1226
+ * - `spacing.10` - 48px
1227
+ * - `spacing.11` - 56px
1228
+ *
1229
+ * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1230
+ */
1231
+ marginLeft: SpacingValueType$1;
1232
+ }>;
810
1233
 
811
- type Delay = {
812
- /** `70` milliseconds */
813
- '2xshort': 70;
814
- /** `120` milliseconds */
815
- xshort: 120;
816
- /** `180` milliseconds */
817
- short: 180;
818
- /** `3000` milliseconds */
819
- long: 3000;
820
- /** `5000` milliseconds */
821
- xlong: 5000;
822
- };
1234
+ /* eslint-disable @typescript-eslint/no-explicit-any */
823
1235
 
824
- type EasingFunctionFactory = { factory: () => (value: number) => number }; // similar to EasingFunctionFactory of `react-native-reanimated`
825
- type EasingType<Value extends string> = Platform.Select<{
826
- web: Value;
827
- native: EasingFunctionFactory;
828
- }>;
829
1236
 
830
- type Easing = {
831
- /** Easings for all standard animations*/
832
- standard: {
833
- /** `cubic-bezier(0.5, 0, 0.3, 1.5)`
834
- *
835
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
836
- attentive: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;
837
- /** `cubic-bezier(0.3, 0, 0.2, 1)`
838
- *
839
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
840
- effective: EasingType<'cubic-bezier(0.3, 0, 0.2, 1)'>;
841
- /** `cubic-bezier(0.5, 0, 0, 1)`
842
- *
843
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
844
- revealing: EasingType<'cubic-bezier(0.5, 0, 0, 1)'>;
845
- /** `cubic-bezier(1, 0.5, 0, 0.5)`
846
- *
847
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
848
- wary: EasingType<'cubic-bezier(1, 0.5, 0, 0.5)'>;
849
- };
850
- /** Easings for all entrance animations*/
851
- entrance: {
852
- /** `cubic-bezier(0.5, 0, 0.3, 1.5)`
853
- *
854
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
855
- attentive: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;
856
- /** `cubic-bezier(0, 0, 0.2, 1)`
857
- *
858
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
859
- effective: EasingType<'cubic-bezier(0, 0, 0.2, 1)'>;
860
- /** `cubic-bezier(0, 0, 0, 1)`
861
- *
862
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
863
- revealing: EasingType<'cubic-bezier(0, 0, 0, 1)'>;
864
- };
865
- /** Easings for all exit animations*/
866
- exit: {
867
- /** `cubic-bezier(0.7, 0, 0.5, 1)`
868
- *
869
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
870
- attentive: EasingType<'cubic-bezier(0.7, 0, 0.5, 1)'>;
871
- /** `cubic-bezier(0.17, 0, 1, 1)`
872
- *
873
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
874
- effective: EasingType<'cubic-bezier(0.17, 0, 1, 1)'>;
875
- /** `cubic-bezier(0.5, 0, 1, 1)`
876
- *
877
- * Returns a `string` of `"cubic-bezier(...)"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */
878
- revealing: EasingType<'cubic-bezier(0.5, 0, 1, 1)'>;
879
- };
1237
+ type BladeCommonEvents$1 = {
1238
+ onBlur?: Platform.Select<{
1239
+ native: undefined | ((event: any) => void);
1240
+ web: React.FocusEventHandler;
1241
+ }>;
1242
+ onFocus?: Platform.Select<{
1243
+ native: undefined | ((event: any) => void);
1244
+ web: React.FocusEventHandler;
1245
+ }>;
1246
+ onMouseLeave?: Platform.Select<{ web: React.MouseEventHandler; native: undefined }>;
1247
+ onMouseMove?: Platform.Select<{ web: React.MouseEventHandler; native: undefined }>;
1248
+ onPointerDown?: Platform.Select<{ web: React.PointerEventHandler; native: undefined }>;
1249
+ onPointerEnter?: Platform.Select<{ web: React.PointerEventHandler; native: undefined }>;
1250
+ onTouchStart?: Platform.Select<{
1251
+ native: undefined | ((event: any) => void);
1252
+ web: React.TouchEventHandler;
1253
+ }>;
1254
+ onTouchEnd?: Platform.Select<{
1255
+ native: undefined | ((event: any) => void);
1256
+ web: React.TouchEventHandler;
1257
+ }>;
880
1258
  };
881
1259
 
882
- type Motion = Readonly<{
883
- delay: Delay;
884
- duration: Duration;
885
- easing: Easing;
886
- }>;
887
-
888
- type ElevationLevels = 'none' | 'lowRaised' | 'midRaised' | 'highRaised';
1260
+ type LayoutProps$1 = MakeObjectResponsive$1<
1261
+ {
1262
+ height: SpacingValueType$1;
1263
+ minHeight: SpacingValueType$1;
1264
+ maxHeight: SpacingValueType$1;
1265
+ width: SpacingValueType$1;
1266
+ minWidth: SpacingValueType$1;
1267
+ maxWidth: SpacingValueType$1;
1268
+ } & PickCSSByPlatform<'display' | 'overflow' | 'overflowX' | 'overflowY' | 'textAlign'>
1269
+ >;
889
1270
 
890
- type ElevationStyles = Readonly<{
891
- elevation: number;
892
- shadowColor: string;
893
- shadowOpacity: number;
894
- shadowRadius: number;
895
- shadowOffset: {
1271
+ type FlexboxProps$1 = MakeObjectResponsive$1<
1272
+ {
896
1273
  /**
897
- * x-axis
1274
+ * This uses the native gap property which might not work on older browsers.
1275
+ * If you want to support older browsers, you might want to use `margin` instead.
1276
+ *
1277
+ * @see https://caniuse.com/?search=gap
898
1278
  */
899
- width: number;
1279
+ gap: SpacingValueType$1;
900
1280
  /**
901
- * y-axis
1281
+ * This uses the native row-gap property which might not work on older browsers.
1282
+ * If you want to support older browsers, you might want to use `margin` instead.
1283
+ *
1284
+ * @see https://caniuse.com/?search=row-gap
902
1285
  */
903
- height: number;
904
- };
905
- }>;
906
-
907
- type Elevation = Record<
908
- ElevationLevels,
909
- Platform.Select<{
910
- web: string;
911
- native: ElevationStyles;
912
- }>
1286
+ rowGap: SpacingValueType$1;
1287
+ /**
1288
+ * This uses the native column-gap property which might not work on older browsers.
1289
+ * If you want to support older browsers, you might want to use `margin` instead.
1290
+ *
1291
+ * @see https://caniuse.com/?search=column-gap
1292
+ */
1293
+ columnGap: SpacingValueType$1;
1294
+ /**
1295
+ * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.
1296
+ *
1297
+ * @see https://developer.mozilla.org/docs/Web/CSS/flex
1298
+ */
1299
+ flex: string | number;
1300
+ } & PickCSSByPlatform<
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
+ >
913
1315
  >;
914
1316
 
915
- type ElevationWithColorModes = Record<ColorSchemeModes, Elevation>;
1317
+ type PositionProps$1 = MakeObjectResponsive$1<
1318
+ {
1319
+ top: SpacingValueType$1;
1320
+ right: SpacingValueType$1;
1321
+ bottom: SpacingValueType$1;
1322
+ left: SpacingValueType$1;
1323
+ } & PickCSSByPlatform<'position' | 'zIndex'>
1324
+ >;
916
1325
 
917
- /**
918
- * @template TokenType token type generic
919
- * @description Tokenises objects to dot notation strings, eg: `surface.text.normal.lowContrast`
920
- */
921
- type DotNotationColorStringToken<TokenType> = {
922
- [K in keyof TokenType]: `${Extract<K, number | string>}.${TokenType[K] extends Record<
923
- string,
924
- string
1326
+ type GridProps$1 = MakeObjectResponsive$1<
1327
+ PickCSSByPlatform<
1328
+ | 'grid'
1329
+ | 'gridColumn'
1330
+ | 'gridRow'
1331
+ | 'gridRowStart'
1332
+ | 'gridRowEnd'
1333
+ | 'gridColumnStart'
1334
+ | 'gridColumnEnd'
1335
+ | 'gridArea'
1336
+ | 'gridAutoFlow'
1337
+ | 'gridAutoRows'
1338
+ | 'gridAutoColumns'
1339
+ | 'gridTemplate'
1340
+ | 'gridTemplateAreas'
1341
+ | 'gridTemplateColumns'
1342
+ | 'gridTemplateRows'
925
1343
  >
926
- ? Extract<keyof TokenType[K], number | string>
927
- : DotNotationColorStringToken<TokenType[K]>}`;
928
- }[keyof TokenType];
929
-
930
- type DotNotationSpacingStringToken = `spacing.${keyof Spacing}`;
931
-
932
- /**
933
- * Use this when you want children to be string.
934
- *
935
- * This covers scenarios like
936
- * ```jsx
937
- * <Title>Hi</Title>
938
- * <Title>{dynamicVariable} something</Title>
939
- * ```
940
- *
941
- *
942
- * ### Usage
943
- *
944
- * ```ts
945
- * import type { StringChildrenType } from '~helpers/types';
946
- *
947
- * type MyProps = {
948
- * children: StringChildrenType;
949
- * }
950
- * ```
951
- */
952
- type StringChildrenType = React__default.ReactText | React__default.ReactText[];
1344
+ >;
953
1345
 
954
- /**
955
- *
956
- * When combined with union, this type utility will give you autocomplete of union while still supporting any string value as input
957
- *
958
- * ### Usage
959
- *
960
- * ```ts
961
- * type ThemeName = 'paymentTheme' | 'bankingTheme' | StringWithAutocomplete;
962
- * ```
963
- *
964
- * This will show paymentTheme and bankingTheme in autocomplete but also allow any other string as value.
965
- *
966
- * More details - https://github.com/razorpay/blade/pull/1031/commits/86b6ee0facf45e7556739efcbfa5396b11b1b3c9#r1121298293
967
- * Related TS Issue - https://github.com/microsoft/TypeScript/issues/29729
968
- *
969
- */
970
- type StringWithAutocomplete = string & Record<never, never>;
1346
+ type ColorObjects$1 = 'feedback' | 'surface' | 'action';
1347
+ type BackgroundColorString$1<T extends ColorObjects$1> = `${T}.background.${DotNotationColorStringToken<
1348
+ Theme$1['colors'][T]['background']
1349
+ >}`;
1350
+ type BorderColorString$1<T extends ColorObjects$1> = `${T}.border.${DotNotationColorStringToken<
1351
+ Theme$1['colors'][T]['border']
1352
+ >}`;
971
1353
 
972
- type TestID = {
973
- testID?: string;
974
- };
1354
+ // Created this as an array so I can reuse it for runtime validation
1355
+ declare const validBoxAsValues$1 = [
1356
+ 'div',
1357
+ 'section',
1358
+ 'footer',
1359
+ 'header',
1360
+ 'main',
1361
+ 'aside',
1362
+ 'nav',
1363
+ 'span',
1364
+ 'label',
1365
+ ] as const;
975
1366
 
976
- /**
977
- * Similar to `Pick` except this returns `never` when value doesn't exist (native `Pick` returns `unknown`).
978
- *
979
- * You might have to ts-ignore the non-existing type error while using this. This is done so that you can get jsdoc from actual type.
980
- *
981
- * E.g. This will pick from ViewStyle prop if value exists else returns undefined.
982
- *
983
- * ```ts
984
- * // @ts-expect-error: T passed here may not neccessarily exist. We return `never` type when it doesn't
985
- * native: PickIfExist<ViewStyle, T>;
986
- * ```
987
- */
988
- type PickIfExist<T, K extends keyof T> = {
989
- [P in K]: P extends keyof T ? T[P] : never;
990
- };
1367
+ type BoxAsType$1 = typeof validBoxAsValues$1[number];
991
1368
 
992
- /**
993
- * Picks the types based on the platform (web / native).
994
- *
995
- * E.g.
996
- * ```ts
997
- * type CSSObject = PickCSSByPlatform<'display'>
998
- * // On Web --> This will be all possible web display properties like `block`, `flex`, `inline`, and more.
999
- * // On Native --> This will be just `flex` and `none`
1000
- * ```
1001
- */
1002
- type PickCSSByPlatform<T extends keyof React__default.CSSProperties | keyof ViewStyle> = Platform.Select<{
1003
- web: PickIfExist<CSSObject, T>;
1004
- // @ts-expect-error: T passed here may not neccessarily exist. We return `never` type when it doesn't
1005
- native: PickIfExist<ViewStyle, T>;
1006
- }>;
1369
+ // Visual props that are common for both Box and BaseBox
1370
+ type CommonBoxVisualProps$1 = MakeObjectResponsive$1<
1371
+ {
1372
+ borderRadius: keyof Border['radius'];
1373
+ borderWidth: keyof Border['width'];
1374
+ borderColor: BorderColorString$1<'surface'>;
1375
+ borderTopWidth: keyof Border['width'];
1376
+ borderTopColor: BorderColorString$1<'surface'>;
1377
+ borderRightWidth: keyof Border['width'];
1378
+ borderRightColor: BorderColorString$1<'surface'>;
1379
+ borderBottomWidth: keyof Border['width'];
1380
+ borderBottomColor: BorderColorString$1<'surface'>;
1381
+ borderLeftWidth: keyof Border['width'];
1382
+ borderLeftColor: BorderColorString$1<'surface'>;
1383
+ borderTopLeftRadius: keyof Border['radius'];
1384
+ borderTopRightRadius: keyof Border['radius'];
1385
+ borderBottomRightRadius: keyof Border['radius'];
1386
+ borderBottomLeftRadius: keyof Border['radius'];
1387
+ } & PickCSSByPlatform<
1388
+ | 'backgroundImage'
1389
+ | 'backgroundSize'
1390
+ | 'backgroundPosition'
1391
+ | 'backgroundOrigin'
1392
+ | 'backgroundRepeat'
1393
+ >
1394
+ >;
1007
1395
 
1008
- declare type ActionListContextProp = Pick<ActionListProps, 'surfaceLevel'>;
1009
- declare const useActionListContext: () => ActionListContextProp;
1010
- declare type ActionListProps = {
1011
- children: React__default.ReactNode[];
1012
- /**
1013
- * Decides the backgroundColor of ActionList
1014
- */
1015
- surfaceLevel?: Exclude<SurfaceLevels, 1>;
1016
- } & TestID;
1017
- declare const ActionList: React__default.MemoExoticComponent<({ children, surfaceLevel, testID }: ActionListProps) => JSX.Element>;
1396
+ // Visual props that are specific BaseBox
1397
+ // This is used to ensure some of the more flexible BaseBox props are not passed to Box
1398
+ type BaseBoxVisualProps = MakeObjectResponsive$1<
1399
+ {
1400
+ backgroundColor:
1401
+ | BackgroundColorString$1<'feedback'>
1402
+ | BackgroundColorString$1<'surface'>
1403
+ | BackgroundColorString$1<'action'>
1404
+ | (string & Record<never, never>);
1405
+ lineHeight: SpacingValueType$1;
1406
+ touchAction: CSSObject['touchAction'];
1407
+ userSelect: CSSObject['userSelect'];
1408
+ } & PickCSSByPlatform<
1409
+ | 'border'
1410
+ | 'borderLeft'
1411
+ | 'borderRight'
1412
+ | 'borderTop'
1413
+ | 'borderBottom'
1414
+ | 'opacity'
1415
+ | 'pointerEvents'
1416
+ >
1417
+ >;
1018
1418
 
1019
- type Theme$1 = {
1020
- name: ThemeTokens['name'];
1021
- border: Border;
1022
- breakpoints: Breakpoints;
1023
- colors: Colors;
1024
- spacing: Spacing;
1025
- motion: Motion;
1026
- elevation: Elevation;
1027
- typography: Typography;
1419
+ // Visual props that are specific to Box
1420
+ type BoxVisualProps$1 = MakeObjectResponsive$1<{
1421
+ backgroundColor: BackgroundColorString$1<'surface'>;
1422
+ }> & {
1423
+ // Intentionally keeping this outside of MakeObjectResponsive since we only want as to be string and not responsive object
1424
+ // styled-components do not support passing `as` prop as an object
1425
+ as: BoxAsType$1;
1028
1426
  };
1029
1427
 
1030
- /**
1031
- * Returns the value or the responsive object with that value
1032
- *
1033
- * ## Usage
1034
- *
1035
- * Example if you pass string argument, return type will be string or responsive object with string value
1036
- *
1037
- * `MakeValueResponsive<string>`
1038
- * ```ts
1039
- * string |
1040
- * {
1041
- * base?: string;
1042
- * xs?: string;
1043
- * s?: string;
1044
- * // ... other breakpoints
1045
- * }
1046
- * ```
1047
- *
1048
- */
1049
- // When type is `never`, we just want to return `never` rather than { base: never, ...etc } since that prop is intended to be never used
1050
- // Explaination of [T] extends [never] -> https://stackoverflow.com/questions/65492464/typescript-never-type-condition
1051
- type MakeValueResponsive$1<T> = [T] extends [never]
1052
- ? never
1053
- :
1054
- | T
1055
- | {
1056
- // Using this instead of Record to maintain the jsdoc from breakpoints.ts
1057
- [P in keyof Breakpoints]?: T;
1058
- };
1428
+ type StyledPropsBlade = Partial<
1429
+ Omit<
1430
+ MarginProps$1 &
1431
+ Pick<FlexboxProps$1, 'alignSelf' | 'justifySelf' | 'placeSelf' | 'order'> &
1432
+ PositionProps$1 &
1433
+ Pick<
1434
+ GridProps$1,
1435
+ | 'gridColumn'
1436
+ | 'gridRow'
1437
+ | 'gridRowStart'
1438
+ | 'gridRowEnd'
1439
+ | 'gridColumnStart'
1440
+ | 'gridColumnEnd'
1441
+ | 'gridArea'
1442
+ >,
1443
+ '__brand__'
1444
+ >
1445
+ >;
1059
1446
 
1060
- /**
1061
- * Turns all the values in object into responsive object.
1062
- *
1063
- * ```ts
1064
- * MakeObjectResponsive<{ hello: string}>
1065
- *
1066
- * // Outputs:
1067
- * {
1068
- * hello: string | {
1069
- * base?: string;
1070
- * xs?: string;
1071
- * s?: string;
1072
- * // ... other breakpoints
1073
- * }
1074
- * }
1075
- * ```
1076
- */
1077
- type MakeObjectResponsive$1<
1078
- T,
1079
- // using this workaround to preserve the jsdocs
1080
- // https://github.com/microsoft/TypeScript/issues/31992
1081
- K extends keyof T = Extract<keyof T, string>
1082
- > = {
1083
- [P in K]: MakeValueResponsive$1<T[P]>;
1084
- };
1447
+ type BoxCallbackProps$1 = Omit<
1448
+ Platform.Select<{
1449
+ web: {
1450
+ /**
1451
+ * **Warning**
1452
+ *
1453
+ * Make sure to not use Box when you want to create a trigger that performs action on hover.
1454
+ * You would probably want to render it as `button` using `styled.button` instead.
1455
+ *
1456
+ * Use this for hoverable containers in cases like custom menus.
1457
+ */
1458
+ onMouseOver: React.MouseEventHandler<HTMLElement>;
1459
+ /**
1460
+ * **Warning**
1461
+ *
1462
+ * Make sure to not use Box when you want to create a trigger that performs action on hover.
1463
+ * You would probably want to render it as `button` using `styled.button` instead.
1464
+ *
1465
+ * Use this for hoverable containers in cases like custom menus.
1466
+ */
1467
+ onMouseEnter: React.MouseEventHandler<HTMLElement>;
1468
+ /**
1469
+ * **Warning**
1470
+ *
1471
+ * Make sure to not use Box when you want to create a trigger that performs action on hover.
1472
+ * You would probably want to render it as `button` using `styled.button` instead.
1473
+ *
1474
+ * Use this for hoverable containers in cases like custom menus.
1475
+ */
1476
+ onMouseLeave: React.MouseEventHandler<HTMLElement>;
1477
+ onScroll: React.UIEventHandler<HTMLElement>;
1478
+ };
1479
+ native: Record<'onMouseOver' | 'onMouseEnter' | 'onMouseLeave' | 'onScroll', undefined>;
1480
+ }>,
1481
+ '__brand__'
1482
+ >;
1085
1483
 
1086
- type ArrayOfMaxLength4$1<T> = readonly [T?, T?, T?, T?];
1087
- type SpaceUnits$1 = 'px' | '%' | 'fr' | 'rem' | 'em' | 'vh' | 'vw';
1484
+ type BoxProps$1 = Partial<
1485
+ PaddingProps$1 &
1486
+ MarginProps$1 &
1487
+ LayoutProps$1 &
1488
+ FlexboxProps$1 &
1489
+ PositionProps$1 &
1490
+ GridProps$1 &
1491
+ BoxCallbackProps$1 &
1492
+ CommonBoxVisualProps$1 &
1493
+ BoxVisualProps$1 & {
1494
+ children?: React.ReactNode | React.ReactNode[];
1495
+ tabIndex?: number;
1496
+ } & TestID
1497
+ >;
1088
1498
 
1089
- type SpacingValueType$1 =
1090
- | DotNotationSpacingStringToken
1091
- | `${string}${SpaceUnits$1}`
1092
- | `calc(${string})`
1093
- | 'auto'
1094
- | `min(${string})`
1095
- | `max(${string})`
1096
- | 'none'
1097
- | 'initial'
1098
- | 'fit-content'
1099
- | 'max-content'
1100
- | 'min-content';
1499
+ // Visual props have different types for BaseBox and Box. BaseBox has more flexible types and more props exposed.
1500
+ // So first we Omit Visual props of Box
1501
+ // Then we append BaseBoxVisualProps and some other props for styled-components like class and id
1502
+ type BaseBoxProps = Omit<BoxProps$1, keyof BoxVisualProps$1> &
1503
+ Partial<
1504
+ BaseBoxVisualProps & {
1505
+ className?: string;
1506
+ id?: string;
1507
+ tabIndex?: number;
1508
+ }
1509
+ > &
1510
+ BladeCommonEvents$1;
1101
1511
 
1102
- /**
1103
- * @IMPORTANT
1104
- *
1105
- * 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.
1106
- *
1107
- * 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
1108
- *
1109
- * Checkout example of find and replace query-
1110
- * {@link https://user-images.githubusercontent.com/30949385/221802507-40c7adbc-484a-47b3-9035-ae1e97080b51.png}
1111
- *
1112
- */
1512
+ // All the WAI-ARIA 1.1 role attribute values from https://www.w3.org/TR/wai-aria-1.1/#role_definitions
1513
+ type AriaRoles =
1514
+ | Exclude<AccessibilityRole, 'header' | 'adjustable' | 'image' | 'none' | 'summary'>
1515
+ | 'alert'
1516
+ | 'alertdialog'
1517
+ | 'application'
1518
+ | 'article'
1519
+ | 'banner'
1520
+ | 'button'
1521
+ | 'cell'
1522
+ | 'checkbox'
1523
+ | 'columnheader'
1524
+ | 'combobox'
1525
+ | 'complementary'
1526
+ | 'contentinfo'
1527
+ | 'definition'
1528
+ | 'dialog'
1529
+ | 'directory'
1530
+ | 'document'
1531
+ | 'feed'
1532
+ | 'figure'
1533
+ | 'form'
1534
+ | 'grid'
1535
+ | 'gridcell'
1536
+ | 'group'
1537
+ | 'heading'
1538
+ | 'img'
1539
+ | 'link'
1540
+ | 'list'
1541
+ | 'listbox'
1542
+ | 'listitem'
1543
+ | 'log'
1544
+ | 'main'
1545
+ | 'marquee'
1546
+ | 'math'
1547
+ | 'menu'
1548
+ | 'menubar'
1549
+ | 'menuitem'
1550
+ | 'menuitemcheckbox'
1551
+ | 'menuitemradio'
1552
+ | 'meter'
1553
+ | 'navigation'
1554
+ | 'none'
1555
+ | 'note'
1556
+ | 'option'
1557
+ | 'presentation'
1558
+ | 'progressbar'
1559
+ | 'radio'
1560
+ | 'radiogroup'
1561
+ | 'region'
1562
+ | 'row'
1563
+ | 'rowgroup'
1564
+ | 'rowheader'
1565
+ | 'scrollbar'
1566
+ | 'search'
1567
+ | 'searchbox'
1568
+ | 'separator'
1569
+ | 'slider'
1570
+ | 'spinbutton'
1571
+ | 'status'
1572
+ | 'switch'
1573
+ | 'tab'
1574
+ | 'table'
1575
+ | 'tablist'
1576
+ | 'tabpanel'
1577
+ | 'term'
1578
+ | 'textbox'
1579
+ | 'timer'
1580
+ | 'toolbar'
1581
+ | 'tooltip'
1582
+ | 'tree'
1583
+ | 'treegrid'
1584
+ | 'treeitem';
1585
+ type AccessibilityProps = AriaAttributes;
1113
1586
 
1114
- type PaddingProps$1 = MakeObjectResponsive$1<{
1587
+ type AriaAttributes = {
1588
+ role: AriaRoles;
1115
1589
  /**
1116
- * ### Padding Shorthand
1117
- *
1118
- * #### Usage
1119
- *
1120
- * ```jsx
1121
- * padding="spacing.3"
1122
- * padding="20px"
1123
- * padding={["spacing.3", "spacing.1", "spacing.0", "10px"]}
1124
- * ```
1125
- *
1126
- * ---
1127
- * #### Spacing to Pixel values
1128
- *
1129
- * - `spacing.0` - 0px
1130
- * - `spacing.1` - 2px
1131
- * - `spacing.2` - 4px
1132
- * - `spacing.3` - 8px
1133
- * - `spacing.4` - 12px
1134
- * - `spacing.5` - 16px
1135
- * - `spacing.6` - 20px
1136
- * - `spacing.7` - 24px
1137
- * - `spacing.8` - 32px
1138
- * - `spacing.9` - 40px
1139
- * - `spacing.10` - 48px
1140
- * - `spacing.11` - 56px
1141
- *
1142
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1143
- *
1590
+ * Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.
1144
1591
  */
1145
- padding: SpacingValueType$1 | ArrayOfMaxLength4$1<SpacingValueType$1>;
1592
+ activeDescendant?: string;
1146
1593
  /**
1147
- * ### Padding Horizontal
1148
- *
1149
- * #### Usage
1150
- *
1151
- * ```jsx
1152
- * paddingX="spacing.3"
1153
- * paddingX="20px"
1154
- * ```
1155
- *
1156
- * ---
1157
- * #### Spacing to Pixel values
1158
- *
1159
- * - `spacing.0` - 0px
1160
- * - `spacing.1` - 2px
1161
- * - `spacing.2` - 4px
1162
- * - `spacing.3` - 8px
1163
- * - `spacing.4` - 12px
1164
- * - `spacing.5` - 16px
1165
- * - `spacing.6` - 20px
1166
- * - `spacing.7` - 24px
1167
- * - `spacing.8` - 32px
1168
- * - `spacing.9` - 40px
1169
- * - `spacing.10` - 48px
1170
- * - `spacing.11` - 56px
1171
- *
1172
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1173
- *
1594
+ * Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.
1174
1595
  */
1175
- paddingX: SpacingValueType$1;
1596
+ atomic?: boolean;
1176
1597
  /**
1177
- * ### Padding Vertical
1178
- *
1179
- * #### Usage
1180
- *
1181
- * ```jsx
1182
- * paddingY="spacing.3"
1183
- * paddingY="20px"
1184
- * ```
1185
- *
1186
- * ---
1187
- * #### Spacing to Pixel values
1188
- *
1189
- * - `spacing.0` - 0px
1190
- * - `spacing.1` - 2px
1191
- * - `spacing.2` - 4px
1192
- * - `spacing.3` - 8px
1193
- * - `spacing.4` - 12px
1194
- * - `spacing.5` - 16px
1195
- * - `spacing.6` - 20px
1196
- * - `spacing.7` - 24px
1197
- * - `spacing.8` - 32px
1198
- * - `spacing.9` - 40px
1199
- * - `spacing.10` - 48px
1200
- * - `spacing.11` - 56px
1201
- *
1202
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1203
- *
1598
+ * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made.
1204
1599
  */
1205
- paddingY: SpacingValueType$1;
1600
+ autoComplete?: 'none' | 'inline' | 'list' | 'both';
1206
1601
  /**
1207
- * ### Padding Top
1208
- *
1209
- * #### Usage
1210
- *
1211
- * ```jsx
1212
- * paddingTop="spacing.3"
1213
- * paddingTop="20px"
1214
- * ```
1215
- *
1216
- * ---
1217
- * #### Spacing to Pixel values
1218
- *
1219
- * - `spacing.0` - 0px
1220
- * - `spacing.1` - 2px
1221
- * - `spacing.2` - 4px
1222
- * - `spacing.3` - 8px
1223
- * - `spacing.4` - 12px
1224
- * - `spacing.5` - 16px
1225
- * - `spacing.6` - 20px
1226
- * - `spacing.7` - 24px
1227
- * - `spacing.8` - 32px
1228
- * - `spacing.9` - 40px
1229
- * - `spacing.10` - 48px
1230
- * - `spacing.11` - 56px
1231
- *
1232
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1602
+ * Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.
1603
+ */
1604
+ busy?: boolean;
1605
+ /**
1606
+ * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
1607
+ * @see aria-pressed @see aria-selected.
1608
+ */
1609
+ checked?: boolean | 'mixed';
1610
+ /**
1611
+ * Defines the total number of columns in a table, grid, or treegrid.
1612
+ * @see aria-colindex.
1613
+ */
1614
+ colCount?: number;
1615
+ /**
1616
+ * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
1617
+ * @see aria-colcount @see aria-colspan.
1618
+ */
1619
+ colIndex?: number;
1620
+ /**
1621
+ * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
1622
+ * @see aria-colindex @see aria-rowspan.
1623
+ */
1624
+ colSpan?: number;
1625
+ /**
1626
+ * Identifies the element (or elements) whose contents or presence are controlled by the current element.
1627
+ * @see aria-owns.
1628
+ */
1629
+ controls?: string;
1630
+ /**
1631
+ * Indicates the element that represents the current item within a container or set of related elements.
1632
+ */
1633
+ current?: boolean | 'page' | 'step' | 'location' | 'date' | 'time';
1634
+ /**
1635
+ * Identifies the element (or elements) that describes the object.
1636
+ * @see aria-labelledby
1637
+ */
1638
+ describedBy?: string;
1639
+ /**
1640
+ * Identifies the element that provides a detailed, extended description for the object.
1641
+ * @see aria-describedby.
1642
+ */
1643
+ details?: string;
1644
+ /**
1645
+ * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
1646
+ * @see aria-hidden @see aria-readonly.
1647
+ */
1648
+ disabled?: boolean;
1649
+ /**
1650
+ * Indicates what functions can be performed when a dragged object is released on the drop target.
1651
+ * @deprecated in ARIA 1.1
1233
1652
  */
1234
- paddingTop: SpacingValueType$1;
1653
+ dropEffect?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup';
1235
1654
  /**
1236
- * ### Padding Right
1237
- *
1238
- * #### Usage
1239
- *
1240
- * ```jsx
1241
- * paddingRight="spacing.3"
1242
- * paddingRight="20px"
1243
- * ```
1244
- *
1245
- * ---
1246
- * #### Spacing to Pixel values
1247
- *
1248
- * - `spacing.0` - 0px
1249
- * - `spacing.1` - 2px
1250
- * - `spacing.2` - 4px
1251
- * - `spacing.3` - 8px
1252
- * - `spacing.4` - 12px
1253
- * - `spacing.5` - 16px
1254
- * - `spacing.6` - 20px
1255
- * - `spacing.7` - 24px
1256
- * - `spacing.8` - 32px
1257
- * - `spacing.9` - 40px
1258
- * - `spacing.10` - 48px
1259
- * - `spacing.11` - 56px
1260
- *
1261
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1655
+ * Identifies the element that provides an error message for the object.
1656
+ * @see aria-invalid @see aria-describedby.
1262
1657
  */
1263
- paddingRight: SpacingValueType$1;
1658
+ errorMessage?: string;
1264
1659
  /**
1265
- * ### Padding Bottom
1266
- *
1267
- * #### Usage
1268
- *
1269
- * ```jsx
1270
- * paddingBottom="spacing.3"
1271
- * paddingBottom="20px"
1272
- * ```
1273
- *
1274
- * ---
1275
- * #### Spacing to Pixel values
1276
- *
1277
- * - `spacing.0` - 0px
1278
- * - `spacing.1` - 2px
1279
- * - `spacing.2` - 4px
1280
- * - `spacing.3` - 8px
1281
- * - `spacing.4` - 12px
1282
- * - `spacing.5` - 16px
1283
- * - `spacing.6` - 20px
1284
- * - `spacing.7` - 24px
1285
- * - `spacing.8` - 32px
1286
- * - `spacing.9` - 40px
1287
- * - `spacing.10` - 48px
1288
- * - `spacing.11` - 56px
1289
- *
1290
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1660
+ * Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.
1291
1661
  */
1292
- paddingBottom: SpacingValueType$1;
1662
+ expanded?: boolean;
1293
1663
  /**
1294
- * ### Padding Left
1295
- *
1296
- * #### Usage
1297
- *
1298
- * ```jsx
1299
- * paddingLeft="spacing.3"
1300
- * paddingLeft="20px"
1301
- * ```
1302
- *
1303
- * ---
1304
- * #### Spacing to Pixel values
1305
- *
1306
- * - `spacing.0` - 0px
1307
- * - `spacing.1` - 2px
1308
- * - `spacing.2` - 4px
1309
- * - `spacing.3` - 8px
1310
- * - `spacing.4` - 12px
1311
- * - `spacing.5` - 16px
1312
- * - `spacing.6` - 20px
1313
- * - `spacing.7` - 24px
1314
- * - `spacing.8` - 32px
1315
- * - `spacing.9` - 40px
1316
- * - `spacing.10` - 48px
1317
- * - `spacing.11` - 56px
1318
- *
1319
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1664
+ * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
1665
+ * allows assistive technology to override the general default of reading in document source order.
1320
1666
  */
1321
- paddingLeft: SpacingValueType$1;
1322
- }>;
1323
-
1324
- type MarginProps$1 = MakeObjectResponsive$1<{
1667
+ flowTo?: string;
1325
1668
  /**
1326
- * ### Margin Shorthand
1327
- *
1328
- * #### Usage
1329
- *
1330
- * ```jsx
1331
- * margin="spacing.3"
1332
- * margin="20px"
1333
- * margin={["spacing.3", "spacing.1", "spacing.0", "10px"]}
1334
- * ```
1335
- *
1336
- * ---
1337
- * #### Spacing to Pixel values
1338
- *
1339
- * - `spacing.0` - 0px
1340
- * - `spacing.1` - 2px
1341
- * - `spacing.2` - 4px
1342
- * - `spacing.3` - 8px
1343
- * - `spacing.4` - 12px
1344
- * - `spacing.5` - 16px
1345
- * - `spacing.6` - 20px
1346
- * - `spacing.7` - 24px
1347
- * - `spacing.8` - 32px
1348
- * - `spacing.9` - 40px
1349
- * - `spacing.10` - 48px
1350
- * - `spacing.11` - 56px
1351
- *
1352
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1353
- *
1669
+ * Indicates an element's "grabbed" state in a drag-and-drop operation.
1670
+ * @deprecated in ARIA 1.1
1354
1671
  */
1355
- margin: SpacingValueType$1 | ArrayOfMaxLength4$1<SpacingValueType$1>;
1672
+ grabbed?: boolean;
1356
1673
  /**
1357
- * ### Margin Horizontal
1358
- *
1359
- * #### Usage
1360
- *
1361
- * ```jsx
1362
- * marginX="spacing.3"
1363
- * marginX="20px"
1364
- * ```
1365
- *
1366
- * ---
1367
- * #### Spacing to Pixel values
1368
- *
1369
- * - `spacing.0` - 0px
1370
- * - `spacing.1` - 2px
1371
- * - `spacing.2` - 4px
1372
- * - `spacing.3` - 8px
1373
- * - `spacing.4` - 12px
1374
- * - `spacing.5` - 16px
1375
- * - `spacing.6` - 20px
1376
- * - `spacing.7` - 24px
1377
- * - `spacing.8` - 32px
1378
- * - `spacing.9` - 40px
1379
- * - `spacing.10` - 48px
1380
- * - `spacing.11` - 56px
1381
- *
1382
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1383
- *
1674
+ * Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.
1384
1675
  */
1385
- marginX: SpacingValueType$1;
1676
+ hasPopup?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
1386
1677
  /**
1387
- * ### Margin Vertical
1388
- *
1389
- * #### Usage
1390
- *
1391
- * ```jsx
1392
- * marginY="spacing.3"
1393
- * marginY="20px"
1394
- * ```
1395
- *
1396
- * ---
1397
- * #### Spacing to Pixel values
1398
- *
1399
- * - `spacing.0` - 0px
1400
- * - `spacing.1` - 2px
1401
- * - `spacing.2` - 4px
1402
- * - `spacing.3` - 8px
1403
- * - `spacing.4` - 12px
1404
- * - `spacing.5` - 16px
1405
- * - `spacing.6` - 20px
1406
- * - `spacing.7` - 24px
1407
- * - `spacing.8` - 32px
1408
- * - `spacing.9` - 40px
1409
- * - `spacing.10` - 48px
1410
- * - `spacing.11` - 56px
1411
- *
1412
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1413
- *
1678
+ * Indicates whether the element is exposed to an accessibility API.
1679
+ * @see aria-disabled.
1414
1680
  */
1415
- marginY: SpacingValueType$1;
1681
+ hidden?: boolean;
1416
1682
  /**
1417
- * ### Margin Top
1418
- *
1419
- * #### Usage
1420
- *
1421
- * ```jsx
1422
- * marginTop="spacing.3"
1423
- * marginTop="20px"
1424
- * ```
1425
- *
1426
- * ---
1427
- * #### Spacing to Pixel values
1428
- *
1429
- * - `spacing.0` - 0px
1430
- * - `spacing.1` - 2px
1431
- * - `spacing.2` - 4px
1432
- * - `spacing.3` - 8px
1433
- * - `spacing.4` - 12px
1434
- * - `spacing.5` - 16px
1435
- * - `spacing.6` - 20px
1436
- * - `spacing.7` - 24px
1437
- * - `spacing.8` - 32px
1438
- * - `spacing.9` - 40px
1439
- * - `spacing.10` - 48px
1440
- * - `spacing.11` - 56px
1441
- *
1442
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1683
+ * Indicates the entered value does not conform to the format expected by the application.
1684
+ * @see aria-errormessage.
1443
1685
  */
1444
- marginTop: SpacingValueType$1;
1686
+ invalid?: boolean | 'grammar' | 'spelling';
1445
1687
  /**
1446
- * ### Margin Right
1447
- *
1448
- * #### Usage
1449
- *
1450
- * ```jsx
1451
- * marginRight="spacing.3"
1452
- * marginRight="20px"
1453
- * ```
1454
- *
1455
- * ---
1456
- * #### Spacing to Pixel values
1457
- *
1458
- * - `spacing.0` - 0px
1459
- * - `spacing.1` - 2px
1460
- * - `spacing.2` - 4px
1461
- * - `spacing.3` - 8px
1462
- * - `spacing.4` - 12px
1463
- * - `spacing.5` - 16px
1464
- * - `spacing.6` - 20px
1465
- * - `spacing.7` - 24px
1466
- * - `spacing.8` - 32px
1467
- * - `spacing.9` - 40px
1468
- * - `spacing.10` - 48px
1469
- * - `spacing.11` - 56px
1470
- *
1471
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1688
+ * Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.
1689
+ */
1690
+ keyShortcuts?: string;
1691
+ /**
1692
+ * Defines a string value that labels the current element.
1693
+ * @see aria-labelledby.
1694
+ */
1695
+ label?: string;
1696
+ /**
1697
+ * Identifies the element (or elements) that labels the current element.
1698
+ * @see aria-describedby.
1472
1699
  */
1473
- marginRight: SpacingValueType$1;
1700
+ labelledBy?: string;
1474
1701
  /**
1475
- * ### Margin Bottom
1476
- *
1477
- * #### Usage
1478
- *
1479
- * ```jsx
1480
- * marginBottom="spacing.3"
1481
- * marginBottom="20px"
1482
- * ```
1483
- *
1484
- * ---
1485
- * #### Spacing to Pixel values
1486
- *
1487
- * - `spacing.0` - 0px
1488
- * - `spacing.1` - 2px
1489
- * - `spacing.2` - 4px
1490
- * - `spacing.3` - 8px
1491
- * - `spacing.4` - 12px
1492
- * - `spacing.5` - 16px
1493
- * - `spacing.6` - 20px
1494
- * - `spacing.7` - 24px
1495
- * - `spacing.8` - 32px
1496
- * - `spacing.9` - 40px
1497
- * - `spacing.10` - 48px
1498
- * - `spacing.11` - 56px
1499
- *
1500
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1702
+ * Defines the hierarchical level of an element within a structure.
1501
1703
  */
1502
- marginBottom: SpacingValueType$1;
1704
+ level?: number;
1503
1705
  /**
1504
- * ### Margin Left
1505
- *
1506
- * #### Usage
1507
- *
1508
- * ```jsx
1509
- * marginLeft="spacing.3"
1510
- * marginLeft="20px"
1511
- * ```
1512
- *
1513
- * ---
1514
- * #### Spacing to Pixel values
1515
- *
1516
- * - `spacing.0` - 0px
1517
- * - `spacing.1` - 2px
1518
- * - `spacing.2` - 4px
1519
- * - `spacing.3` - 8px
1520
- * - `spacing.4` - 12px
1521
- * - `spacing.5` - 16px
1522
- * - `spacing.6` - 20px
1523
- * - `spacing.7` - 24px
1524
- * - `spacing.8` - 32px
1525
- * - `spacing.9` - 40px
1526
- * - `spacing.10` - 48px
1527
- * - `spacing.11` - 56px
1528
- *
1529
- * {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--page&globals=measureEnabled:false Spacing Token Ref}
1706
+ * Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.
1530
1707
  */
1531
- marginLeft: SpacingValueType$1;
1532
- }>;
1533
-
1534
- /* eslint-disable @typescript-eslint/no-explicit-any */
1535
-
1536
-
1537
- type BladeCommonEvents$1 = {
1538
- onBlur?: Platform.Select<{
1539
- native: undefined | ((event: any) => void);
1540
- web: React.FocusEventHandler;
1541
- }>;
1542
- onFocus?: Platform.Select<{
1543
- native: undefined | ((event: any) => void);
1544
- web: React.FocusEventHandler;
1545
- }>;
1546
- onMouseLeave?: Platform.Select<{ web: React.MouseEventHandler; native: undefined }>;
1547
- onMouseMove?: Platform.Select<{ web: React.MouseEventHandler; native: undefined }>;
1548
- onPointerDown?: Platform.Select<{ web: React.PointerEventHandler; native: undefined }>;
1549
- onPointerEnter?: Platform.Select<{ web: React.PointerEventHandler; native: undefined }>;
1550
- onTouchStart?: Platform.Select<{
1551
- native: undefined | ((event: any) => void);
1552
- web: React.TouchEventHandler;
1553
- }>;
1554
- onTouchEnd?: Platform.Select<{
1555
- native: undefined | ((event: any) => void);
1556
- web: React.TouchEventHandler;
1557
- }>;
1558
- };
1559
-
1560
- type LayoutProps$1 = MakeObjectResponsive$1<
1561
- {
1562
- height: SpacingValueType$1;
1563
- minHeight: SpacingValueType$1;
1564
- maxHeight: SpacingValueType$1;
1565
- width: SpacingValueType$1;
1566
- minWidth: SpacingValueType$1;
1567
- maxWidth: SpacingValueType$1;
1568
- } & PickCSSByPlatform<'display' | 'overflow' | 'overflowX' | 'overflowY' | 'textAlign'>
1569
- >;
1570
-
1571
- type FlexboxProps$1 = MakeObjectResponsive$1<
1572
- {
1573
- /**
1574
- * This uses the native gap property which might not work on older browsers.
1575
- * If you want to support older browsers, you might want to use `margin` instead.
1576
- *
1577
- * @see https://caniuse.com/?search=gap
1578
- */
1579
- gap: SpacingValueType$1;
1580
- /**
1581
- * This uses the native row-gap property which might not work on older browsers.
1582
- * If you want to support older browsers, you might want to use `margin` instead.
1583
- *
1584
- * @see https://caniuse.com/?search=row-gap
1585
- */
1586
- rowGap: SpacingValueType$1;
1587
- /**
1588
- * This uses the native column-gap property which might not work on older browsers.
1589
- * If you want to support older browsers, you might want to use `margin` instead.
1590
- *
1591
- * @see https://caniuse.com/?search=column-gap
1592
- */
1593
- columnGap: SpacingValueType$1;
1594
- /**
1595
- * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.
1596
- *
1597
- * @see https://developer.mozilla.org/docs/Web/CSS/flex
1598
- */
1599
- flex: string | number;
1600
- } & PickCSSByPlatform<
1601
- | 'flexWrap'
1602
- | 'flexDirection'
1603
- | 'flexGrow'
1604
- | 'flexShrink'
1605
- | 'flexBasis'
1606
- | 'alignItems'
1607
- | 'alignContent'
1608
- | 'alignSelf'
1609
- | 'justifyItems'
1610
- | 'justifyContent'
1611
- | 'justifySelf'
1612
- | 'placeSelf'
1613
- | 'order'
1614
- >
1615
- >;
1616
-
1617
- type PositionProps$1 = MakeObjectResponsive$1<
1618
- {
1619
- top: SpacingValueType$1;
1620
- right: SpacingValueType$1;
1621
- bottom: SpacingValueType$1;
1622
- left: SpacingValueType$1;
1623
- } & PickCSSByPlatform<'position' | 'zIndex'>
1624
- >;
1625
-
1626
- type GridProps$1 = MakeObjectResponsive$1<
1627
- PickCSSByPlatform<
1628
- | 'grid'
1629
- | 'gridColumn'
1630
- | 'gridRow'
1631
- | 'gridRowStart'
1632
- | 'gridRowEnd'
1633
- | 'gridColumnStart'
1634
- | 'gridColumnEnd'
1635
- | 'gridArea'
1636
- | 'gridAutoFlow'
1637
- | 'gridAutoRows'
1638
- | 'gridAutoColumns'
1639
- | 'gridTemplate'
1640
- | 'gridTemplateAreas'
1641
- | 'gridTemplateColumns'
1642
- | 'gridTemplateRows'
1643
- >
1644
- >;
1645
-
1646
- type ColorObjects$1 = 'feedback' | 'surface' | 'action';
1647
- type BackgroundColorString$1<T extends ColorObjects$1> = `${T}.background.${DotNotationColorStringToken<
1648
- Theme$1['colors'][T]['background']
1649
- >}`;
1650
- type BorderColorString$1<T extends ColorObjects$1> = `${T}.border.${DotNotationColorStringToken<
1651
- Theme$1['colors'][T]['border']
1652
- >}`;
1653
-
1654
- // Created this as an array so I can reuse it for runtime validation
1655
- declare const validBoxAsValues$1 = [
1656
- 'div',
1657
- 'section',
1658
- 'footer',
1659
- 'header',
1660
- 'main',
1661
- 'aside',
1662
- 'nav',
1663
- 'span',
1664
- 'label',
1665
- ] as const;
1666
-
1667
- type BoxAsType$1 = typeof validBoxAsValues$1[number];
1668
-
1669
- type BaseBoxVisualProps = MakeObjectResponsive$1<
1670
- {
1671
- borderRadius: keyof Border['radius'];
1672
- backgroundColor:
1673
- | BackgroundColorString$1<'feedback'>
1674
- | BackgroundColorString$1<'surface'>
1675
- | BackgroundColorString$1<'action'>
1676
- | (string & Record<never, never>);
1677
- lineHeight: SpacingValueType$1;
1678
- touchAction: CSSObject['touchAction'];
1679
- userSelect: CSSObject['userSelect'];
1680
- borderWidth: keyof Border['width'];
1681
- borderColor: BorderColorString$1<'surface'>;
1682
- borderTopWidth: keyof Border['width'];
1683
- borderTopColor: BorderColorString$1<'surface'>;
1684
- borderRightWidth: keyof Border['width'];
1685
- borderRightColor: BorderColorString$1<'surface'>;
1686
- borderBottomWidth: keyof Border['width'];
1687
- borderBottomColor: BorderColorString$1<'surface'>;
1688
- borderLeftWidth: keyof Border['width'];
1689
- borderLeftColor: BorderColorString$1<'surface'>;
1690
- borderTopLeftRadius: keyof Border['radius'];
1691
- borderTopRightRadius: keyof Border['radius'];
1692
- borderBottomRightRadius: keyof Border['radius'];
1693
- borderBottomLeftRadius: keyof Border['radius'];
1694
- } & PickCSSByPlatform<
1695
- | 'border'
1696
- | 'borderLeft'
1697
- | 'borderRight'
1698
- | 'borderTop'
1699
- | 'borderBottom'
1700
- | 'opacity'
1701
- | 'pointerEvents'
1702
- >
1703
- >;
1704
-
1705
- type BoxVisualProps$1 = MakeObjectResponsive$1<{
1706
- backgroundColor: BackgroundColorString$1<'surface'>;
1707
- borderWidth: keyof Border['width'];
1708
- borderColor: BorderColorString$1<'surface'>;
1709
- borderTopWidth: keyof Border['width'];
1710
- borderTopColor: BorderColorString$1<'surface'>;
1711
- borderRightWidth: keyof Border['width'];
1712
- borderRightColor: BorderColorString$1<'surface'>;
1713
- borderBottomWidth: keyof Border['width'];
1714
- borderBottomColor: BorderColorString$1<'surface'>;
1715
- borderLeftWidth: keyof Border['width'];
1716
- borderLeftColor: BorderColorString$1<'surface'>;
1717
- borderRadius: keyof Border['radius'];
1718
- borderTopLeftRadius: keyof Border['radius'];
1719
- borderTopRightRadius: keyof Border['radius'];
1720
- borderBottomRightRadius: keyof Border['radius'];
1721
- borderBottomLeftRadius: keyof Border['radius'];
1722
- }> & {
1723
- // Intentionally keeping this outside of MakeObjectResponsive since we only want as to be string and not responsive object
1724
- // styled-components do not support passing `as` prop as an object
1725
- as: BoxAsType$1;
1708
+ liveRegion?: 'off' | 'assertive' | 'polite';
1709
+ /**
1710
+ * Indicates whether an element is modal when displayed.
1711
+ */
1712
+ modal?: boolean;
1713
+ /**
1714
+ * Indicates whether a text box accepts multiple lines of input or only a single line.
1715
+ */
1716
+ multiline?: boolean;
1717
+ /**
1718
+ * Indicates that the user may select more than one item from the current selectable descendants.
1719
+ */
1720
+ multiSelectable?: boolean;
1721
+ /**
1722
+ * Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.
1723
+ */
1724
+ orientation?: 'horizontal' | 'vertical';
1725
+ /**
1726
+ * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
1727
+ * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
1728
+ * @see aria-controls.
1729
+ */
1730
+ owns?: string;
1731
+ /**
1732
+ * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
1733
+ * A hint could be a sample value or a brief description of the expected format.
1734
+ */
1735
+ placeholder?: string;
1736
+ /**
1737
+ * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
1738
+ * @see aria-setsize.
1739
+ */
1740
+ posInSet?: number;
1741
+ /**
1742
+ * Indicates the current "pressed" state of toggle buttons.
1743
+ * @see aria-checked @see aria-selected.
1744
+ */
1745
+ pressed?: boolean | 'mixed';
1746
+ /**
1747
+ * Indicates that the element is not editable, but is otherwise operable.
1748
+ * @see aria-disabled.
1749
+ */
1750
+ readOnly?: boolean;
1751
+ /**
1752
+ * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
1753
+ * @see aria-atomic.
1754
+ */
1755
+ relevant?:
1756
+ | 'additions'
1757
+ | 'additions removals'
1758
+ | 'additions text'
1759
+ | 'all'
1760
+ | 'removals'
1761
+ | 'removals additions'
1762
+ | 'removals text'
1763
+ | 'text'
1764
+ | 'text additions'
1765
+ | 'text removals';
1766
+ /**
1767
+ * Indicates that user input is required on the element before a form may be submitted.
1768
+ */
1769
+ required?: boolean;
1770
+ /**
1771
+ * Defines a human-readable, author-localized description for the role of an element.
1772
+ */
1773
+ roleDescription?: string;
1774
+ /**
1775
+ * Defines the total number of rows in a table, grid, or treegrid.
1776
+ * @see aria-rowindex.
1777
+ */
1778
+ rowCount?: number;
1779
+ /**
1780
+ * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
1781
+ * @see aria-rowcount @see aria-rowspan.
1782
+ */
1783
+ rowIndex?: number;
1784
+ /**
1785
+ * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
1786
+ * @see aria-rowindex @see aria-colspan.
1787
+ */
1788
+ rowSpan?: number;
1789
+ /**
1790
+ * Indicates the current "selected" state of various widgets.
1791
+ * @see aria-checked @see aria-pressed.
1792
+ */
1793
+ selected?: boolean;
1794
+ /**
1795
+ * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
1796
+ * @see aria-posinset.
1797
+ */
1798
+ setSize?: number;
1799
+ /**
1800
+ * Indicates if items in a table or grid are sorted in ascending or descending order.
1801
+ */
1802
+ sort?: 'none' | 'ascending' | 'descending' | 'other';
1803
+ /**
1804
+ * Defines the maximum allowed value for a range widget.
1805
+ */
1806
+ valueMax?: number;
1807
+ /**
1808
+ * Defines the minimum allowed value for a range widget.
1809
+ */
1810
+ valueMin?: number;
1811
+ /**
1812
+ * Defines the current value for a range widget.
1813
+ * @see aria-valuetext.
1814
+ */
1815
+ valueNow?: number;
1816
+ /**
1817
+ * Defines the human readable text alternative of aria-valuenow for a range widget.
1818
+ */
1819
+ valueText?: string;
1726
1820
  };
1727
1821
 
1728
- type StyledPropsBlade = Partial<
1729
- Omit<
1730
- MarginProps$1 &
1731
- Pick<FlexboxProps$1, 'alignSelf' | 'justifySelf' | 'placeSelf' | 'order'> &
1732
- PositionProps$1 &
1733
- Pick<
1734
- GridProps$1,
1735
- | 'gridColumn'
1736
- | 'gridRow'
1737
- | 'gridRowStart'
1738
- | 'gridRowEnd'
1739
- | 'gridColumnStart'
1740
- | 'gridColumnEnd'
1741
- | 'gridArea'
1742
- >,
1743
- '__brand__'
1744
- >
1745
- >;
1746
-
1747
- type BoxCallbackProps$1 = Omit<
1748
- Platform.Select<{
1749
- web: {
1750
- /**
1751
- * **Warning**
1752
- *
1753
- * Make sure to not use Box when you want to create a trigger that performs action on hover.
1754
- * You would probably want to render it as `button` using `styled.button` instead.
1755
- *
1756
- * Use this for hoverable containers in cases like custom menus.
1757
- */
1758
- onMouseOver: React.MouseEventHandler<HTMLElement>;
1759
- /**
1760
- * **Warning**
1761
- *
1762
- * Make sure to not use Box when you want to create a trigger that performs action on hover.
1763
- * You would probably want to render it as `button` using `styled.button` instead.
1764
- *
1765
- * Use this for hoverable containers in cases like custom menus.
1766
- */
1767
- onMouseEnter: React.MouseEventHandler<HTMLElement>;
1768
- /**
1769
- * **Warning**
1770
- *
1771
- * Make sure to not use Box when you want to create a trigger that performs action on hover.
1772
- * You would probably want to render it as `button` using `styled.button` instead.
1773
- *
1774
- * Use this for hoverable containers in cases like custom menus.
1775
- */
1776
- onMouseLeave: React.MouseEventHandler<HTMLElement>;
1777
- onScroll: React.UIEventHandler<HTMLElement>;
1778
- };
1779
- native: Record<'onMouseOver' | 'onMouseEnter' | 'onMouseLeave' | 'onScroll', undefined>;
1780
- }>,
1781
- '__brand__'
1782
- >;
1783
-
1784
- type BoxProps$1 = Partial<
1785
- PaddingProps$1 &
1786
- MarginProps$1 &
1787
- LayoutProps$1 &
1788
- FlexboxProps$1 &
1789
- PositionProps$1 &
1790
- GridProps$1 &
1791
- BoxCallbackProps$1 &
1792
- BoxVisualProps$1 & {
1793
- children?: React.ReactNode | React.ReactNode[];
1794
- tabIndex?: number;
1795
- } & TestID
1796
- >;
1797
-
1798
- // Visual props have different types for BaseBox and Box. BaseBox has more flexible types and more props exposed.
1799
- // So first we Omit Visual props of Box
1800
- // Then we append BaseBoxVisualProps and some other props for styled-components like class and id
1801
- type BaseBoxProps = Omit<BoxProps$1, keyof BoxVisualProps$1> &
1802
- Partial<
1803
- BaseBoxVisualProps & {
1804
- className?: string;
1805
- id?: string;
1806
- tabIndex?: number;
1807
- }
1808
- > &
1809
- BladeCommonEvents$1;
1810
-
1811
1822
  type FeedbackIconColors$1 = `feedback.icon.${DotNotationColorStringToken<
1812
1823
  Theme$1['colors']['feedback']['icon']
1813
1824
  >}`;
@@ -2635,8 +2646,8 @@ declare type BackgroundColorString<T extends ColorObjects> = `${T}.background.${
2635
2646
  declare type BorderColorString<T extends ColorObjects> = `${T}.border.${DotNotationColorStringToken<Theme$1['colors'][T]['border']>}`;
2636
2647
  declare const validBoxAsValues: readonly ["div", "section", "footer", "header", "main", "aside", "nav", "span", "label"];
2637
2648
  declare type BoxAsType = typeof validBoxAsValues[number];
2638
- declare type BoxVisualProps = MakeObjectResponsive<{
2639
- backgroundColor: BackgroundColorString<'surface'>;
2649
+ declare type CommonBoxVisualProps = MakeObjectResponsive<{
2650
+ borderRadius: keyof Border['radius'];
2640
2651
  borderWidth: keyof Border['width'];
2641
2652
  borderColor: BorderColorString<'surface'>;
2642
2653
  borderTopWidth: keyof Border['width'];
@@ -2647,11 +2658,13 @@ declare type BoxVisualProps = MakeObjectResponsive<{
2647
2658
  borderBottomColor: BorderColorString<'surface'>;
2648
2659
  borderLeftWidth: keyof Border['width'];
2649
2660
  borderLeftColor: BorderColorString<'surface'>;
2650
- borderRadius: keyof Border['radius'];
2651
2661
  borderTopLeftRadius: keyof Border['radius'];
2652
2662
  borderTopRightRadius: keyof Border['radius'];
2653
2663
  borderBottomRightRadius: keyof Border['radius'];
2654
2664
  borderBottomLeftRadius: keyof Border['radius'];
2665
+ } & PickCSSByPlatform<'backgroundImage' | 'backgroundSize' | 'backgroundPosition' | 'backgroundOrigin' | 'backgroundRepeat'>>;
2666
+ declare type BoxVisualProps = MakeObjectResponsive<{
2667
+ backgroundColor: BackgroundColorString<'surface'>;
2655
2668
  }> & {
2656
2669
  as: BoxAsType;
2657
2670
  };
@@ -2688,7 +2701,7 @@ declare type BoxCallbackProps = Omit<Platform.Select<{
2688
2701
  };
2689
2702
  native: Record<'onMouseOver' | 'onMouseEnter' | 'onMouseLeave' | 'onScroll', undefined>;
2690
2703
  }>, '__brand__'>;
2691
- declare type BoxProps = Partial<PaddingProps & MarginProps & LayoutProps & FlexboxProps & PositionProps & GridProps & BoxCallbackProps & BoxVisualProps & {
2704
+ declare type BoxProps = Partial<PaddingProps & MarginProps & LayoutProps & FlexboxProps & PositionProps & GridProps & BoxCallbackProps & CommonBoxVisualProps & BoxVisualProps & {
2692
2705
  children?: React.ReactNode | React.ReactNode[];
2693
2706
  tabIndex?: number;
2694
2707
  } & TestID>;
@@ -2714,14 +2727,6 @@ declare const Box: React__default.ForwardRefExoticComponent<Partial<PaddingProps
2714
2727
  readonly l?: "none" | "flex" | undefined;
2715
2728
  readonly xl?: "none" | "flex" | undefined;
2716
2729
  } | undefined;
2717
- overflow?: "hidden" | "scroll" | "visible" | {
2718
- readonly base?: "hidden" | "scroll" | "visible" | undefined;
2719
- readonly xs?: "hidden" | "scroll" | "visible" | undefined;
2720
- readonly s?: "hidden" | "scroll" | "visible" | undefined;
2721
- readonly m?: "hidden" | "scroll" | "visible" | undefined;
2722
- readonly l?: "hidden" | "scroll" | "visible" | undefined;
2723
- readonly xl?: "hidden" | "scroll" | "visible" | undefined;
2724
- } | undefined;
2725
2730
  height: SpacingValueType | {
2726
2731
  readonly base?: SpacingValueType | undefined;
2727
2732
  readonly xs?: SpacingValueType | undefined;
@@ -2765,6 +2770,14 @@ declare const Box: React__default.ForwardRefExoticComponent<Partial<PaddingProps
2765
2770
  overflowX: never;
2766
2771
  overflowY: never;
2767
2772
  textAlign: never;
2773
+ overflow?: "hidden" | "scroll" | "visible" | {
2774
+ readonly base?: "hidden" | "scroll" | "visible" | undefined;
2775
+ readonly xs?: "hidden" | "scroll" | "visible" | undefined;
2776
+ readonly s?: "hidden" | "scroll" | "visible" | undefined;
2777
+ readonly m?: "hidden" | "scroll" | "visible" | undefined;
2778
+ readonly l?: "hidden" | "scroll" | "visible" | undefined;
2779
+ readonly xl?: "hidden" | "scroll" | "visible" | undefined;
2780
+ } | undefined;
2768
2781
  __brand__?: "platform-native" | {
2769
2782
  readonly base?: "platform-native" | undefined;
2770
2783
  readonly xs?: "platform-native" | undefined;
@@ -2774,7 +2787,6 @@ declare const Box: React__default.ForwardRefExoticComponent<Partial<PaddingProps
2774
2787
  readonly xl?: "platform-native" | undefined;
2775
2788
  } | undefined;
2776
2789
  } & {
2777
- order: never;
2778
2790
  alignContent?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | {
2779
2791
  readonly base?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
2780
2792
  readonly xs?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
@@ -2857,6 +2869,7 @@ declare const Box: React__default.ForwardRefExoticComponent<Partial<PaddingProps
2857
2869
  } | undefined;
2858
2870
  justifyItems: never;
2859
2871
  justifySelf: never;
2872
+ order: never;
2860
2873
  rowGap: SpacingValueType | {
2861
2874
  readonly base?: SpacingValueType | undefined;
2862
2875
  readonly xs?: SpacingValueType | undefined;
@@ -2948,7 +2961,6 @@ declare const Box: React__default.ForwardRefExoticComponent<Partial<PaddingProps
2948
2961
  readonly xl?: "platform-native" | undefined;
2949
2962
  } | undefined;
2950
2963
  } & {
2951
- grid: never;
2952
2964
  gridAutoColumns: never;
2953
2965
  gridAutoFlow: never;
2954
2966
  gridAutoRows: never;
@@ -2959,6 +2971,7 @@ declare const Box: React__default.ForwardRefExoticComponent<Partial<PaddingProps
2959
2971
  gridTemplateAreas: never;
2960
2972
  gridTemplateColumns: never;
2961
2973
  gridTemplateRows: never;
2974
+ grid: never;
2962
2975
  gridArea: never;
2963
2976
  gridColumn: never;
2964
2977
  gridRow: never;
@@ -2976,25 +2989,144 @@ declare const Box: React__default.ForwardRefExoticComponent<Partial<PaddingProps
2976
2989
  onMouseEnter: undefined;
2977
2990
  onMouseLeave: undefined;
2978
2991
  onScroll: undefined;
2992
+ } & {
2993
+ backgroundImage: never;
2994
+ backgroundOrigin: never;
2995
+ backgroundRepeat: never;
2996
+ backgroundSize: never;
2997
+ borderBottomColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | {
2998
+ readonly base?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
2999
+ readonly xs?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3000
+ readonly s?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3001
+ readonly m?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3002
+ readonly l?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3003
+ readonly xl?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3004
+ };
3005
+ borderBottomLeftRadius: "none" | "small" | "medium" | "large" | "max" | "round" | {
3006
+ readonly base?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3007
+ readonly xs?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3008
+ readonly s?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3009
+ readonly m?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3010
+ readonly l?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3011
+ readonly xl?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3012
+ };
3013
+ borderBottomRightRadius: "none" | "small" | "medium" | "large" | "max" | "round" | {
3014
+ readonly base?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3015
+ readonly xs?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3016
+ readonly s?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3017
+ readonly m?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3018
+ readonly l?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3019
+ readonly xl?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3020
+ };
3021
+ borderBottomWidth: "none" | "thin" | "thick" | {
3022
+ readonly base?: "none" | "thin" | "thick" | undefined;
3023
+ readonly xs?: "none" | "thin" | "thick" | undefined;
3024
+ readonly s?: "none" | "thin" | "thick" | undefined;
3025
+ readonly m?: "none" | "thin" | "thick" | undefined;
3026
+ readonly l?: "none" | "thin" | "thick" | undefined;
3027
+ readonly xl?: "none" | "thin" | "thick" | undefined;
3028
+ };
3029
+ borderLeftColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | {
3030
+ readonly base?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3031
+ readonly xs?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3032
+ readonly s?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3033
+ readonly m?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3034
+ readonly l?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3035
+ readonly xl?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3036
+ };
3037
+ borderLeftWidth: "none" | "thin" | "thick" | {
3038
+ readonly base?: "none" | "thin" | "thick" | undefined;
3039
+ readonly xs?: "none" | "thin" | "thick" | undefined;
3040
+ readonly s?: "none" | "thin" | "thick" | undefined;
3041
+ readonly m?: "none" | "thin" | "thick" | undefined;
3042
+ readonly l?: "none" | "thin" | "thick" | undefined;
3043
+ readonly xl?: "none" | "thin" | "thick" | undefined;
3044
+ };
3045
+ borderRightColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | {
3046
+ readonly base?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3047
+ readonly xs?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3048
+ readonly s?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3049
+ readonly m?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3050
+ readonly l?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3051
+ readonly xl?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3052
+ };
3053
+ borderRightWidth: "none" | "thin" | "thick" | {
3054
+ readonly base?: "none" | "thin" | "thick" | undefined;
3055
+ readonly xs?: "none" | "thin" | "thick" | undefined;
3056
+ readonly s?: "none" | "thin" | "thick" | undefined;
3057
+ readonly m?: "none" | "thin" | "thick" | undefined;
3058
+ readonly l?: "none" | "thin" | "thick" | undefined;
3059
+ readonly xl?: "none" | "thin" | "thick" | undefined;
3060
+ };
3061
+ borderTopColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | {
3062
+ readonly base?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3063
+ readonly xs?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3064
+ readonly s?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3065
+ readonly m?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3066
+ readonly l?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3067
+ readonly xl?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3068
+ };
3069
+ borderTopLeftRadius: "none" | "small" | "medium" | "large" | "max" | "round" | {
3070
+ readonly base?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3071
+ readonly xs?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3072
+ readonly s?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3073
+ readonly m?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3074
+ readonly l?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3075
+ readonly xl?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3076
+ };
3077
+ borderTopRightRadius: "none" | "small" | "medium" | "large" | "max" | "round" | {
3078
+ readonly base?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3079
+ readonly xs?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3080
+ readonly s?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3081
+ readonly m?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3082
+ readonly l?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3083
+ readonly xl?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3084
+ };
3085
+ borderTopWidth: "none" | "thin" | "thick" | {
3086
+ readonly base?: "none" | "thin" | "thick" | undefined;
3087
+ readonly xs?: "none" | "thin" | "thick" | undefined;
3088
+ readonly s?: "none" | "thin" | "thick" | undefined;
3089
+ readonly m?: "none" | "thin" | "thick" | undefined;
3090
+ readonly l?: "none" | "thin" | "thick" | undefined;
3091
+ readonly xl?: "none" | "thin" | "thick" | undefined;
3092
+ };
3093
+ backgroundPosition: never;
3094
+ borderColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | {
3095
+ readonly base?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3096
+ readonly xs?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3097
+ readonly s?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3098
+ readonly m?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3099
+ readonly l?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3100
+ readonly xl?: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast" | undefined;
3101
+ };
3102
+ borderRadius: "none" | "small" | "medium" | "large" | "max" | "round" | {
3103
+ readonly base?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3104
+ readonly xs?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3105
+ readonly s?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3106
+ readonly m?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3107
+ readonly l?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3108
+ readonly xl?: "none" | "small" | "medium" | "large" | "max" | "round" | undefined;
3109
+ };
3110
+ borderWidth: "none" | "thin" | "thick" | {
3111
+ readonly base?: "none" | "thin" | "thick" | undefined;
3112
+ readonly xs?: "none" | "thin" | "thick" | undefined;
3113
+ readonly s?: "none" | "thin" | "thick" | undefined;
3114
+ readonly m?: "none" | "thin" | "thick" | undefined;
3115
+ readonly l?: "none" | "thin" | "thick" | undefined;
3116
+ readonly xl?: "none" | "thin" | "thick" | undefined;
3117
+ };
3118
+ __brand__?: "platform-native" | {
3119
+ readonly base?: "platform-native" | undefined;
3120
+ readonly xs?: "platform-native" | undefined;
3121
+ readonly s?: "platform-native" | undefined;
3122
+ readonly m?: "platform-native" | undefined;
3123
+ readonly l?: "platform-native" | undefined;
3124
+ readonly xl?: "platform-native" | undefined;
3125
+ } | undefined;
2979
3126
  } & MakeObjectResponsive<{
2980
3127
  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";
2981
- borderWidth: "none" | "thin" | "thick";
2982
- borderColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast";
2983
- borderTopWidth: "none" | "thin" | "thick";
2984
- borderTopColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast";
2985
- borderRightWidth: "none" | "thin" | "thick";
2986
- borderRightColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast";
2987
- borderBottomWidth: "none" | "thin" | "thick";
2988
- borderBottomColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast";
2989
- borderLeftWidth: "none" | "thin" | "thick";
2990
- borderLeftColor: "surface.border.normal.lowContrast" | "surface.border.normal.highContrast" | "surface.border.subtle.lowContrast" | "surface.border.subtle.highContrast";
2991
- borderRadius: "none" | "small" | "medium" | "large" | "max" | "round";
2992
- borderTopLeftRadius: "none" | "small" | "medium" | "large" | "max" | "round";
2993
- borderTopRightRadius: "none" | "small" | "medium" | "large" | "max" | "round";
2994
- borderBottomRightRadius: "none" | "small" | "medium" | "large" | "max" | "round";
2995
- borderBottomLeftRadius: "none" | "small" | "medium" | "large" | "max" | "round";
2996
- }, "backgroundColor" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomWidth" | "borderLeftColor" | "borderLeftWidth" | "borderRightColor" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopWidth" | "borderColor" | "borderRadius" | "borderWidth"> & {
2997
- as: "header" | "main" | "label" | "aside" | "div" | "footer" | "nav" | "section" | "span";
3128
+ }, "backgroundColor"> & {
3129
+ as: "aside" | "div" | "footer" | "header" | "label" | "main" | "nav" | "section" | "span";
2998
3130
  } & {
2999
3131
  children?: React__default.ReactNode | React__default.ReactNode[];
3000
3132
  tabIndex?: number | undefined;
@@ -3063,16 +3195,6 @@ declare type CardBodyProps = {
3063
3195
  } & TestID;
3064
3196
  declare const CardBody: ({ children, testID }: CardBodyProps) => React__default.ReactElement;
3065
3197
 
3066
- /* eslint-disable @typescript-eslint/no-explicit-any */
3067
-
3068
-
3069
- type BladeElementRef = Platform.Select<{
3070
- web:
3071
- | Pick<HTMLElement, 'focus' | 'scrollIntoView' | 'getBoundingClientRect' | 'clientHeight'>
3072
- | Pick<View, 'focus'>;
3073
- native: React.MutableRefObject<any>;
3074
- }>;
3075
-
3076
3198
  declare type BaseLinkCommonProps = {
3077
3199
  intent?: 'positive' | 'negative' | 'notice' | 'information' | 'neutral';
3078
3200
  contrast?: 'low' | 'high';
@@ -3362,7 +3484,7 @@ type BaseTextProps$1 = {
3362
3484
  * React Native only
3363
3485
  */
3364
3486
  numberOfLines?: number;
3365
- componentName?: 'text' | 'title' | 'heading' | 'code';
3487
+ componentName?: 'base-text' | 'text' | 'title' | 'heading' | 'code';
3366
3488
  } & TestID &
3367
3489
  StyledPropsBlade;
3368
3490
 
@@ -3384,6 +3506,7 @@ type TextCommonProps$1 = {
3384
3506
  */
3385
3507
  color?: BaseTextProps$1['color'];
3386
3508
  textAlign?: BaseTextProps$1['textAlign'];
3509
+ textDecorationLine?: BaseTextProps$1['textDecorationLine'];
3387
3510
  } & TestID &
3388
3511
  StyledPropsBlade;
3389
3512
 
@@ -3687,7 +3810,6 @@ declare const Checkbox: React__default.ForwardRefExoticComponent<{
3687
3810
  */
3688
3811
  tabIndex?: number | undefined;
3689
3812
  } & TestID & Partial<Omit<MarginProps & Pick<{
3690
- order: never;
3691
3813
  alignContent?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | {
3692
3814
  readonly base?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
3693
3815
  readonly xs?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
@@ -3770,6 +3892,7 @@ declare const Checkbox: React__default.ForwardRefExoticComponent<{
3770
3892
  } | undefined;
3771
3893
  justifyItems: never;
3772
3894
  justifySelf: never;
3895
+ order: never;
3773
3896
  rowGap: SpacingValueType | {
3774
3897
  readonly base?: SpacingValueType | undefined;
3775
3898
  readonly xs?: SpacingValueType | undefined;
@@ -3803,7 +3926,7 @@ declare const Checkbox: React__default.ForwardRefExoticComponent<{
3803
3926
  readonly l?: "platform-native" | undefined;
3804
3927
  readonly xl?: "platform-native" | undefined;
3805
3928
  } | undefined;
3806
- }, "order" | "alignSelf" | "justifySelf" | "placeSelf"> & {
3929
+ }, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & {
3807
3930
  bottom: SpacingValueType | {
3808
3931
  readonly base?: SpacingValueType | undefined;
3809
3932
  readonly xs?: SpacingValueType | undefined;
@@ -3861,7 +3984,6 @@ declare const Checkbox: React__default.ForwardRefExoticComponent<{
3861
3984
  readonly xl?: "platform-native" | undefined;
3862
3985
  } | undefined;
3863
3986
  } & Pick<{
3864
- grid: never;
3865
3987
  gridAutoColumns: never;
3866
3988
  gridAutoFlow: never;
3867
3989
  gridAutoRows: never;
@@ -3872,6 +3994,7 @@ declare const Checkbox: React__default.ForwardRefExoticComponent<{
3872
3994
  gridTemplateAreas: never;
3873
3995
  gridTemplateColumns: never;
3874
3996
  gridTemplateRows: never;
3997
+ grid: never;
3875
3998
  gridArea: never;
3876
3999
  gridColumn: never;
3877
4000
  gridRow: never;
@@ -4857,7 +4980,7 @@ declare type TextInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' | '
4857
4980
  */
4858
4981
  type?: Type;
4859
4982
  } & StyledPropsBlade;
4860
- declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "testID" | "name" | "placeholder" | "label" | "value" | "prefix" | "onBlur" | "onFocus" | "onChange" | "onSubmit" | "defaultValue" | "autoCapitalize" | "autoFocus" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & {
4983
+ declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "placeholder" | "name" | "testID" | "prefix" | "value" | "label" | "onFocus" | "onBlur" | "onChange" | "onSubmit" | "defaultValue" | "autoCapitalize" | "autoFocus" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & {
4861
4984
  /**
4862
4985
  * Decides whether to render a clear icon button
4863
4986
  */
@@ -4889,7 +5012,6 @@ declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInput
4889
5012
  */
4890
5013
  type?: Type;
4891
5014
  } & Partial<Omit<MarginProps & Pick<{
4892
- order: never;
4893
5015
  alignContent?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | {
4894
5016
  readonly base?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
4895
5017
  readonly xs?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
@@ -4972,6 +5094,7 @@ declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInput
4972
5094
  } | undefined;
4973
5095
  justifyItems: never;
4974
5096
  justifySelf: never;
5097
+ order: never;
4975
5098
  rowGap: SpacingValueType | {
4976
5099
  readonly base?: SpacingValueType | undefined;
4977
5100
  readonly xs?: SpacingValueType | undefined;
@@ -5005,7 +5128,7 @@ declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInput
5005
5128
  readonly l?: "platform-native" | undefined;
5006
5129
  readonly xl?: "platform-native" | undefined;
5007
5130
  } | undefined;
5008
- }, "order" | "alignSelf" | "justifySelf" | "placeSelf"> & {
5131
+ }, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & {
5009
5132
  bottom: SpacingValueType | {
5010
5133
  readonly base?: SpacingValueType | undefined;
5011
5134
  readonly xs?: SpacingValueType | undefined;
@@ -5063,7 +5186,6 @@ declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInput
5063
5186
  readonly xl?: "platform-native" | undefined;
5064
5187
  } | undefined;
5065
5188
  } & Pick<{
5066
- grid: never;
5067
5189
  gridAutoColumns: never;
5068
5190
  gridAutoFlow: never;
5069
5191
  gridAutoRows: never;
@@ -5074,6 +5196,7 @@ declare const TextInput: React__default.ForwardRefExoticComponent<Pick<BaseInput
5074
5196
  gridTemplateAreas: never;
5075
5197
  gridTemplateColumns: never;
5076
5198
  gridTemplateRows: never;
5199
+ grid: never;
5077
5200
  gridArea: never;
5078
5201
  gridColumn: never;
5079
5202
  gridRow: never;
@@ -5119,8 +5242,7 @@ declare type PasswordInputExtraProps = {
5119
5242
  autoCompleteSuggestionType?: Extract<BaseInputProps['autoCompleteSuggestionType'], 'none' | 'password' | 'newPassword'>;
5120
5243
  };
5121
5244
  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;
5122
- declare const PasswordInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "testID" | "name" | "placeholder" | "label" | "value" | "onBlur" | "onFocus" | "onChange" | "onSubmit" | "defaultValue" | "autoFocus" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "successText" | "isRequired" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & PasswordInputExtraProps & Partial<Omit<MarginProps & Pick<{
5123
- order: never;
5245
+ declare const PasswordInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "placeholder" | "name" | "testID" | "value" | "label" | "onFocus" | "onBlur" | "onChange" | "onSubmit" | "defaultValue" | "autoFocus" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "successText" | "isRequired" | "maxCharacters" | "keyboardReturnKeyType" | "autoCompleteSuggestionType"> & PasswordInputExtraProps & Partial<Omit<MarginProps & Pick<{
5124
5246
  alignContent?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | {
5125
5247
  readonly base?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
5126
5248
  readonly xs?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
@@ -5203,6 +5325,7 @@ declare const PasswordInput: React__default.ForwardRefExoticComponent<Pick<BaseI
5203
5325
  } | undefined;
5204
5326
  justifyItems: never;
5205
5327
  justifySelf: never;
5328
+ order: never;
5206
5329
  rowGap: SpacingValueType | {
5207
5330
  readonly base?: SpacingValueType | undefined;
5208
5331
  readonly xs?: SpacingValueType | undefined;
@@ -5236,7 +5359,7 @@ declare const PasswordInput: React__default.ForwardRefExoticComponent<Pick<BaseI
5236
5359
  readonly l?: "platform-native" | undefined;
5237
5360
  readonly xl?: "platform-native" | undefined;
5238
5361
  } | undefined;
5239
- }, "order" | "alignSelf" | "justifySelf" | "placeSelf"> & {
5362
+ }, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & {
5240
5363
  bottom: SpacingValueType | {
5241
5364
  readonly base?: SpacingValueType | undefined;
5242
5365
  readonly xs?: SpacingValueType | undefined;
@@ -5294,7 +5417,6 @@ declare const PasswordInput: React__default.ForwardRefExoticComponent<Pick<BaseI
5294
5417
  readonly xl?: "platform-native" | undefined;
5295
5418
  } | undefined;
5296
5419
  } & Pick<{
5297
- grid: never;
5298
5420
  gridAutoColumns: never;
5299
5421
  gridAutoFlow: never;
5300
5422
  gridAutoRows: never;
@@ -5305,6 +5427,7 @@ declare const PasswordInput: React__default.ForwardRefExoticComponent<Pick<BaseI
5305
5427
  gridTemplateAreas: never;
5306
5428
  gridTemplateColumns: never;
5307
5429
  gridTemplateRows: never;
5430
+ grid: never;
5308
5431
  gridArea: never;
5309
5432
  gridColumn: never;
5310
5433
  gridRow: never;
@@ -5329,7 +5452,7 @@ declare type TextAreaProps = Pick<BaseInputProps, 'label' | 'labelPosition' | 'n
5329
5452
  */
5330
5453
  onClearButtonClick?: () => void;
5331
5454
  } & StyledPropsBlade;
5332
- declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "testID" | "name" | "placeholder" | "label" | "value" | "numberOfLines" | "onBlur" | "onFocus" | "onChange" | "onSubmit" | "defaultValue" | "autoFocus" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "maxCharacters"> & {
5455
+ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "placeholder" | "name" | "testID" | "value" | "label" | "onFocus" | "onBlur" | "onChange" | "onSubmit" | "defaultValue" | "autoFocus" | "numberOfLines" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "maxCharacters"> & {
5333
5456
  /**
5334
5457
  * Decides whether to render a clear icon button
5335
5458
  */
@@ -5339,7 +5462,6 @@ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputP
5339
5462
  */
5340
5463
  onClearButtonClick?: (() => void) | undefined;
5341
5464
  } & Partial<Omit<MarginProps & Pick<{
5342
- order: never;
5343
5465
  alignContent?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | {
5344
5466
  readonly base?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
5345
5467
  readonly xs?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
@@ -5422,6 +5544,7 @@ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputP
5422
5544
  } | undefined;
5423
5545
  justifyItems: never;
5424
5546
  justifySelf: never;
5547
+ order: never;
5425
5548
  rowGap: SpacingValueType | {
5426
5549
  readonly base?: SpacingValueType | undefined;
5427
5550
  readonly xs?: SpacingValueType | undefined;
@@ -5455,7 +5578,7 @@ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputP
5455
5578
  readonly l?: "platform-native" | undefined;
5456
5579
  readonly xl?: "platform-native" | undefined;
5457
5580
  } | undefined;
5458
- }, "order" | "alignSelf" | "justifySelf" | "placeSelf"> & {
5581
+ }, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & {
5459
5582
  bottom: SpacingValueType | {
5460
5583
  readonly base?: SpacingValueType | undefined;
5461
5584
  readonly xs?: SpacingValueType | undefined;
@@ -5513,7 +5636,6 @@ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputP
5513
5636
  readonly xl?: "platform-native" | undefined;
5514
5637
  } | undefined;
5515
5638
  } & Pick<{
5516
- grid: never;
5517
5639
  gridAutoColumns: never;
5518
5640
  gridAutoFlow: never;
5519
5641
  gridAutoRows: never;
@@ -5524,6 +5646,7 @@ declare const TextArea: React__default.ForwardRefExoticComponent<Pick<BaseInputP
5524
5646
  gridTemplateAreas: never;
5525
5647
  gridTemplateColumns: never;
5526
5648
  gridTemplateRows: never;
5649
+ grid: never;
5527
5650
  gridArea: never;
5528
5651
  gridColumn: never;
5529
5652
  gridRow: never;
@@ -5640,7 +5763,7 @@ declare type SelectInputProps = Pick<BaseInputProps, 'label' | 'labelPosition' |
5640
5763
  *
5641
5764
  * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select SelectInput Documentation}.
5642
5765
  */
5643
- declare const SelectInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "testID" | "name" | "placeholder" | "label" | "prefix" | "onBlur" | "onFocus" | "onClick" | "autoFocus" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix"> & {
5766
+ declare const SelectInput: React__default.ForwardRefExoticComponent<Pick<BaseInputProps, "placeholder" | "name" | "testID" | "prefix" | "label" | "onFocus" | "onBlur" | "onClick" | "autoFocus" | "isDisabled" | "labelPosition" | "validationState" | "helpText" | "errorText" | "necessityIndicator" | "successText" | "isRequired" | "suffix"> & {
5644
5767
  icon?: IconComponent$1 | undefined;
5645
5768
  /**
5646
5769
  * Controlled value of the Select. Use it in combination of `onChange`.
@@ -5776,7 +5899,7 @@ declare type BaseTextProps = {
5776
5899
  * React Native only
5777
5900
  */
5778
5901
  numberOfLines?: number;
5779
- componentName?: 'text' | 'title' | 'heading' | 'code';
5902
+ componentName?: 'base-text' | 'text' | 'title' | 'heading' | 'code';
5780
5903
  } & TestID & StyledPropsBlade;
5781
5904
 
5782
5905
  declare const validAsValues$2: readonly ["span", "h1", "h2", "h3", "h4", "h5", "h6"];
@@ -5793,8 +5916,9 @@ declare type TitleProps = {
5793
5916
  type?: TextTypes;
5794
5917
  children: React.ReactNode;
5795
5918
  textAlign?: BaseTextProps['textAlign'];
5919
+ textDecorationLine?: BaseTextProps['textDecorationLine'];
5796
5920
  } & TestID & StyledPropsBlade;
5797
- declare const Title: ({ as, size, type, contrast, color, children, testID, textAlign, ...styledProps }: TitleProps) => ReactElement;
5921
+ declare const Title: ({ as, size, type, contrast, color, children, testID, textAlign, textDecorationLine, ...styledProps }: TitleProps) => ReactElement;
5798
5922
 
5799
5923
  declare type HeadingVariant = 'regular' | 'subheading';
5800
5924
  declare type HeadingSize = 'small' | 'medium' | 'large';
@@ -5811,6 +5935,7 @@ declare type HeadingCommonProps = {
5811
5935
  contrast?: ColorContrastTypes;
5812
5936
  children: React.ReactNode;
5813
5937
  textAlign?: BaseTextProps['textAlign'];
5938
+ textDecorationLine?: BaseTextProps['textDecorationLine'];
5814
5939
  } & TestID & StyledPropsBlade;
5815
5940
  declare type HeadingNormalVariant = HeadingCommonProps & {
5816
5941
  variant?: Exclude<HeadingVariant, 'subheading'>;
@@ -5838,7 +5963,7 @@ declare type HeadingProps<T> = T extends {
5838
5963
  } ? Variant extends Exclude<HeadingVariant, 'subheading'> ? HeadingNormalVariant : Variant extends 'subheading' ? HeadingSubHeadingVariant : T : T;
5839
5964
  declare const Heading: <T extends {
5840
5965
  variant: HeadingVariant;
5841
- }>({ as, variant, size, type, weight, contrast, color, children, testID, textAlign, ...styledProps }: HeadingProps<T>) => ReactElement;
5966
+ }>({ as, variant, size, type, weight, contrast, color, children, testID, textAlign, textDecorationLine, ...styledProps }: HeadingProps<T>) => ReactElement;
5842
5967
 
5843
5968
  declare const validAsValues: readonly ["p", "span", "div", "abbr", "figcaption", "cite", "q"];
5844
5969
  declare type TextCommonProps = {
@@ -5855,6 +5980,7 @@ declare type TextCommonProps = {
5855
5980
  */
5856
5981
  color?: BaseTextProps['color'];
5857
5982
  textAlign?: BaseTextProps['textAlign'];
5983
+ textDecorationLine?: BaseTextProps['textDecorationLine'];
5858
5984
  } & TestID & StyledPropsBlade;
5859
5985
  declare type TextVariant = 'body' | 'caption';
5860
5986
  declare type TextBodyVariant = TextCommonProps & {
@@ -5875,13 +6001,13 @@ declare type TextProps<T> = T extends {
5875
6001
  declare type GetTextPropsReturn = Omit<BaseTextProps, 'children'>;
5876
6002
  declare type GetTextProps<T extends {
5877
6003
  variant: TextVariant;
5878
- }> = Pick<TextProps<T>, 'type' | 'variant' | 'weight' | 'size' | 'contrast' | 'color' | 'testID' | 'textAlign'>;
6004
+ }> = Pick<TextProps<T>, 'type' | 'variant' | 'weight' | 'size' | 'contrast' | 'color' | 'testID' | 'textAlign' | 'textDecorationLine'>;
5879
6005
  declare const getTextProps: <T extends {
5880
6006
  variant: TextVariant;
5881
- }>({ variant, type, weight, size, color, contrast, testID, textAlign, }: GetTextProps<T>) => GetTextPropsReturn;
6007
+ }>({ variant, type, weight, size, color, contrast, testID, textAlign, textDecorationLine, }: GetTextProps<T>) => GetTextPropsReturn;
5882
6008
  declare const Text: <T extends {
5883
6009
  variant: TextVariant;
5884
- }>({ as, variant, weight, size, type, contrast, truncateAfterLines, children, color, testID, textAlign, ...styledProps }: TextProps<T>) => ReactElement;
6010
+ }>({ as, variant, weight, size, type, contrast, truncateAfterLines, children, color, testID, textAlign, textDecorationLine, ...styledProps }: TextProps<T>) => ReactElement;
5885
6011
 
5886
6012
  declare type CodeCommonProps = {
5887
6013
  /**
@@ -6152,7 +6278,6 @@ declare const Radio: React__default.ForwardRefExoticComponent<{
6152
6278
  */
6153
6279
  size?: "small" | "medium" | undefined;
6154
6280
  } & TestID & Partial<Omit<MarginProps & Pick<{
6155
- order: never;
6156
6281
  alignContent?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | {
6157
6282
  readonly base?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
6158
6283
  readonly xs?: "center" | "flex-end" | "flex-start" | "stretch" | "space-around" | "space-between" | undefined;
@@ -6235,6 +6360,7 @@ declare const Radio: React__default.ForwardRefExoticComponent<{
6235
6360
  } | undefined;
6236
6361
  justifyItems: never;
6237
6362
  justifySelf: never;
6363
+ order: never;
6238
6364
  rowGap: SpacingValueType | {
6239
6365
  readonly base?: SpacingValueType | undefined;
6240
6366
  readonly xs?: SpacingValueType | undefined;
@@ -6268,7 +6394,7 @@ declare const Radio: React__default.ForwardRefExoticComponent<{
6268
6394
  readonly l?: "platform-native" | undefined;
6269
6395
  readonly xl?: "platform-native" | undefined;
6270
6396
  } | undefined;
6271
- }, "order" | "alignSelf" | "justifySelf" | "placeSelf"> & {
6397
+ }, "alignSelf" | "justifySelf" | "order" | "placeSelf"> & {
6272
6398
  bottom: SpacingValueType | {
6273
6399
  readonly base?: SpacingValueType | undefined;
6274
6400
  readonly xs?: SpacingValueType | undefined;
@@ -6326,7 +6452,6 @@ declare const Radio: React__default.ForwardRefExoticComponent<{
6326
6452
  readonly xl?: "platform-native" | undefined;
6327
6453
  } | undefined;
6328
6454
  } & Pick<{
6329
- grid: never;
6330
6455
  gridAutoColumns: never;
6331
6456
  gridAutoFlow: never;
6332
6457
  gridAutoRows: never;
@@ -6337,6 +6462,7 @@ declare const Radio: React__default.ForwardRefExoticComponent<{
6337
6462
  gridTemplateAreas: never;
6338
6463
  gridTemplateColumns: never;
6339
6464
  gridTemplateRows: never;
6465
+ grid: never;
6340
6466
  gridArea: never;
6341
6467
  gridColumn: never;
6342
6468
  gridRow: never;