@shopify/polaris
Version:
Shopify’s product component library
194 lines (193 loc) • 4.79 kB
TypeScript
import { ValidationMap } from 'react';
import { IconProps } from './components';
export declare type HeadingTagName = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';
export declare type EASDKTarget = 'app' | 'shopify' | 'new' | 'parent';
export declare type Error = string | React.ReactElement<any> | (string | React.ReactElement<any>)[];
export interface BaseAction {
/** A unique identifier for the action */
id?: string;
/** Content the action displays */
content?: string;
/** Visually hidden text for screen readers */
accessibilityLabel?: string;
/** A destination to link to, rendered in the action */
url?: string;
/** Forces url to open in a new tab */
external?: boolean;
/** Callback when an action takes place */
onAction?(): void;
}
export interface Action extends BaseAction {
}
export interface AnimationProps {
in?: boolean;
}
export interface BaseLinkAction {
/** A unique identifier for the action */
id?: string;
/** Content the action displays */
content?: string;
/** Visually hidden text for screen readers */
accessibilityLabel?: string;
/** A destination to link to */
url: string;
}
export interface EASDKBreadcrumbTarget {
target?: EASDKTarget;
}
export interface LinkAction extends BaseLinkAction, EASDKBreadcrumbTarget {
}
export interface BadgeAction {
badge?: {
status: 'new';
content: string;
};
}
export interface BaseCallbackAction {
/** A unique identifier for the action */
id?: string;
/** Content the action displays */
content?: string;
/** Visually hidden text for screen readers */
accessibilityLabel?: string;
/** Callback when an action takes place */
onAction(): void;
}
export interface CallbackAction extends BaseCallbackAction {
}
export interface DisableableAction extends Action {
/** Should the action be disabled */
disabled?: boolean;
}
export interface DestructableAction extends Action {
/** Destructive action */
destructive?: boolean;
}
export interface EASDKAction extends Action, DisableableAction, DestructableAction {
/** Where to display the target link */
target?: EASDKTarget;
}
export interface IconableAction extends Action {
/** Source of the icon */
icon?: IconProps['source'];
}
export interface LoadableAction extends Action {
/** Should a spinner be displayed */
loading?: boolean;
}
export interface ActionListItemDescriptor extends IconableAction, DisableableAction, BadgeAction, DestructableAction {
/** Image source */
image?: string;
/** Add an ellipsis suffix to action content */
ellipsis?: boolean;
}
export interface ActionListSection {
/** Section title */
title?: string;
/** Collection of action items for the list */
items: ActionListItemDescriptor[];
}
export interface ComplexAction extends Action, DisableableAction, DestructableAction, EASDKAction, IconableAction, LoadableAction {
}
export declare enum Keys {
BACKSPACE = 8,
TAB = 9,
ENTER = 13,
SHIFT = 16,
CTRL = 17,
ALT = 18,
PAUSE = 19,
CAPS_LOCK = 20,
ESCAPE = 27,
SPACE = 32,
PAGE_UP = 33,
PAGE_DOWN = 34,
END = 35,
HOME = 36,
LEFT_ARROW = 37,
UP_ARROW = 38,
RIGHT_ARROW = 39,
DOWN_ARROW = 40,
INSERT = 45,
DELETE = 46,
KEY_0 = 48,
KEY_1 = 49,
KEY_2 = 50,
KEY_3 = 51,
KEY_4 = 52,
KEY_5 = 53,
KEY_6 = 54,
KEY_7 = 55,
KEY_8 = 56,
KEY_9 = 57,
KEY_A = 65,
KEY_B = 66,
KEY_C = 67,
KEY_D = 68,
KEY_E = 69,
KEY_F = 70,
KEY_G = 71,
KEY_H = 72,
KEY_I = 73,
KEY_J = 74,
KEY_K = 75,
KEY_L = 76,
KEY_M = 77,
KEY_N = 78,
KEY_O = 79,
KEY_P = 80,
KEY_Q = 81,
KEY_R = 82,
KEY_S = 83,
KEY_T = 84,
KEY_U = 85,
KEY_V = 86,
KEY_W = 87,
KEY_X = 88,
KEY_Y = 89,
KEY_Z = 90,
LEFT_META = 91,
RIGHT_META = 92,
SELECT = 93,
NUMPAD_0 = 96,
NUMPAD_1 = 97,
NUMPAD_2 = 98,
NUMPAD_3 = 99,
NUMPAD_4 = 100,
NUMPAD_5 = 101,
NUMPAD_6 = 102,
NUMPAD_7 = 103,
NUMPAD_8 = 104,
NUMPAD_9 = 105,
MULTIPLY = 106,
ADD = 107,
SUBTRACT = 109,
DECIMAL = 110,
DIVIDE = 111,
F1 = 112,
F2 = 113,
F3 = 114,
F4 = 115,
F5 = 116,
F6 = 117,
F7 = 118,
F8 = 119,
F9 = 120,
F10 = 121,
F11 = 122,
F12 = 123,
NUM_LOCK = 144,
SCROLL_LOCK = 145,
SEMICOLON = 186,
EQUALS = 187,
COMMA = 188,
DASH = 189,
PERIOD = 190,
FORWARD_SLASH = 191,
GRAVE_ACCENT = 192,
OPEN_BRACKET = 219,
BACK_SLASH = 220,
CLOSE_BRACKET = 221,
SINGLE_QUOTE = 222
}
export declare const contentContextTypes: ValidationMap<any>;