@uniformdev/design-system 13.0.1-alpha.96

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.
@@ -0,0 +1,257 @@
1
+ import * as React$1 from 'react';
2
+ import React__default, { ReactNode } from 'react';
3
+ import * as _emotion_react from '@emotion/react';
4
+ import { SerializedStyles } from '@emotion/react';
5
+ import { ButtonProps as ButtonProps$1 } from 'reakit/Button';
6
+ import { IconBaseProps, IconType } from 'react-icons';
7
+ import * as _emotion_react_types_jsx_namespace from '@emotion/react/types/jsx-namespace';
8
+ import { MenuHTMLProps, MenuProps as MenuProps$1, MenuStateReturn } from 'reakit/Menu';
9
+ import { MenuItemHTMLProps } from 'reakit';
10
+
11
+ declare type ThemeProps = {
12
+ disableReset?: boolean;
13
+ };
14
+ declare const Theme: React__default.ElementType;
15
+
16
+ declare const input: _emotion_react.SerializedStyles;
17
+ declare const inputError: _emotion_react.SerializedStyles;
18
+ declare const inputSelect: _emotion_react.SerializedStyles;
19
+
20
+ declare const scrollbarStyles: _emotion_react.SerializedStyles;
21
+
22
+ declare type ButtonThemeProps = 'primary' | 'secondary' | 'tertiary' | 'unimportant' | 'ghost';
23
+ declare type ButtonSizeProps = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
24
+ declare type ButtonProps = ButtonProps$1 & {
25
+ buttonType?: ButtonThemeProps;
26
+ /**
27
+ * @deprecated size might no longer be used as we are trying to consolidate button designs
28
+ */
29
+ size?: ButtonSizeProps;
30
+ /**
31
+ * @deprecated rounded is no longer used
32
+ */
33
+ rounded?: boolean;
34
+ };
35
+ /**
36
+ * Button component
37
+ * @component
38
+ * @param {string} buttonType - sets the theme of the button
39
+ * @param {BaseButtonProps} props - object of button props from reakit
40
+ * @param {React.ReactNode} children - react child elements
41
+ * @returns (
42
+ * <Button buttonType="secondary" onClick={() => alert('hello button')}>Click me</Button>
43
+ * )
44
+ */
45
+ declare const Button: React$1.FC<ButtonProps>;
46
+
47
+ declare const iconNames: readonly ["add-r", "add", "airplane", "alarm", "album", "align-bottom", "align-center", "align-left", "align-middle", "align-right", "align-top", "anchor", "apple-watch", "arrange-back", "arrange-front", "arrow-align-h", "arrow-align-v", "arrow-bottom-left-o", "arrow-bottom-left-r", "arrow-bottom-left", "arrow-bottom-right-o", "arrow-bottom-right-r", "arrow-bottom-right", "arrow-down-o", "arrow-down-r", "arrow-down", "arrow-left-o", "arrow-left-r", "arrow-left", "arrow-long-down-c", "arrow-long-down-e", "arrow-long-down-l", "arrow-long-down-r", "arrow-long-down", "arrow-long-left-c", "arrow-long-left-e", "arrow-long-left-l", "arrow-long-left-r", "arrow-long-left", "arrow-long-right-c", "arrow-long-right-e", "arrow-long-right-l", "arrow-long-right-r", "arrow-long-right", "arrow-long-up-c", "arrow-long-up-e", "arrow-long-up-l", "arrow-long-up-r", "arrow-long-up", "arrow-right-o", "arrow-right-r", "arrow-right", "arrow-top-left-o", "arrow-top-left-r", "arrow-top-left", "arrow-top-right-o", "arrow-top-right-r", "arrow-top-right", "arrow-up-o", "arrow-up-r", "arrow-up", "arrows-breake-h", "arrows-breake-v", "arrows-exchange-alt-v", "arrows-exchange-alt", "arrows-exchange-v", "arrows-exchange", "arrows-expand-down-left", "arrows-expand-down-right", "arrows-expand-left-alt", "arrows-expand-left", "arrows-expand-right-alt", "arrows-expand-right", "arrows-expand-up-left", "arrows-expand-up-right", "arrows-h-alt", "arrows-h", "arrows-merge-alt-h", "arrows-merge-alt-v", "arrows-scroll-h", "arrows-scroll-v", "arrows-shrink-h", "arrows-shrink-v", "arrows-v-alt", "arrows-v", "assign", "asterisk", "attachment", "attribution", "awards", "backspace", "band-aid", "battery-empty", "battery-full", "battery", "bee", "bell", "bitbucket", "block", "board", "bolt", "bookmark", "border-all", "border-bottom", "border-left", "border-right", "border-style-dashed", "border-style-dotted", "border-style-solid", "border-top", "bot", "bowl", "box", "boy", "briefcase", "browse", "browser", "brush", "bulb", "c-plus-plus", "calculator", "calendar-dates", "calendar-due", "calendar-next", "calendar-today", "calendar-two", "calendar", "calibrate", "camera", "cap", "captions", "card-clubs", "card-diamonds", "card-hearts", "card-spades", "carousel", "cast", "chart", "check-o", "check-r", "check", "chevron-double-down-o", "chevron-double-down-r", "chevron-double-down", "chevron-double-left-o", "chevron-double-left-r", "chevron-double-left", "chevron-double-right-o", "chevron-double-right-r", "chevron-double-right", "chevron-double-up-o", "chevron-double-up-r", "chevron-double-up", "chevron-down-o", "chevron-down-r", "chevron-down", "chevron-left-o", "chevron-left-r", "chevron-left", "chevron-right-o", "chevron-right-r", "chevron-right", "chevron-up-o", "chevron-up-r", "chevron-up", "clapper-board", "clipboard", "close-o", "close-r", "close", "cloud", "code-slash", "code", "coffee", "collage", "color-bucket", "color-picker", "comment", "community", "components", "compress-left", "compress-right", "compress-v", "compress", "controller", "copy", "copyright", "corner-double-down-left", "corner-double-down-right", "corner-double-left-down", "corner-double-left-up", "corner-double-right-down", "corner-double-right-up", "corner-double-up-left", "corner-double-up-right", "corner-down-left", "corner-down-right", "corner-left-down", "corner-left-up", "corner-right-down", "corner-right-up", "corner-up-left", "corner-up-right", "credit-card", "crop", "cross", "crown", "danger", "dark-mode", "data", "database", "debug", "desktop", "details-less", "details-more", "dialpad", "disc", "display-flex", "display-fullwidth", "display-grid", "display-spacing", "distribute-horizontal", "distribute-vertical", "dock-bottom", "dock-left", "dock-right", "dock-window", "dollar", "drive", "drop-invert", "drop-opacity", "drop", "duplicate", "edit-black-point", "edit-contrast", "edit-exposure", "edit-fade", "edit-flip-h", "edit-flip-v", "edit-highlight", "edit-markup", "edit-mask", "edit-noise", "edit-shadows", "edit-straight", "edit-unmask", "eject", "enter", "erase", "ereader", "ericsson", "ethernet", "euro", "expand", "export", "extension-add", "extension-alt", "extension-remove", "extension", "external", "eye-alt", "eye", "feed", "file-add", "file-document", "file-remove", "file", "film", "filters", "flag-alt", "flag", "folder-add", "folder-remove", "folder", "font-height", "font-spacing", "format-bold", "format-center", "format-color", "format-heading", "format-indent-decrease", "format-indent-increase", "format-italic", "format-justify", "format-left", "format-line-height", "format-right", "format-separator", "format-slash", "format-strike", "format-text", "format-underline", "format-uppercase", "games", "gender-female", "gender-male", "ghost-character", "gift", "girl", "git-branch", "git-commit", "git-fork", "git-pull", "glass-alt", "glass", "globe-alt", "globe", "gym", "hashtag", "headset", "heart", "home-alt", "home-screen", "home", "icecream", "image", "import", "inbox", "infinity", "info", "inpicture", "insert-after-o", "insert-after-r", "insert-after", "insert-before-o", "insert-before-r", "insert-before", "insights", "internal", "key", "keyboard", "keyhole", "laptop", "layout-grid-small", "layout-grid", "layout-list", "layout-pin", "link", "list-tree", "list", "live-photo", "loadbar-alt", "loadbar-doc", "loadbar-sound", "loadbar", "lock-unlock", "lock", "log-in", "log-off", "log-out", "loupe", "magnet", "mail-forward", "mail-open", "mail-reply", "mail", "math-divide", "math-equal", "math-minus", "math-percent", "math-plus", "maximize-alt", "maximize", "media-live", "media-podcast", "menu-boxed", "menu-cake", "menu-cheese", "menu-grid-o", "menu-grid-r", "menu-hotdog", "menu-left-alt", "menu-left", "menu-motion", "menu-oreos", "menu-right-alt", "menu-right", "menu-round", "menu", "merge-horizontal", "merge-vertical", "mic", "mini-player", "minimize-alt", "minimize", "modem", "moon", "more-alt", "more-o", "more-r", "more-vertical-alt", "more-vertical-o", "more-vertical-r", "more-vertical", "more", "mouse", "move-down", "move-left", "move-right", "move-task", "move-up", "music-note", "music-speaker", "music", "nametag", "notes", "notifications", "options", "organisation", "password", "path-back", "path-crop", "path-divide", "path-exclude", "path-front", "path-intersect", "path-outline", "path-trim", "path-unite", "pen", "pentagon-bottom-left", "pentagon-bottom-right", "pentagon-down", "pentagon-left", "pentagon-right", "pentagon-top-left", "pentagon-top-right", "pentagon-up", "performance", "phone", "photoscan", "piano", "pill", "pin-alt", "pin-bottom", "pin-top", "pin", "play-backwards", "play-button-o", "play-button-r", "play-button", "play-forwards", "play-list-add", "play-list-check", "play-list-remove", "play-list-search", "play-list", "play-pause-o", "play-pause-r", "play-pause", "play-stop-o", "play-stop-r", "play-stop", "play-track-next-o", "play-track-next-r", "play-track-next", "play-track-prev-o", "play-track-prev-r", "play-track-prev", "plug", "polaroid", "poll", "presentation", "printer", "profile", "pull-clear", "push-chevron-down-o", "push-chevron-down-r", "push-chevron-down", "push-chevron-left-o", "push-chevron-left-r", "push-chevron-left", "push-chevron-right-o", "push-chevron-right-r", "push-chevron-right", "push-chevron-up-o", "push-chevron-up-r", "push-chevron-up", "push-down", "push-left", "push-right", "push-up", "qr", "quote-o", "quote", "radio-check", "radio-checked", "ratio", "read", "readme", "record", "redo", "remote", "remove-r", "remove", "rename", "reorder", "repeat", "ring", "row-first", "row-last", "ruler", "sand-clock", "scan", "screen-mirror", "screen-shot", "screen-wide", "screen", "scroll-h", "scroll-v", "search-found", "search-loading", "search", "select-o", "select-r", "select", "server", "shape-circle", "shape-half-circle", "shape-hexagon", "shape-rhombus", "shape-square", "shape-triangle", "shape-zigzag", "share", "shield", "shopping-bag", "shopping-cart", "shortcut", "sidebar-open", "sidebar-right", "sidebar", "signal", "size", "sleep", "smart-home-boiler", "smart-home-cooker", "smart-home-heat", "smart-home-light", "smart-home-refrigerator", "smart-home-wash-machine", "smartphone-chip", "smartphone-ram", "smartphone-shake", "smartphone", "smile-mouth-open", "smile-neutral", "smile-no-mouth", "smile-none", "smile-sad", "smile-upside", "smile", "software-download", "software-upload", "sort-az", "sort-za", "space-between-v", "space-between", "spinner-alt", "spinner-two-alt", "spinner-two", "spinner", "stack", "stopwatch", "stories", "style", "sun", "support", "swap-vertical", "swap", "sweden", "swiss", "sync", "tab", "tag", "tap-double", "tap-single", "template", "tennis", "terminal", "terrain", "thermometer", "thermostat", "tikcode", "time", "timelapse", "timer", "today", "toggle-off", "toggle-on", "toggle-square-off", "toggle-square", "toolbar-bottom", "toolbar-left", "toolbar-right", "toolbar-top", "toolbox", "touchpad", "track", "transcript", "trash-empty", "trash", "tree", "trees", "trending-down", "trending", "trophy", "tv", "ui-kit", "umbrella", "unavailable", "unblock", "undo", "unsplash", "usb-c", "usb", "user-add", "user-list", "user-remove", "user", "view-cols", "view-comfortable", "view-day", "view-grid", "view-list", "view-month", "view-split", "vinyl", "voicemail-o", "voicemail-r", "voicemail", "volume", "webcam", "website", "work-alt", "yinyang", "zoom-in", "zoom-out"];
48
+ declare type IconName = typeof iconNames[number];
49
+
50
+ declare type IconColorProps = 'green' | 'red' | 'gray' | 'currentColor';
51
+ interface IconProps extends IconBaseProps {
52
+ icon: IconName | IconType;
53
+ iconColorClass?: IconColorProps;
54
+ }
55
+ declare const Icon: React__default.NamedExoticComponent<IconProps>;
56
+
57
+ declare type IconsMap = Record<string, IconType>;
58
+ declare function useIconContext(): {
59
+ iconsMap: IconsMap;
60
+ isLoading: boolean;
61
+ };
62
+ declare function IconsProvider({ children }: {
63
+ children: ReactNode;
64
+ }): _emotion_react_types_jsx_namespace.EmotionJSX.Element;
65
+
66
+ declare const Caption: React$1.FC;
67
+
68
+ declare type ErrorMessageProps = {
69
+ message?: string;
70
+ };
71
+ declare const ErrorMessage: ({ message }: ErrorMessageProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element | null;
72
+
73
+ declare type InputTextProps = React$1.InputHTMLAttributes<HTMLInputElement> & {
74
+ label?: string;
75
+ caption?: string;
76
+ icon?: React$1.ReactElement;
77
+ showLabel?: boolean;
78
+ errorMessage?: string;
79
+ capture?: boolean | 'user' | 'environment';
80
+ /** @deprecated */
81
+ classNameContainer?: string;
82
+ /** @deprecated */
83
+ classNameControl?: string;
84
+ /** @deprecated */
85
+ classNameLabel?: string;
86
+ };
87
+ /**
88
+ * Input Component
89
+ * @component
90
+ * @param {string} label - sets the label value
91
+ * @param {string} caption - sets help text value
92
+ * @param {boolean} showLabel - sets whether to hide the label and use aria-label on the input itself
93
+ * @param {React.ReactElement} icon - add an input icon to the input field
94
+ * @param {string} errorMessage - sets shows the the error message value
95
+ * @returns <Input label="my label" />
96
+ */
97
+ declare const Input: ({ label, icon, id, caption, showLabel, errorMessage, classNameContainer, classNameControl, classNameLabel, ...props }: InputTextProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
98
+
99
+ declare type InputSelectProps = React.SelectHTMLAttributes<HTMLSelectElement> & {
100
+ defaultOption?: string;
101
+ options: Array<React.OptionHTMLAttributes<HTMLOptionElement> & {
102
+ label: string;
103
+ }>;
104
+ caption?: string;
105
+ label: string;
106
+ showLabel?: boolean;
107
+ errorMessage?: string;
108
+ /** @deprecated */
109
+ classNameContainer?: string;
110
+ /** @deprecated */
111
+ classNameControl?: string;
112
+ /** @deprecated */
113
+ classNameLabel?: string;
114
+ };
115
+ /**
116
+ * Input Select Component
117
+ * @component
118
+ * @param {string} label - sets the label value
119
+ * @param {boolean} showLabel - sets whether to hide the label and use aria-label on the input itself
120
+ * @param {string} defaultOption - sets the first item in the options list with empty value
121
+ * @param {Array<React.OptionHTMLAttributes<HTMLOptionElement> & { label: string }>} options - sets an array of select options with value and text value
122
+ * @param {string} caption - sets help text value
123
+ * @param {string} errorMessage - sets and shows the the error message value
124
+ * @returns <InputSelect label="my label" options={[{label: "option 1"}, {label: "option 2"}]} />
125
+ */
126
+ declare const InputSelect: ({ label, defaultOption, options, caption, errorMessage, showLabel, classNameContainer, classNameControl, classNameLabel, ...props }: InputSelectProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
127
+
128
+ declare type InlineSelectInputOption = {
129
+ label: string;
130
+ value: string;
131
+ };
132
+ declare type InlineSelectInputProps = Omit<React$1.HTMLAttributes<HTMLButtonElement>, 'onChange'> & {
133
+ value: string;
134
+ options: Array<InlineSelectInputOption>;
135
+ onChange: (option: InlineSelectInputOption) => void;
136
+ disabled?: boolean;
137
+ classNameContainer?: SerializedStyles | string;
138
+ };
139
+ /**
140
+ * Input Inline Select
141
+ * @component
142
+ * @param {string} value - sets the selected value
143
+ * @param {Array<InlineSelectInputOption>} options - sets the available options within the dropdown
144
+ * @param {(option: InlineSelectInputOption) => void} onChange - function that takes an option argument and sets the new value
145
+ * @param {boolean} disabled - sets the disabled state of the button
146
+ * @param {SerializedStyles | string} classNameContainer - override existing styles by passing new emotion styles or a string of css props
147
+ * @returns <InlineSelectInput disabled={index > 1} value={currentValue ?? '&'} options={[{ label: 'AND', value: '&' }, { label: 'OR', value: '|' },]} onChange={(s) => {setState(s.value)}} />
148
+ */
149
+ declare const InputInlineSelect: ({ classNameContainer, options, value, onChange, disabled, ...props }: InlineSelectInputProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
150
+
151
+ interface InputKeywordSearchProps {
152
+ onSearchTextChanged: (searchText: string) => void;
153
+ disabled?: boolean;
154
+ placeholder?: string;
155
+ inputFieldName?: string;
156
+ disabledFieldSubmission?: boolean;
157
+ value?: string;
158
+ }
159
+ declare const InputKeywordSearch: ({ onSearchTextChanged, disabled, placeholder, inputFieldName, disabledFieldSubmission, value, }: InputKeywordSearchProps) => React$1.ReactElement;
160
+
161
+ declare type InputToggleProps = React$1.HTMLAttributes<HTMLInputElement> & {
162
+ label: string;
163
+ type: 'radio' | 'checkbox';
164
+ name: string;
165
+ disabled?: boolean;
166
+ checked?: boolean;
167
+ caption?: string;
168
+ errorMessage?: string;
169
+ };
170
+ declare const InputToggle: ({ label, type, disabled, checked, name, caption, errorMessage, ...props }: InputToggleProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
171
+
172
+ interface MenuProps extends MenuHTMLProps {
173
+ menuTrigger: React$1.ReactElement & React$1.RefAttributes<any>;
174
+ menuLabel: string;
175
+ placement?: MenuProps$1['placement'];
176
+ }
177
+ declare const MenuContext: React$1.Context<MenuStateReturn>;
178
+ declare const useMenuContext: () => MenuStateReturn;
179
+ declare const Menu: React$1.FC<MenuProps>;
180
+
181
+ declare type MenuItemProps = MenuItemHTMLProps & {
182
+ focusable?: boolean;
183
+ children: ChildFunction | React$1.ReactNode;
184
+ hideMenuOnClick?: boolean;
185
+ icon?: React$1.ReactElement;
186
+ };
187
+ declare type ChildFunction = (menuItemProps: MenuItemHTMLProps) => React$1.ReactElement | null;
188
+ declare const MenuItem: React$1.FC<MenuItemProps>;
189
+
190
+ declare type CalloutType = 'caution' | 'danger' | 'info' | 'note' | 'success' | 'tip' | 'error';
191
+ interface CalloutProps {
192
+ type: CalloutType;
193
+ title?: React$1.ReactNode;
194
+ children: React$1.ReactNode;
195
+ className?: SerializedStyles | string;
196
+ }
197
+ /**
198
+ * Callout
199
+ * @component
200
+ * @param {CalloutType} type - sets the type of callout to be used
201
+ * @param {React.ReactNode} title - sets the title of the callout
202
+ * @param {React.ReactNode} children - adds child components to the callout body
203
+ * @param {SerializedStyles | string} className - sets a string value className or a emotion css style property for custom overrides
204
+ * @return <Callout title="my title" type="caution"><p>callout body copy</p></Callout>
205
+ */
206
+ declare const Callout: React$1.FC<CalloutProps>;
207
+
208
+ /**
209
+ * Loading Indicator
210
+ * @component
211
+ * @returns <LoadingIndicator />
212
+ */
213
+ declare const LoadingIndicator: () => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
214
+
215
+ interface LoadingOverlayProps {
216
+ isActive: boolean;
217
+ statusMessage?: string | JSX.Element;
218
+ }
219
+ /**
220
+ * Loading Overlay
221
+ * @component
222
+ * @param {boolean} isActive - sets whether to display the loading overlay components
223
+ * @param {string | JSX.Element} statusMessage - optional type that sets a text value or React component under the loading icon
224
+ * @returns <LoadingOverlay isActive={true} statusMessage="Loading..." />
225
+ */
226
+ declare const LoadingOverlay: React__default.FC<LoadingOverlayProps>;
227
+ interface LoadingIconProps {
228
+ width?: number;
229
+ height?: number;
230
+ }
231
+ /**
232
+ * Loading Icon
233
+ * @component
234
+ * @param {number} height - option prop that sets a number value for the height of the icon
235
+ * @param {number} width - option prop that sets a number value for the width of the icon
236
+ * @returns <LoadingIcon height={128} width={128} />
237
+ */
238
+ declare const LoadingIcon: React__default.FC<LoadingIconProps>;
239
+
240
+ declare type LevelProps = 1 | 2 | 3 | 4 | 5 | 6;
241
+ declare type HeadingProps = {
242
+ level?: LevelProps;
243
+ };
244
+ declare const Heading: React$1.FC<HeadingProps>;
245
+
246
+ declare type breakpointSizeProps = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
247
+ declare type breakpointsProps = Record<breakpointSizeProps, string>;
248
+ declare const breakpoints: breakpointsProps;
249
+ /**
250
+ * Media Query Helper Function
251
+ * @function
252
+ * @param {string} size - The responsive breakpoint value
253
+ * @returns {string} - compiled media query e.g. (min-width: 640px)
254
+ */
255
+ declare const mq: (size: breakpointSizeProps) => string;
256
+
257
+ export { Button, ButtonProps, ButtonSizeProps, ButtonThemeProps, Callout, CalloutProps, CalloutType, Caption, ChildFunction, ErrorMessage, ErrorMessageProps, Heading, HeadingProps, Icon, IconColorProps, IconProps, IconsProvider, InlineSelectInputOption, InlineSelectInputProps, Input, InputInlineSelect, InputKeywordSearch, InputKeywordSearchProps, InputSelect, InputSelectProps, InputTextProps, InputToggle, InputToggleProps, LevelProps, LoadingIcon, LoadingIconProps, LoadingIndicator, LoadingOverlay, LoadingOverlayProps, Menu, MenuContext, MenuItem, MenuItemProps, MenuProps, Theme, ThemeProps, breakpointSizeProps, breakpoints, breakpointsProps, input, inputError, inputSelect, mq, scrollbarStyles, useIconContext, useMenuContext };