///
import * as react_native_types from 'react-native/types';
import * as react from 'react';
import react__default, { ReactNode, ReactElement, CSSProperties, SyntheticEvent, ImgHTMLAttributes, HTMLAttributeReferrerPolicy, ReactChild, KeyboardEvent, ComponentProps } from 'react';
import * as react_native from 'react-native';
import { View, ViewStyle, AccessibilityRole, GestureResponderEvent, TouchableOpacity, ImageSourcePropType, PressableProps } from 'react-native';
import { CSSObject } from 'styled-components';
import { ReactDOMAttributes } from '@use-gesture/react/dist/declarations/src/types';
import { CurrencyCodeType } from '@razorpay/i18nify-js/currency';
import { AnimationControls, TargetAndTransition, Tween } from 'framer-motion';
import { ReferenceLineProps, XAxisProps, YAxisProps, Tooltip as Tooltip$1, Legend, CartesianGridProps, LineProps, AreaProps, PieProps, CellProps, BarProps } from 'recharts';
import { Props } from 'recharts/types/component/Label';
import { DateValue, DatesRangeValue, DatePickerProps as DatePickerProps$1, DayOfWeek } from '@mantine/dates';
export { DateValue, DatesRangeValue } from '@mantine/dates';
import { Placement, OffsetOptions, UseFloatingOptions } from '@floating-ui/react';
import { CountryCodeType } from '@razorpay/i18nify-js';
import { Toast } from 'react-hot-toast';
type BorderRadius = Readonly<{
/** none: 0(px/rem/pt) */
none: 0;
/** 2xsmall: 2(px/rem/pt) */
'2xsmall': 2;
/** xsmall: 4(px/rem/pt) */
xsmall: 4;
/** small: 8(px/rem/pt) */
small: 8;
/** medium: 12(px/rem/pt) */
medium: 12;
/** large: 16(px/rem/pt) */
large: 16;
/** xlarge: 20(px/rem/pt) */
xlarge: 20;
/** 2xlarge: 24(px/rem/pt) */
'2xlarge': 24;
/** max: 9999(px/rem/pt). This will round the left and right side of the box element */
max: 9999;
/** round: 50%(pt). This will turn the box element into a circle */
round: '50%';
}>;
type BorderWidth = Readonly<{
/** none: 0(px/rem/pt) */
none: 0;
/** thinner: 0.5(px/rem/pt) */
thinner: 0.5;
/** thin: 1(px/rem/pt) */
thin: 1;
/** thick: 1.5(px/rem/pt) */
thick: 1.5;
/** thicker: 2(px/rem/pt) */
thicker: 2;
}>;
type Border = Readonly<{
radius: BorderRadius;
width: BorderWidth;
}>;
type BackdropBlur = Readonly<{
/** low: 4px - Subtle background blur effect */
low: 4;
/** medium: 8px - Moderate background blur effect */
medium: 8;
/** high: 12px - Strong background blur effect */
high: 12;
}>;
type Breakpoints = Readonly<{
/**
* `base` is used for responsive styling following a **mobile first** approach. It starts from 0px till the next existing token
*
* Think of this as styles without any media query.
*
* ### Example
*
* This code will set margin as `spacing.2` on "m" size screens and above. And as `spacing.1` on less than "m" size screens
* ```jsx
*
* ```
*
* This roughly translates into -
*
* ```
* .Box {
* margin: 'spacing.1';
* }
*
* @media screen and (min-width: 768px) {
* .Box {
* margin: 'spacing.2';
* }
* }
* ```
*/
base: number;
/**
* `@media screen and (min-width: 320px)`
*
* Small Mobiles
*/
xs: number;
/**
* `@media screen and (min-width: 480px)`
*
* Mobiles and Small Tablets
*/
s: number;
/**
* `@media screen and (min-width: 768px)`
*
* Medium and Large Tablets.
*
* Dimensions with `m` and above can be treated as desktop in mobile-first approach (with min-width).
* Hence this breakpoint can be used for desktop styling.
*
* E.g. next example will keep flexDirection `row` on mobiles and `column` on large tablets, desktop, and larger screens
*
* ```jsx
*
* ```
*
*/
m: number;
/**
* `@media screen and (min-width: 1024px)`
*
* Desktop
*/
l: number;
/**
* `@media screen and (min-width: 1200px)`
*
* HD Desktop
*/
xl: number;
}>;
type ColorChromaticScale = Readonly<{
50: string;
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
1000: string;
a50: string;
a100: string;
a150: string;
a200: string;
a400: string;
a500?: string;
a600?: string;
a700?: string;
}>;
type ColorNeutralGrayScale = Readonly<{
0: string;
50: string;
100: string;
200: string;
300: string;
400: string;
500: string;
600: string;
700: string;
800: string;
900: string;
1000: string;
1100: string;
1200: string;
1300: string;
a25: string;
a50: string;
a75: string;
a100: string;
a200: string;
a400: string;
a500?: string;
a600?: string;
a700?: string;
}>;
type FontFamily = {
/** Used for all type of textual content except code snippets, and headings */
text: string;
/** Used for code snippets */
code: string;
/** Used for headings */
heading: string;
};
type FontWeight = {
regular: 400;
medium: 500;
semibold: 600;
bold: 700;
};
/**
* For font size and line-heights we can’t say from xl to 2xl the value will necessary increase.
* it might decrease or remain same because these are alias tokens and we need aliases for cross platform.
* so for example xl on mobile can be 32px and on desktop xl can be 34px,
* similarly 2xl on mobile can be 34px but on desktop doesn’t necessarily mean 2xl will be more than xl(34px) it can be 32 as well since visually they make better hierarchy.
*/
type FontSize = {
/** desktop: 10(px/rem/pt)
*
* mobile: 10(px/rem/pt)
*/
25: number;
/** desktop: 11(px/rem/pt)
*
* mobile: 11(px/rem/pt)
*/
50: number;
/** desktop: 12(px/rem/pt)
*
* mobile: 12(px/rem/pt)
*/
75: number;
/** desktop: 14(px/rem/pt)
*
* mobile: 14(px/rem/pt)
*/
100: number;
/** desktop: 16(px/rem/pt)
*
* mobile: 16(px/rem/pt)
*/
200: number;
/** desktop: 18(px/rem/pt)
*
* mobile: 16(px/rem/pt)
*/
300: number;
/** desktop: 20(px/rem/pt)
*
* mobile: 18(px/rem/pt)
*/
400: number;
/** desktop: 24(px/rem/pt)
*
* mobile: 20(px/rem/pt)
*/
500: number;
/** desktop: 32(px/rem/pt)
*
* mobile: 24(px/rem/pt)
*/
600: number;
/** desktop: 40(px/rem/pt)
*
* mobile: 32(px/rem/pt)
*/
700: number;
/** desktop: 48(px/rem/pt)
*
* mobile: 34(px/rem/pt)
*/
800: number;
/** desktop: 56(px/rem/pt)
*
* mobile: 36(px/rem/pt)
*/
900: number;
/** desktop: 64(px/rem/pt)
*
* mobile: 38(px/rem/pt)
*/
1000: number;
/** desktop: 72(px/rem/pt)
*
* mobile: 40(px/rem/pt)
*/
1100: number;
};
type Typography = {
fonts: {
family: FontFamily;
size: FontSize;
weight: FontWeight;
};
lineHeights: {
/** desktop: 0(px/rem/pt)
*
* mobile: 0(px/rem/pt)
*/
0: number;
/** desktop: 13(px/rem/pt)
*
* mobile: 13(px/rem/pt)
*/
25: number;
/** desktop: 16(px/rem/pt)
*
* mobile: 16(px/rem/pt)
*/
50: number;
/** desktop: 17(px/rem/pt)
*
* mobile: 17(px/rem/pt)
*/
75: number;
/** desktop: 20(px/rem/pt)
*
* mobile: 20(px/rem/pt)
*/
100: number;
/** desktop: 24(px/rem/pt)
*
* mobile: 24(px/rem/pt)
*/
200: number;
/** desktop: 24(px/rem/pt)
*
* mobile: 22(px/rem/pt)
*/
300: number;
/** desktop: 26(px/rem/pt)
*
* mobile: 24(px/rem/pt)
*/
400: number;
/** desktop: 32(px/rem/pt)
*
* mobile: 26(px/rem/pt)
*/
500: number;
/** desktop: 38(px/rem/pt)
*
* mobile: 32(px/rem/pt)
*/
600: number;
/** desktop: 46(px/rem/pt)
*
* mobile: 38(px/rem/pt)
*/
700: number;
/** desktop: 56(px/rem/pt)
*
* mobile: 40(px/rem/pt)
*/
800: number;
/** desktop: 64(px/rem/pt)
*
* mobile: 42(px/rem/pt)
*/
900: number;
/** desktop: 70(px/rem/pt)
*
* mobile: 46(px/rem/pt)
*/
1000: number;
/** desktop: 78(px/rem/pt)
*
* mobile: 48(px/rem/pt)
*/
1100: number;
};
letterSpacings: {
/** -3.3% */
25: number;
/** -1.3% */
50: number;
/** 0% */
100: number;
};
};
type TypographyPlatforms = 'onDesktop' | 'onMobile';
type TypographyWithPlatforms = Record;
/**
* When any of the values are changed here, do change the jsdoc comments in BaseBox/types/spacingTypes.ts as well
*
* {@link ../../components/Box/BaseBox/types/spacingTypes.ts}
*/
type Spacing = Readonly<{
/** 0: 0(px/rem/pt) */
0: 0;
/** 1: 2(px/rem/pt) */
1: 2;
/** 2: 4(px/rem/pt) */
2: 4;
/** 3: 8(px/rem/pt) */
3: 8;
/** 4: 12(px/rem/pt) */
4: 12;
/** 5: 16(px/rem/pt) */
5: 16;
/** 6: 20(px/rem/pt) */
6: 20;
/** 7: 24(px/rem/pt) */
7: 24;
/** 8: 32(px/rem/pt) */
8: 32;
/** 9: 40(px/rem/pt) */
9: 40;
/** 10: 48(px/rem/pt) */
10: 48;
/** 11: 56(px/rem/pt) */
11: 56;
}>;
type DotNotationSpacingStringToken = `spacing.${keyof Spacing}`;
/**
* Use this when you want children to be string.
*
* This covers scenarios like
* ```jsx
* Hi
* {dynamicVariable} something
* ```
*
*
* ### Usage
*
* ```ts
* import type { StringChildrenType } from '~helpers/types';
*
* type MyProps = {
* children: StringChildrenType;
* }
* ```
*/
type StringChildrenType = react__default.ReactText | react__default.ReactText[];
/**
*
* When combined with union, this type utility will give you autocomplete of union while still supporting any string value as input
*
* ### Usage
*
* ```ts
* type ThemeName = 'themeOne' | 'themeTwo' | StringWithAutocomplete;
* ```
*
* This will show themeOne and themeTwo in autocomplete but also allow any other string as value.
*
* More details - https://github.com/razorpay/blade/pull/1031/commits/86b6ee0facf45e7556739efcbfa5396b11b1b3c9#r1121298293
* Related TS Issue - https://github.com/microsoft/TypeScript/issues/29729
*
*/
type StringWithAutocomplete = string & Record;
type TestID = {
/**
* Test id that can be used to select element in testing environments
*
* Checkout https://testing-library.com/docs/queries/bytestid/
*/
testID?: string;
};
type ElementTiming = {
/**
* Element timing that can be used to track the performance of the component
*
* Checkout https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/elementtiming
*/
elementtiming?: string;
};
/**
* Similar to `Pick` except this returns `never` when value doesn't exist (native `Pick` returns `unknown`).
*
* 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.
*
* E.g. This will pick from ViewStyle prop if value exists else returns undefined.
*
* ```ts
* // @ts-expect-error: T passed here may not neccessarily exist. We return `never` type when it doesn't
* native: PickIfExist;
* ```
*/
type PickIfExist = {
[P in K]: P extends keyof T ? T[P] : never;
};
/**
* Picks the types based on the platform (web / native).
*
* E.g.
* ```ts
* type CSSObject = PickCSSByPlatform<'display'>
* // On Web --> This will be all possible web display properties like `block`, `flex`, `inline`, and more.
* // On Native --> This will be just `flex` and `none`
* ```
*/
type PickCSSByPlatform = Platform.Select<{
web: PickIfExist;
native: PickIfExist;
}>;
type BladeElementRef = Platform.Select<{
web: HTMLElement;
native: View;
}>;
type ContainerElementType = Platform.Select<{
web: HTMLDivElement;
native: View;
}>;
/**
* This type is used to add data-analytics attributes to components.
* This is used to track user interactions on the components.
* The key is always `data-analytics-` followed by the attribute name.
* eg: `data-analytics-action="click"`
* eg: `data-analytics-section="header"`
*/
type DataAnalyticsAttribute = {
[key: DataAnalyticsKey]: string;
};
type ColorSchemeNames = 'dark' | 'light';
type ColorSchemeNamesInput = ColorSchemeNames | 'system';
type ColorSchemeModes = 'onDark' | 'onLight';
type FeedbackColors = 'information' | 'negative' | 'neutral' | 'notice' | 'positive';
type Emphasis = {
subtle: string;
moderate: string;
intense: string;
normal: string;
muted: string;
disabled: string;
};
type DataCategoricalEmphasis = Pick & {
faint: string;
strong: string;
};
type DataSequentialEmphasis = Omit;
type DataColorCategories = 'blue' | 'green' | 'red' | 'orange' | 'skyBlue' | 'purple' | 'pink' | 'gold' | 'gray';
type SubtleOrIntenseEmphasis = Pick;
type SubtleOrIntense = keyof SubtleOrIntenseEmphasis;
type InteractiveStates = {
default: string;
highlighted: string;
disabled: string;
faded: string;
};
type InteractiveStatesWithFadedHighlighted = InteractiveStates & {
fadedHighlighted: string;
};
type InteractiveBackgroundStatesWithGhost = InteractiveStatesWithFadedHighlighted & {
ghost: string;
};
type InteractiveBackgroundColorsWithGhost = 'gray' | 'staticBlack' | 'staticWhite';
type InteractiveBorderColorsWithFadedHighlighted = 'staticBlack' | 'staticWhite';
type OnEmphasis = {
onSubtle: string;
onIntense: string;
};
type ColorCategories = {
staticBlack: Pick;
staticWhite: Pick;
gray: Pick;
onSea: Pick;
onCloud: Pick;
primary: Pick;
};
type InteractiveColorKeys = FeedbackColors | Exclude;
/**
* @deprecated
* Use popup.[background|border].[color] instead
*/
type PopupDeprecatedTokens = {
/**
* @deprecated
*
* Use popup.[background|border].[color].subtle instead
*/
subtle: string;
/**
* @deprecated
* Use popup.[background|border].[color].intense instead
*/
intense: string;
};
type Colors = {
interactive: {
background: Record, InteractiveStatesWithFadedHighlighted> & Record;
border: Record, InteractiveStates> & Record;
text: Record>;
icon: Record>;
};
feedback: {
background: Record;
border: Record;
text: Record;
icon: Record;
};
surface: {
background: {
gray: Pick;
primary: SubtleOrIntenseEmphasis;
sea: SubtleOrIntenseEmphasis;
cloud: SubtleOrIntenseEmphasis;
};
border: {
gray: Pick;
primary: Pick;
};
text: ColorCategories;
icon: ColorCategories;
};
overlay: {
background: Pick;
};
popup: {
background: Record> & {
gray: Pick;
} & PopupDeprecatedTokens;
border: Record> & {
gray: Pick;
} & PopupDeprecatedTokens;
};
transparent: string;
data: {
background: {
categorical: Record;
sequential: Record;
};
};
};
type ColorsWithModes = Record;
type ThemeTokens = {
name: 'bladeTheme' | StringWithAutocomplete;
border: Border;
backdropBlur: BackdropBlur;
breakpoints: Breakpoints;
colors: ColorsWithModes;
motion: Motion;
elevation: ElevationWithColorModes;
spacing: Spacing;
typography: TypographyWithPlatforms;
};
type UseColorScheme = {
colorScheme: ColorSchemeNames;
setColorScheme: (colorScheme: ColorSchemeNamesInput) => void;
};
/**
* Brands a type making them act as nominal
* @see https://medium.com/@KevinBGreene/surviving-the-typescript-ecosystem-branding-and-type-tagging-6cf6e516523d
*/
type Brand = Type & {
__brand__?: Name;
};
type NativeOrWebBrand = Brand;
declare namespace Platform {
type Name = 'native';
/**
* Right now, the module resolution is set to resolve `.native` files,
*
* Thus Platform.Select<> type will return the `native` type
*/
type Select = Brand;
type CastNative = Extract;
type CastWeb = Extract;
}
type BladeProviderProps = {
themeTokens: ThemeTokens;
colorScheme?: ColorSchemeNamesInput;
children: ReactNode;
};
declare const BladeProvider: ({ themeTokens, colorScheme: initialColorScheme, children, }: BladeProviderProps) => ReactElement;
type ThemeContext = UseColorScheme & {
theme: Theme;
platform: TypographyPlatforms;
};
declare const ThemeContext: react.Context;
declare const useTheme: () => ThemeContext;
type Theme = {
name: ThemeTokens['name'];
border: Border;
breakpoints: Breakpoints;
colors: Colors;
spacing: Spacing;
motion: Motion;
elevation: Elevation;
typography: Typography;
backdropBlur: BackdropBlur;
};
type Duration = {
/** `80` milliseconds */
'2xquick': 80;
/** `160` milliseconds */
xquick: 160;
/** `200` milliseconds */
quick: 200;
/** `280` milliseconds */
moderate: 280;
/** `360` milliseconds */
xmoderate: 360;
/** `480` milliseconds */
gentle: 480;
/** `640` milliseconds */
xgentle: 640;
/** `960` milliseconds */
'2xgentle': 960;
};
type Delay = {
/** `80` milliseconds */
'2xquick': 80;
/** `160` milliseconds */
xquick: 160;
/** `280` milliseconds */
moderate: 280;
/** `480` milliseconds */
gentle: 480;
/** `960` milliseconds */
xgentle: 960;
/** `2000` milliseconds */
long: 2000;
/** `3000` milliseconds */
xlong: 3000;
/** `5000` milliseconds */
'2xlong': 5000;
};
type EasingFactoryFn = {
factory: () => (value: number) => number;
};
type EasingType = Platform.Select<{
web: Value;
native: EasingFactoryFn;
}>;
type Easing = {
/**
* Linear Easing
*
* Use Case: Marquee, Progress Bar, etc
*
* Returns cubic-bezier string in web and EasingFactoryFn of react-native-reanimated in native
*/
linear: EasingType<'cubic-bezier(0, 0, 0, 0)'>;
/**
* Entrance Animation Easing
*
* Use Case: Entry of modals, drawer, dropdown, etc
*
* Returns cubic-bezier string in web and EasingFactoryFn of react-native-reanimated in native
*/
entrance: EasingType<'cubic-bezier(0, 0, 0.2, 1)'>;
/**
* Exit Animation Easing
*
* Use Case: Exit of modals, drawer, dropdown, etc
*
* Returns cubic-bezier string in web and EasingFactoryFn of react-native-reanimated in native
*/
exit: EasingType<'cubic-bezier(0.17, 0, 1, 1)'>;
/**
* Standard Easing
*
* Use Case: Morph
*
* Returns cubic-bezier string in web and EasingFactoryFn of react-native-reanimated in native
*/
standard: EasingType<'cubic-bezier(0.3, 0, 0.2, 1)'>;
/**
* Emphasized Easing
*
* Use Case: Hover states of interactive items
*
* Returns cubic-bezier string in web and EasingFactoryFn of react-native-reanimated in native
*/
emphasized: EasingType<'cubic-bezier(0.5, 0, 0, 1)'>;
/**
* Overshoot Easing
*
* Use Case: Toast notifications
*
* Returns cubic-bezier string in web and EasingFactoryFn of react-native-reanimated in native
*/
overshoot: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;
/**
* Error Easing
*
* Use Case: Error States
*
* Returns cubic-bezier string in web and EasingFactoryFn of react-native-reanimated in native
*/
shake: EasingType<'cubic-bezier(1, 0.5, 0, 0.5)'>;
};
type Motion = Readonly<{
delay: Delay;
duration: Duration;
easing: Easing;
}>;
type ElevationLevels = 'none' | 'lowRaised' | 'midRaised' | 'highRaised';
type ElevationStyles = Readonly<{
elevation: number;
shadowColor: string;
shadowOpacity: number;
shadowRadius: number;
shadowOffset: {
/**
* x-axis
*/
width: number;
/**
* y-axis
*/
height: number;
};
}>;
type Elevation = Record>;
type ElevationWithColorModes = Record;
/**
* Returns the value or the responsive object with that value
*
* ## Usage
*
* Example if you pass string argument, return type will be string or responsive object with string value
*
* `MakeValueResponsive`
* ```ts
* string |
* {
* base?: string;
* xs?: string;
* s?: string;
* // ... other breakpoints
* }
* ```
*
*/
type MakeValueResponsive = [T] extends [never] ? never : T | {
[P in keyof Breakpoints]?: T;
};
/**
* Turns all the values in object into responsive object.
*
* ```ts
* MakeObjectResponsive<{ hello: string}>
*
* // Outputs:
* {
* hello: string | {
* base?: string;
* xs?: string;
* s?: string;
* // ... other breakpoints
* }
* }
* ```
*/
type MakeObjectResponsive> = {
[P in K]: MakeValueResponsive;
};
type ArrayOfMaxLength4 = readonly [T?, T?, T?, T?];
type SpaceUnits = 'px' | '%' | 'fr' | 'rem' | 'em' | 'vh' | 'vw';
type SpacingValueType = DotNotationSpacingStringToken | `${string}${SpaceUnits}` | `calc(${string})` | 'auto' | `min(${string})` | `max(${string})` | 'none' | 'initial' | 'fit-content' | 'max-content' | 'min-content';
/**
* @IMPORTANT
*
* 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.
*
* 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
*
* Checkout example of find and replace query-
* {@link https://user-images.githubusercontent.com/30949385/221802507-40c7adbc-484a-47b3-9035-ae1e97080b51.png}
*
*/
type PaddingProps = MakeObjectResponsive<{
/**
* ### Padding Shorthand
*
* #### Usage
*
* ```jsx
* padding="spacing.3"
* padding="20px"
* padding={["spacing.3", "spacing.1", "spacing.0", "10px"]}
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*
*/
padding: SpacingValueType | ArrayOfMaxLength4;
/**
* ### Padding Horizontal
*
* #### Usage
*
* ```jsx
* paddingX="spacing.3"
* paddingX="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*
*/
paddingX: SpacingValueType;
/**
* ### Padding Vertical
*
* #### Usage
*
* ```jsx
* paddingY="spacing.3"
* paddingY="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*
*/
paddingY: SpacingValueType;
/**
* ### Padding Top
*
* #### Usage
*
* ```jsx
* paddingTop="spacing.3"
* paddingTop="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*/
paddingTop: SpacingValueType;
/**
* ### Padding Right
*
* #### Usage
*
* ```jsx
* paddingRight="spacing.3"
* paddingRight="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*/
paddingRight: SpacingValueType;
/**
* ### Padding Bottom
*
* #### Usage
*
* ```jsx
* paddingBottom="spacing.3"
* paddingBottom="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*/
paddingBottom: SpacingValueType;
/**
* ### Padding Left
*
* #### Usage
*
* ```jsx
* paddingLeft="spacing.3"
* paddingLeft="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*/
paddingLeft: SpacingValueType;
}>;
type MarginProps = MakeObjectResponsive<{
/**
* ### Margin Shorthand
*
* #### Usage
*
* ```jsx
* margin="spacing.3"
* margin="20px"
* margin={["spacing.3", "spacing.1", "spacing.0", "10px"]}
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*
*/
margin: SpacingValueType | ArrayOfMaxLength4;
/**
* ### Margin Horizontal
*
* #### Usage
*
* ```jsx
* marginX="spacing.3"
* marginX="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*
*/
marginX: SpacingValueType;
/**
* ### Margin Vertical
*
* #### Usage
*
* ```jsx
* marginY="spacing.3"
* marginY="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*
*/
marginY: SpacingValueType;
/**
* ### Margin Top
*
* #### Usage
*
* ```jsx
* marginTop="spacing.3"
* marginTop="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*/
marginTop: SpacingValueType;
/**
* ### Margin Right
*
* #### Usage
*
* ```jsx
* marginRight="spacing.3"
* marginRight="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*/
marginRight: SpacingValueType;
/**
* ### Margin Bottom
*
* #### Usage
*
* ```jsx
* marginBottom="spacing.3"
* marginBottom="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*/
marginBottom: SpacingValueType;
/**
* ### Margin Left
*
* #### Usage
*
* ```jsx
* marginLeft="spacing.3"
* marginLeft="20px"
* ```
*
* ---
* #### Spacing to Pixel values
*
* - `spacing.0` - 0px
* - `spacing.1` - 2px
* - `spacing.2` - 4px
* - `spacing.3` - 8px
* - `spacing.4` - 12px
* - `spacing.5` - 16px
* - `spacing.6` - 20px
* - `spacing.7` - 24px
* - `spacing.8` - 32px
* - `spacing.9` - 40px
* - `spacing.10` - 48px
* - `spacing.11` - 56px
*
* {@linkcode https://blade.razorpay.com/?path=/story/tokens-spacing--docs&globals=measureEnabled:false Spacing Token Ref}
*/
marginLeft: SpacingValueType;
}>;
type BladeCommonEvents = {
onBlur?: Platform.Select<{
native: undefined | ((event: any) => void);
web: React.FocusEventHandler;
}>;
onFocus?: Platform.Select<{
native: undefined | ((event: any) => void);
web: React.FocusEventHandler;
}>;
onMouseLeave?: Platform.Select<{
web: React.MouseEventHandler;
native: undefined;
}>;
onMouseMove?: Platform.Select<{
web: React.MouseEventHandler;
native: undefined;
}>;
onMouseDown?: Platform.Select<{
web: React.MouseEventHandler;
native: undefined | ((event: any) => void);
}>;
onMouseUp?: Platform.Select<{
web: React.MouseEventHandler;
native: undefined | ((event: any) => void);
}>;
onPointerDown?: Platform.Select<{
web: React.PointerEventHandler;
native: undefined;
}>;
onPointerEnter?: Platform.Select<{
web: React.PointerEventHandler;
native: undefined;
}>;
onTouchStart?: Platform.Select<{
native: undefined | ((event: any) => void);
web: React.TouchEventHandler;
}>;
onTouchEnd?: Platform.Select<{
native: undefined | ((event: any) => void);
web: React.TouchEventHandler;
}>;
};
/**
* @template TokenType token type generic
* @description Tokenises objects to dot notation strings, eg: `surface.text.gray.normal`
*/
type DotNotationToken<_TokenType, TokenType = Omit<_TokenType, 'name'>> = {
[K in keyof TokenType]: TokenType[K] extends string | number | ElevationStyles ? `${Extract}` : `${Extract}.${TokenType[K] extends Record> ? Extract : DotNotationToken}`;
}[keyof TokenType];
type LayoutProps = MakeObjectResponsive<{
height: SpacingValueType;
minHeight: SpacingValueType;
maxHeight: SpacingValueType;
width: SpacingValueType;
minWidth: SpacingValueType;
maxWidth: SpacingValueType;
} & PickCSSByPlatform<'display' | 'overflow' | 'overflowX' | 'overflowY' | 'textAlign' | 'whiteSpace'>>;
type FlexboxProps = MakeObjectResponsive<{
/**
* This uses the native gap property which might not work on older browsers.
* If you want to support older browsers, you might want to use `margin` instead.
*
* @see https://caniuse.com/?search=gap
*/
gap: SpacingValueType;
/**
* This uses the native row-gap property which might not work on older browsers.
* If you want to support older browsers, you might want to use `margin` instead.
*
* @see https://caniuse.com/?search=row-gap
*/
rowGap: SpacingValueType;
/**
* This uses the native column-gap property which might not work on older browsers.
* If you want to support older browsers, you might want to use `margin` instead.
*
* @see https://caniuse.com/?search=column-gap
*/
columnGap: SpacingValueType;
/**
* The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.
*
* @see https://developer.mozilla.org/docs/Web/CSS/flex
*/
flex: string | number;
} & PickCSSByPlatform<'flexWrap' | 'flexDirection' | 'flexGrow' | 'flexShrink' | 'flexBasis' | 'alignItems' | 'alignContent' | 'alignSelf' | 'justifyItems' | 'justifyContent' | 'justifySelf' | 'placeSelf' | 'placeItems' | 'order'>>;
type PositionProps = MakeObjectResponsive<{
top: SpacingValueType;
right: SpacingValueType;
bottom: SpacingValueType;
left: SpacingValueType;
} & PickCSSByPlatform<'position' | 'zIndex'>>;
type GridProps = MakeObjectResponsive>;
type ColorObjects = 'feedback' | 'surface' | 'interactive';
type BorderOnlyColorObjects = 'popup';
type BackgroundOnlyColorObjects = 'popup' | 'overlay';
type BackgroundColorString = `${T}.background.${DotNotationToken}`;
type BorderColorString = `${T}.border.${DotNotationToken}`;
declare const validBoxAsValues: readonly ["div", "section", "footer", "header", "main", "aside", "nav", "span", "label"];
type BoxAsType = typeof validBoxAsValues[number];
type CommonBoxVisualProps = MakeObjectResponsive<{
borderRadius: keyof Border['radius'];
borderWidth: keyof Border['width'];
borderColor: BorderColorString<'surface'> | BorderColorString<'popup'> | BorderColorString<'interactive'>;
borderTopWidth: keyof Border['width'];
borderTopColor: BorderColorString<'surface'>;
borderRightWidth: keyof Border['width'];
borderRightColor: BorderColorString<'surface'>;
borderBottomWidth: keyof Border['width'];
borderBottomColor: BorderColorString<'surface'>;
borderLeftWidth: keyof Border['width'];
borderLeftColor: BorderColorString<'surface'>;
borderTopLeftRadius: keyof Border['radius'];
borderTopRightRadius: keyof Border['radius'];
borderBottomRightRadius: keyof Border['radius'];
borderBottomLeftRadius: keyof Border['radius'];
} & PickCSSByPlatform<'backgroundImage' | 'backgroundSize' | 'backgroundPosition' | 'backgroundOrigin' | 'backgroundRepeat' | 'pointerEvents' | 'opacity' | 'visibility' | 'transform' | 'transformOrigin' | 'clipPath' | 'borderStyle' | 'borderTopStyle' | 'borderBottomStyle' | 'borderLeftStyle' | 'borderRightStyle' | 'backdropFilter' | 'transition'> & {
/**
* Sets the elevation for Box
*
* eg: `theme.elevation.midRaised`
*
* @default `theme.elevation.lowRaised`
*
* **Links:**
* - Docs: https://blade.razorpay.com/?path=/docs/tokens-elevation--docs
*/
elevation?: keyof Elevation;
}>;
type BaseBoxVisualProps = MakeObjectResponsive<{
backgroundColor: BackgroundColorString<'feedback'> | BackgroundColorString<'surface'> | BackgroundColorString<'interactive'> | BackgroundColorString<'overlay'> | BackgroundColorString<'popup'> | 'transparent' | (string & Record);
lineHeight: SpacingValueType;
touchAction: CSSObject['touchAction'];
userSelect: CSSObject['userSelect'];
} & PickCSSByPlatform<'border' | 'borderLeft' | 'borderRight' | 'borderTop' | 'borderBottom' | 'opacity' | 'pointerEvents' | 'cursor'>>;
type BoxVisualProps = MakeObjectResponsive<{
backgroundColor: BackgroundColorString<'surface'> | BackgroundColorString<'overlay'> | BackgroundColorString<'feedback'> | 'transparent';
}> & {
as: BoxAsType;
};
type StyledPropsBlade = Partial & PositionProps & Pick & Pick & Pick, '__brand__'>>;
type BoxCallbackProps = Omit;
/**
* **Warning**
*
* Make sure to not use Box when you want to create a trigger that performs action on hover.
* You would probably want to render it as `button` using `styled.button` instead.
*
* Use this for hoverable containers in cases like custom menus.
*/
onMouseEnter: React.MouseEventHandler;
/**
* **Warning**
*
* Make sure to not use Box when you want to create a trigger that performs action on hover.
* You would probably want to render it as `button` using `styled.button` instead.
*
* Use this for hoverable containers in cases like custom menus.
*/
onMouseLeave: React.MouseEventHandler;
onScroll: React.UIEventHandler;
};
native: Record<'onMouseOver' | 'onMouseEnter' | 'onMouseLeave' | 'onScroll', undefined>;
}>, '__brand__'>;
type BoxDragAndDropProps = Omit;
onDragEnter: React.DragEventHandler;
onDragLeave: React.DragEventHandler;
onDragOver: React.DragEventHandler;
onDragEnd: React.DragEventHandler;
onDrop: React.DragEventHandler;
};
native: Record<'draggable' | 'onDragStart' | 'onDragEnter' | 'onDragLeave' | 'onDragOver' | 'onDragEnd' | 'onDrop', undefined>;
}>, '__brand__'>;
type BoxProps = Partial;
type BaseBoxProps = Omit & Partial & BladeCommonEvents & {
$isCard?: boolean;
};
type BoxRefType = Platform.Select<{
web: Omit;
native: View;
}>;
declare const Box: react__default.ForwardRefExoticComponent & {
as: "aside" | "div" | "footer" | "header" | "label" | "main" | "nav" | "section" | "span";
} & {
children?: react__default.ReactNode | react__default.ReactNode[];
tabIndex?: number | undefined;
id?: string | undefined;
} & TestID & ElementTiming & DataAnalyticsAttribute> & react__default.RefAttributes>;
type InteractiveText$1 = DotNotationToken;
type FeedbackText$1 = DotNotationToken;
type SurfaceText$1 = DotNotationToken;
type IconColors = `interactive.icon.${InteractiveText$1}` | `surface.icon.${SurfaceText$1}` | `feedback.icon.${FeedbackText$1}`;
type IconSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | '2xlarge';
type IconProps = {
/**
* Color token (not to be confused with actual hsla value)
*/
color?: IconColors | 'currentColor';
size?: IconSize;
} & StyledPropsBlade;
type IconComponent = React.ComponentType;
declare const AcceptPaymentsFilledIcon: react.FunctionComponent;
declare const AcceptPaymentsIcon: react.FunctionComponent;
declare const ActivityIcon: react.FunctionComponent;
declare const AddressBookIcon: react.FunctionComponent;
declare const AffordabilityFilledIcon: react.FunctionComponent;
declare const AffordabilityIcon: react.FunctionComponent;
declare const AirplayIcon: react.FunctionComponent;
declare const AlertCircleIcon: react.FunctionComponent;
declare const AlertOctagonIcon: react.FunctionComponent;
declare const AlertOnlyIcon: react.FunctionComponent;
declare const AlertTriangleIcon: react.FunctionComponent;
declare const AlignCenterIcon: react.FunctionComponent;
declare const AlignJustifyIcon: react.FunctionComponent;
declare const AlignLeftIcon: react.FunctionComponent;
declare const AlignRightIcon: react.FunctionComponent;
declare const AnchorIcon: react.FunctionComponent;
declare const AndroidIcon: react.FunctionComponent;
declare const AnnouncementIcon: react.FunctionComponent;
declare const ApertureIcon: react.FunctionComponent;
declare const AppStoreIcon: react.FunctionComponent;
declare const AppleIcon: react.FunctionComponent;
declare const ArrowDownIcon: react.FunctionComponent;
declare const ArrowDownLeftIcon: react.FunctionComponent;
declare const ArrowDownRightIcon: react.FunctionComponent;
declare const ArrowLeftIcon: react.FunctionComponent;
declare const ArrowRightIcon: react.FunctionComponent;
declare const ArrowSquareDownIcon: react.FunctionComponent;
declare const ArrowSquareDownLeftIcon: react.FunctionComponent;
declare const ArrowSquareDownRightIcon: react.FunctionComponent;
declare const ArrowSquareLeftIcon: react.FunctionComponent;
declare const ArrowSquareRightIcon: react.FunctionComponent;
declare const ArrowSquareUpIcon: react.FunctionComponent;
declare const ArrowSquareUpLeftIcon: react.FunctionComponent;
declare const ArrowSquareUpRightIcon: react.FunctionComponent;
declare const ArrowUpIcon: react.FunctionComponent;
declare const ArrowUpLeftIcon: react.FunctionComponent;
declare const ArrowUpRightIcon: react.FunctionComponent;
declare const AtSignIcon: react.FunctionComponent;
declare const AttachmentIcon: react.FunctionComponent;
declare const AutomateAccountingIcon: react.FunctionComponent;
declare const AutomatePayrollFilledIcon: react.FunctionComponent;
declare const AutomatePayrollIcon: react.FunctionComponent;
declare const AwardIcon: react.FunctionComponent;
declare const BankAccountVerificationFilledIcon: react.FunctionComponent;
declare const BankAccountVerificationIcon: react.FunctionComponent;
declare const BankIcon: react.FunctionComponent;
declare const BarChartAltIcon: react.FunctionComponent;
declare const BarChartIcon: react.FunctionComponent;
declare const BarCodeIcon: react.FunctionComponent;
declare const Battery100PercentIcon: react.FunctionComponent;
declare const Battery20PercentIcon: react.FunctionComponent;
declare const Battery40PercentIcon: react.FunctionComponent;
declare const Battery60PercentIcon: react.FunctionComponent;
declare const Battery80PercentIcon: react.FunctionComponent;
declare const BatteryChargingIcon: react.FunctionComponent;
declare const BatteryIcon: react.FunctionComponent;
declare const BellIcon: react.FunctionComponent;
declare const BellOffIcon: react.FunctionComponent;
declare const BfsiFilledIcon: react.FunctionComponent;
declare const BfsiIcon: react.FunctionComponent;
declare const BillIcon: react.FunctionComponent;
declare const BillMeFilledIcon: react.FunctionComponent;
declare const BillMeIcon: react.FunctionComponent;
declare const BluetoothIcon: react.FunctionComponent;
declare const BoldIcon: react.FunctionComponent;
declare const BookIcon: react.FunctionComponent;
declare const BookmarkIcon: react.FunctionComponent;
declare const BoxIcon: react.FunctionComponent;
declare const BriefcaseIcon: react.FunctionComponent;
declare const BugIcon: react.FunctionComponent;
declare const BuildingIcon: react.FunctionComponent;
declare const BulkPayoutsFilledIcon: react.FunctionComponent;
declare const BulkPayoutsIcon: react.FunctionComponent;
declare const BusinessBankingIcon: react.FunctionComponent;
declare const BusinessSpendManagementFilledIcon: react.FunctionComponent;
declare const BusinessSpendManagementIcon: react.FunctionComponent;
declare const CalendarIcon: react.FunctionComponent;
declare const CameraIcon: react.FunctionComponent;
declare const CameraOffIcon: react.FunctionComponent;
declare const CashIcon: react.FunctionComponent;
declare const CastIcon: react.FunctionComponent;
declare const CheckCircle2Icon: react.FunctionComponent;
declare const CheckCircleIcon: react.FunctionComponent;
declare const CheckIcon: react.FunctionComponent;
declare const CheckSquareIcon: react.FunctionComponent;
declare const ChevronDownIcon: react.FunctionComponent;
declare const ChevronLeftIcon: react.FunctionComponent;
declare const ChevronRightIcon: react.FunctionComponent;
declare const ChevronUpDownIcon: react.FunctionComponent;
declare const ChevronUpIcon: react.FunctionComponent;
declare const ChevronsDownIcon: react.FunctionComponent;
declare const ChevronsLeftIcon: react.FunctionComponent;
declare const ChevronsRightIcon: react.FunctionComponent;
declare const ChevronsUpIcon: react.FunctionComponent;
declare const ChromeIcon: react.FunctionComponent;
declare const CircleIcon: react.FunctionComponent;
declare const ClipboardIcon: react.FunctionComponent;
declare const ClockIcon: react.FunctionComponent;
declare const CloseIcon: react.FunctionComponent;
declare const ClosedCaptioningIcon: react.FunctionComponent;
declare const CloudDrizzleIcon: react.FunctionComponent;
declare const CloudIcon: react.FunctionComponent;
declare const CloudLightningIcon: react.FunctionComponent;
declare const CloudOffIcon: react.FunctionComponent;
declare const CloudRainIcon: react.FunctionComponent;
declare const CloudSnowIcon: react.FunctionComponent;
declare const CodeSnippetIcon: react.FunctionComponent;
declare const CodepenIcon: react.FunctionComponent;
declare const CoinIcon: react.FunctionComponent;
declare const CoinsIcon: react.FunctionComponent;
declare const CommandIcon: react.FunctionComponent;
declare const CompanyRegistrationFilledIcon: react.FunctionComponent;
declare const CompanyRegistrationIcon: react.FunctionComponent;
declare const CompassIcon: react.FunctionComponent;
declare const ConfettiIcon: react.FunctionComponent;
declare const ContactlessPaymentIcon: react.FunctionComponent;
declare const CookieIcon: react.FunctionComponent;
declare const CopyIcon: react.FunctionComponent;
declare const CopyrightIcon: react.FunctionComponent;
declare const CornerDownLeftIcon: react.FunctionComponent;
declare const CornerDownRightIcon: react.FunctionComponent;
declare const CornerLeftDownIcon: react.FunctionComponent;
declare const CornerLeftUpIcon: react.FunctionComponent;
declare const CornerRightDownIcon: react.FunctionComponent;
declare const CornerRightUpIcon: react.FunctionComponent;
declare const CornerUpLeftIcon: react.FunctionComponent;
declare const CornerUpRightIcon: react.FunctionComponent;
declare const CpuIcon: react.FunctionComponent;
declare const CreditCardIcon: react.FunctionComponent;
declare const CreditsAndLoansFilledIcon: react.FunctionComponent;
declare const CreditsAndLoansIcon: react.FunctionComponent;
declare const CropIcon: react.FunctionComponent;
declare const CrosshairIcon: react.FunctionComponent;
declare const CurrentAccountFilledIcon: react.FunctionComponent;
declare const CurrentAccountIcon: react.FunctionComponent;
declare const CustomersIcon: react.FunctionComponent;
declare const CutIcon: react.FunctionComponent;
declare const DashboardIcon: react.FunctionComponent;
declare const DeleteIcon: react.FunctionComponent;
declare const DigitalLendingFilledIcon: react.FunctionComponent;
declare const DigitalLendingIcon: react.FunctionComponent;
declare const DisbursePaymentsFilledIcon: react.FunctionComponent;
declare const DisbursePaymentsIcon: react.FunctionComponent;
declare const DiscIcon: react.FunctionComponent;
declare const DollarIcon: react.FunctionComponent;
declare const DollarsIcon: react.FunctionComponent;
declare const DotIcon: react.FunctionComponent;
declare const DownloadCloudIcon: react.FunctionComponent;
declare const DownloadIcon: react.FunctionComponent;
declare const DragHandleIcon: react.FunctionComponent;
declare const DropletIcon: react.FunctionComponent;
declare const EcommerceFilledIcon: react.FunctionComponent;
declare const EcommerceIcon: react.FunctionComponent;
declare const EditComposeIcon: react.FunctionComponent;
declare const EditIcon: react.FunctionComponent;
declare const EditInlineIcon: react.FunctionComponent;
declare const EducationFilledIcon: react.FunctionComponent;
declare const EducationIcon: react.FunctionComponent;
declare const EngageFilledIcon: react.FunctionComponent;
declare const EngageIcon: react.FunctionComponent;
declare const EqualsIcon: react.FunctionComponent;
declare const EscrowAccountFilledIcon: react.FunctionComponent;
declare const EscrowAccountIcon: react.FunctionComponent