@bigbinary/neetoui 3.5.12 → 3.5.13

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.
package/CHANGELOG.md CHANGED
@@ -23,6 +23,11 @@ Prefix the change with one of these keywords:
23
23
  - *Fixed*: for any bug fixes.
24
24
  - *Security*: in case of vulnerabilities.
25
25
 
26
+ ## 3.5.13 - 2022-07-28
27
+
28
+ - Added: type support for all exported components. IDE will now auto-predict the component props.
29
+ - Changed: Deprecated babel-eslint was replaced with @babel/eslint-parser
30
+
26
31
  ## 3.5.12 - 2022-07-25
27
32
 
28
33
  - Security: Bump moment from 2.29.3 to 2.29.4
package/formik.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ import React from "react";
2
+ import {
3
+ Input as PlainInput,
4
+ Radio as PlainRadio,
5
+ Switch as PlainSwitch,
6
+ Textarea as PlainTextarea,
7
+ Checkbox as PlainCheckbox,
8
+ Select as PlainSelect,
9
+ EmailInput as PlainEmailInput,
10
+ Button as PlainButton,
11
+ ButtonProps,
12
+ } from "./index";
13
+
14
+ export interface ActionBlockProps {
15
+ className?: string;
16
+ submitButtonProps?: ButtonProps;
17
+ cancelButtonProps?: ButtonProps;
18
+ }
19
+ export interface BlockNavigationProps {
20
+ isDirty?: boolean;
21
+ }
22
+
23
+ export const ActionBlock: React.FC<ActionBlockProps>;
24
+ export const BlockNavigation: React.FC<BlockNavigationProps>;
25
+
26
+ export const Input: typeof PlainInput;
27
+ export const Radio: typeof PlainRadio;
28
+ export const Switch: typeof PlainSwitch;
29
+ export const Textarea: typeof PlainTextarea;
30
+ export const Checkbox: typeof PlainCheckbox;
31
+ export const Select: typeof PlainSelect;
32
+ export const EmailInput: typeof PlainEmailInput;
33
+ export const Button: typeof PlainButton;
package/index.d.ts ADDED
@@ -0,0 +1,534 @@
1
+ import React from "react";
2
+
3
+ export interface AccordionProps {
4
+ className?: string;
5
+ defaultActiveKey?: number;
6
+ padded?: boolean;
7
+ style?: "primary" | "secondary";
8
+ }
9
+
10
+ export interface AccordionItemProps {
11
+ id?: string;
12
+ title?: string;
13
+ isOpen?: boolean;
14
+ onClick?: () => void;
15
+ className?: string;
16
+ titleProps?: React.DetailedHTMLProps<
17
+ React.HTMLAttributes<HTMLDivElement>,
18
+ HTMLDivElement
19
+ >;
20
+ iconProps?: React.SVGProps<SVGSVGElement>;
21
+ }
22
+
23
+ export interface ColorPickerProps {
24
+ color: string;
25
+ onChange: (color: string) => void;
26
+ colorPaletteProps?: {
27
+ color: { from: string; to: string };
28
+ colorList: { from: string; to: string }[];
29
+ onChange: (from: string, to: string) => void;
30
+ };
31
+ }
32
+
33
+ interface PopupProps {
34
+ isOpen?: boolean;
35
+ onClose?: () => void;
36
+ className?: string;
37
+ closeOnEsc?: boolean;
38
+ closeButton?: boolean;
39
+ backdropClassName?: string;
40
+ closeOnOutsideClick?: boolean;
41
+ [key: string]: any;
42
+ }
43
+
44
+ interface PopupContentProps {
45
+ className?: string;
46
+ }
47
+
48
+ export type ModalProps = PopupProps & { size?: "xs" | "sm" | "md" };
49
+
50
+ export type PaneProps = PopupProps & { size?: "sm" | "lg" };
51
+
52
+ export interface RadioProps {
53
+ onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
54
+ label?: string;
55
+ stacked?: boolean;
56
+ className?: string;
57
+ containerClassName?: string;
58
+ error?: string;
59
+ id?: any;
60
+ value?: any;
61
+ }
62
+
63
+ export type RadioItemProps = { label: string } & React.DetailedHTMLProps<
64
+ React.InputHTMLAttributes<HTMLInputElement>,
65
+ HTMLInputElement
66
+ >;
67
+
68
+ export type TabProps = {
69
+ size?: "large" | "default";
70
+ noUnderline?: boolean;
71
+ className?: string;
72
+ } & React.DetailedHTMLProps<
73
+ React.HTMLAttributes<HTMLDivElement>,
74
+ HTMLDivElement
75
+ >;
76
+
77
+ export type TabItemProps<S> = {
78
+ active?: boolean;
79
+ className?: string;
80
+ icon?: string | any;
81
+ onClick?: () => void;
82
+ activeClassName?: string;
83
+ [key: string]: any;
84
+ };
85
+
86
+ export interface ActionDropdownProps {
87
+ label?: string;
88
+ style?: "primary" | "secondary";
89
+ size?: "large" | "default";
90
+ disabled?: boolean;
91
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
92
+ className?: string;
93
+ buttonProps?: ButtonProps;
94
+ dropdownProps?: DropdownProps;
95
+ }
96
+
97
+ export interface AlertProps {
98
+ size?: "xs" | "sm" | "md";
99
+ isOpen?: boolean;
100
+ isSubmitting?: boolean;
101
+ className?: string;
102
+ closeOnEsc?: boolean;
103
+ closeButton?: boolean;
104
+ backdropClassName?: string;
105
+ closeOnOutsideClick?: boolean;
106
+ onClose?: () => void;
107
+ onSubmit?: () => void;
108
+ title?: string;
109
+ message?: string;
110
+ submitButtonLabel?: string;
111
+ cancelButtonLabel?: string;
112
+ }
113
+
114
+ export type AvatarProps = {
115
+ size?: "small" | "medium" | "large" | "xlarge";
116
+ user?: { name: string; imageUrl: string };
117
+ isSquare?: boolean;
118
+ status?: "online" | "idle" | "offline";
119
+ onClick?: React.MouseEventHandler<HTMLSpanElement>;
120
+ className?: string;
121
+ } & React.DetailedHTMLProps<
122
+ React.HTMLAttributes<HTMLSpanElement>,
123
+ HTMLSpanElement
124
+ >;
125
+
126
+ export interface ButtonProps {
127
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
128
+ icon?: string | any;
129
+ iconPosition?: "left" | "right";
130
+ iconSize?: number;
131
+ label?: string;
132
+ loading?: boolean;
133
+ to?: string;
134
+ type?: "button" | "reset" | "submit";
135
+ style?: "primary" | "secondary" | "danger" | "danger-text" | "text" | "link";
136
+ fullWidth?: boolean;
137
+ className?: string;
138
+ disabled?: boolean;
139
+ size?: "large" | "xlarge" | "default";
140
+ href?: string;
141
+ tooltipProps?: TooltipProps;
142
+ [key: string]: any;
143
+ }
144
+
145
+ export type CalloutProps = {
146
+ icon?: React.SVGProps<SVGSVGElement>;
147
+ style?: "info" | "warning" | "danger" | "success";
148
+ className?: string;
149
+ } & React.DetailedHTMLProps<
150
+ React.HTMLAttributes<HTMLDivElement>,
151
+ HTMLDivElement
152
+ >;
153
+
154
+ export type CheckboxProps = {
155
+ label?: string;
156
+ error?: string;
157
+ className?: string;
158
+ required?: false;
159
+ id?: string;
160
+ } & React.DetailedHTMLProps<
161
+ React.InputHTMLAttributes<HTMLInputElement>,
162
+ HTMLInputElement
163
+ >;
164
+
165
+ export type DatePickerProps = {
166
+ value: any;
167
+ defaultValue?: any;
168
+ className?: string;
169
+ label?: string;
170
+ size?: "small" | "large";
171
+ dropdownClassName?: string;
172
+ dateFormat?: string;
173
+ timeFormat?: string;
174
+ onChange?: (date: any, dateString: string) => void;
175
+ onOk?: () => void;
176
+ picker?: "date" | "week" | "month" | "quarter" | "year";
177
+ showTime?: boolean;
178
+ type?: "range" | "date";
179
+ nakedInput?: boolean;
180
+ error?: string;
181
+ id?: string;
182
+ disabled?: boolean;
183
+ [key: string]: any;
184
+ };
185
+
186
+ export interface DropdownProps {
187
+ icon?: string | any;
188
+ label?: React.ReactNode;
189
+ isOpen?: boolean;
190
+ onClose?: () => void;
191
+ ulProps?: React.DetailedHTMLProps<
192
+ React.HTMLAttributes<HTMLUListElement>,
193
+ HTMLUListElement
194
+ >;
195
+ position?:
196
+ | "auto"
197
+ | "auto-start"
198
+ | "auto-end"
199
+ | "top"
200
+ | "top-start"
201
+ | "top-end"
202
+ | "bottom"
203
+ | "bottom-start"
204
+ | "bottom-end"
205
+ | "right"
206
+ | "right-start"
207
+ | "right-end"
208
+ | "left"
209
+ | "left-start"
210
+ | "left-end";
211
+ className?: string;
212
+ buttonStyle?: "primary" | "secondary" | "text";
213
+ buttonProps?: ButtonProps;
214
+ customTarget?: React.ReactNode | (() => React.ReactNode);
215
+ disabled?: boolean;
216
+ closeOnEsc?: boolean;
217
+ closeOnSelect?: boolean;
218
+ closeOnOutsideClick?: boolean;
219
+ dropdownModifiers?: any[];
220
+ trigger?: "click" | "hover";
221
+ strategy?: "absolute" | "fixed";
222
+ onClick?: () => void;
223
+ [key: string]: any;
224
+ }
225
+
226
+ export interface EmailInputProps {
227
+ label?: string;
228
+ placeholder?: string;
229
+ helpText?: string;
230
+ value?: { label: string; value: string; valid: boolean }[];
231
+ onChange?: (
232
+ emails: { label: string; value: string; valid: boolean }[]
233
+ ) => void;
234
+ error?: string;
235
+ onBlur?: () => void;
236
+ filterInvalidEmails?: { label: string };
237
+ counter?: boolean | { label: string; startFrom: number };
238
+ disabled?: boolean;
239
+ maxHeight?: number;
240
+ [key: string]: any;
241
+ }
242
+
243
+ export type InputProps = {
244
+ size?: "small" | "large";
245
+ label?: string;
246
+ error?: string;
247
+ suffix?: React.ReactNode;
248
+ prefix?: React.ReactNode;
249
+ disabled?: boolean;
250
+ helpText?: string;
251
+ className?: string;
252
+ nakedInput?: boolean;
253
+ contentSize?: number;
254
+ required?: boolean;
255
+ } & React.DetailedHTMLProps<
256
+ React.InputHTMLAttributes<HTMLInputElement>,
257
+ HTMLInputElement
258
+ >;
259
+
260
+ export type LabelProps = {
261
+ className?: string;
262
+ required?: boolean;
263
+ helpIconProps?: {
264
+ onClick?: () => void;
265
+ icon?: any;
266
+ tooltipProps?: TooltipProps;
267
+ className?: string;
268
+ } & React.SVGProps<SVGSVGElement>;
269
+ } & React.DetailedHTMLProps<
270
+ React.LabelHTMLAttributes<HTMLLabelElement>,
271
+ HTMLLabelElement
272
+ >;
273
+
274
+ export type PageLoaderProps = { text?: string } & React.DetailedHTMLProps<
275
+ React.HTMLAttributes<HTMLDivElement>,
276
+ HTMLDivElement
277
+ >;
278
+
279
+ export interface PaginationProps {
280
+ pageSize: number;
281
+ count: number;
282
+ navigate: (toPage: number) => void;
283
+ pageNo?: number;
284
+ siblingCount?: number;
285
+ className?: string;
286
+ }
287
+
288
+ export type SelectProps = {
289
+ size?: "small" | "large";
290
+ label?: string;
291
+ required?: boolean;
292
+ error?: string;
293
+ helpText?: string;
294
+ className?: string;
295
+ innerRef?: React.Ref<HTMLSelectElement>;
296
+ isCreateable?: boolean;
297
+ strategy?: "default" | "fixed";
298
+ id?: string;
299
+ loadOptions?: boolean;
300
+ [key: string]: any;
301
+ };
302
+
303
+ export type SpinnerProps = {
304
+ theme?: "dark" | "light";
305
+ className?: string;
306
+ };
307
+
308
+ export type SwitchProps = {
309
+ label?: string;
310
+ required?: boolean;
311
+ className?: string;
312
+ error?: string;
313
+ onChange?: React.ChangeEventHandler<HTMLInputElement>;
314
+ checked?: boolean;
315
+ disabled?: boolean;
316
+ } & React.DetailedHTMLProps<
317
+ React.InputHTMLAttributes<HTMLInputElement>,
318
+ HTMLInputElement
319
+ >;
320
+
321
+ export interface TableProps {
322
+ rowData: any[];
323
+ columnData: any[];
324
+ allowRowClick?: boolean;
325
+ className?: string;
326
+ currentPageNumber?: number;
327
+ defaultPageSize?: number;
328
+ handlePageChange?: (page: number, pageSize: number) => void;
329
+ loading?: boolean;
330
+ onRowClick?: (
331
+ event: React.MouseEvent<any, MouseEvent>,
332
+ record: any,
333
+ rowIndex: number
334
+ ) => void;
335
+ onRowSelect?: (selectedRowKeys: React.Key[], selectedRows: any[]) => void;
336
+ totalCount?: number;
337
+ selectedRowKeys?: React.Key[];
338
+ fixedHeight?: boolean;
339
+ paginationProps?: any;
340
+ scroll?: {
341
+ x?: string | number | true;
342
+ y?: string | number;
343
+ scrollToFirstRowOnChange?: boolean;
344
+ };
345
+ rowSelection?: any;
346
+ [key: string]: any;
347
+ }
348
+
349
+ export interface TagProps {
350
+ icon?: string | any;
351
+ size?: "small" | "large";
352
+ label?: string;
353
+ style?: "outline" | "solid";
354
+ onClose?: () => void;
355
+ disabled?: boolean;
356
+ className?: string;
357
+ color?: "green" | "yellow" | "red" | "blue" | "gray";
358
+ indicatorColor?: "green" | "yellow" | "red" | "blue" | "gray";
359
+ }
360
+
361
+ export type TextareaProps = {
362
+ rows?: number;
363
+ disabled?: boolean;
364
+ required?: boolean;
365
+ nakedTextarea?: boolean;
366
+ helpText?: string;
367
+ error?: string;
368
+ label?: string;
369
+ className?: string;
370
+ maxLength?: number;
371
+ } & React.DetailedHTMLProps<
372
+ React.TextareaHTMLAttributes<HTMLTextAreaElement>,
373
+ HTMLTextAreaElement
374
+ >;
375
+
376
+ export type TimePickerProps = {
377
+ className?: string;
378
+ label?: string;
379
+ format?: string;
380
+ size?: "small" | "large";
381
+ interval?: {
382
+ hourStep: number;
383
+ minuteStep: number;
384
+ secondStep: number;
385
+ };
386
+ onChange?: (value: string) => void;
387
+ type?: "time" | "range";
388
+ nakedInput?: boolean;
389
+ disabled?: boolean;
390
+ error?: string;
391
+ defaultValue?: any;
392
+ value?: any;
393
+ id?: string;
394
+ [key: string]: any;
395
+ };
396
+
397
+ export interface TooltipProps {
398
+ content: React.ReactNode;
399
+ theme?: "dark" | "light";
400
+ disabled?: boolean;
401
+ position?:
402
+ | "auto"
403
+ | "auto-start"
404
+ | "auto-end"
405
+ | "top"
406
+ | "bottom"
407
+ | "right"
408
+ | "left"
409
+ | "auto"
410
+ | "top-start"
411
+ | "top-end"
412
+ | "bottom-start"
413
+ | "bottom-end"
414
+ | "right-start"
415
+ | "right-end"
416
+ | "left-start"
417
+ | "left-end";
418
+ interactive?: boolean;
419
+ hideAfter?: number;
420
+ hideOnTargetExit?: boolean;
421
+ }
422
+
423
+ export type TypographyProps = {
424
+ style?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "body1" | "body2" | "body3";
425
+ weight?:
426
+ | "thin"
427
+ | "extralight"
428
+ | "light"
429
+ | "normal"
430
+ | "medium"
431
+ | "semibold"
432
+ | "bold"
433
+ | "extrabold"
434
+ | "black";
435
+ lineHeight?: "none" | "tight" | "snug" | "normal" | "relaxed" | "loose";
436
+ component?:
437
+ | "h1"
438
+ | "h2"
439
+ | "h3"
440
+ | "h4"
441
+ | "h5"
442
+ | "h6"
443
+ | "p"
444
+ | "span"
445
+ | "b"
446
+ | "strong"
447
+ | "i"
448
+ | "em"
449
+ | "mark"
450
+ | "del"
451
+ | "s"
452
+ | "ins"
453
+ | "sub"
454
+ | "sup"
455
+ | "u"
456
+ | "code"
457
+ | "blockquote";
458
+ textTransform?:
459
+ | "none"
460
+ | "capitalize"
461
+ | "uppercase"
462
+ | "lowercase"
463
+ | "fullwidth"
464
+ | "inherit"
465
+ | "initial"
466
+ | "revert"
467
+ | "unset";
468
+ className?: string;
469
+ } & React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;
470
+
471
+ // components
472
+
473
+ export const Accordion: React.FC<AccordionProps> & {
474
+ Item: React.FC<AccordionItemProps>;
475
+ };
476
+ export const Modal: React.FC<ModalProps> & {
477
+ Header: React.FC<PopupContentProps>;
478
+ Body: React.FC<PopupContentProps>;
479
+ Footer: React.FC<PopupContentProps>;
480
+ };
481
+ export const Pane: React.FC<PaneProps> & {
482
+ Header: React.FC<PopupContentProps>;
483
+ Body: React.FC<PopupContentProps & { hasFooter?: boolean }>;
484
+ Footer: React.FC<PopupContentProps>;
485
+ };
486
+ export const Radio: React.FC<RadioProps> & {
487
+ Item: React.FC<RadioItemProps>;
488
+ };
489
+ export const Tab: React.FC<TabProps> & {
490
+ Item: React.FC<TabItemProps<any>>;
491
+ };
492
+
493
+ type ToastrFunction = (
494
+ message: React.ReactNode,
495
+ buttonLabel: React.ReactNode,
496
+ onClick: () => void
497
+ ) => void;
498
+
499
+ export const Toastr: {
500
+ show: ToastrFunction;
501
+ info: ToastrFunction;
502
+ success: ToastrFunction;
503
+ error: (
504
+ message: React.ReactNode | Error,
505
+ buttonLabel: React.ReactNode,
506
+ onClick: () => void
507
+ ) => void;
508
+ warning: ToastrFunction;
509
+ };
510
+
511
+ export const ColorPicker: React.FC<ColorPickerProps>;
512
+
513
+ export const ActionDropdown: React.FC<ActionDropdownProps>;
514
+ export const Alert: React.FC<AlertProps>;
515
+ export const Avatar: React.FC<AvatarProps>;
516
+ export const Button: React.FC<ButtonProps>;
517
+ export const Callout: React.FC<CalloutProps>;
518
+ export const Checkbox: React.FC<CheckboxProps>;
519
+ export const DatePicker: React.FC<DatePickerProps>;
520
+ export const Dropdown: React.FC<DropdownProps>;
521
+ export const EmailInput: React.FC<EmailInputProps>;
522
+ export const Input: React.ForwardRefExoticComponent<InputProps>;
523
+ export const Label: React.FC<LabelProps>;
524
+ export const PageLoader: React.FC<PageLoaderProps>;
525
+ export const Pagination: React.FC<PaginationProps>;
526
+ export const Select: React.ForwardRefExoticComponent<SelectProps>;
527
+ export const Spinner: React.FC<SpinnerProps>;
528
+ export const Switch: React.ForwardRefExoticComponent<SwitchProps>;
529
+ export const Table: React.FC<TableProps>;
530
+ export const Tag: React.FC<TagProps>;
531
+ export const Textarea: React.ForwardRefExoticComponent<TextareaProps>;
532
+ export const TimePicker: React.FC<TimePickerProps>;
533
+ export const Typography: React.ForwardRefExoticComponent<TypographyProps>;
534
+ export const Tooltip: React.ForwardRefExoticComponent<TooltipProps>;
package/layouts.d.ts ADDED
@@ -0,0 +1,115 @@
1
+ import React from "react";
2
+ import { NavLinkProps } from "react-router-dom";
3
+ import { AvatarProps, InputProps } from "./index";
4
+
5
+ export interface AppSwitcherProps {
6
+ size?: "lg" | "sm";
7
+ isOpen?: boolean;
8
+ className?: string;
9
+ closeOnEsc?: boolean;
10
+ closeOnOutsideClick?: boolean;
11
+ environment?: "development" | "staging" | "production";
12
+ activeApp?: string;
13
+ subdomain?: string;
14
+ neetoApps?: string[];
15
+ recentApps?: string[];
16
+ isSidebarOpen?: boolean;
17
+ onClose?: () => void;
18
+ [key: string]: any;
19
+ }
20
+
21
+ export interface ContainerProps {
22
+ isHeaderFixed?: boolean;
23
+ }
24
+
25
+ export interface HeaderProps {
26
+ title?: React.ReactNode;
27
+ menuBarToggle?: () => void;
28
+ searchProps?: InputProps;
29
+ className?: string;
30
+ actionBlock?: React.ReactNode;
31
+ breadcrumbs?: { text: React.ReactNode; link: string }[];
32
+ }
33
+
34
+ export interface MenuBarProps {
35
+ title?: string;
36
+ className?: string;
37
+ showMenu?: boolean;
38
+ "data-cy"?: string;
39
+ }
40
+
41
+ export type ScrollableProps = {
42
+ className?: string;
43
+ size?: "small" | "large" | "viewport";
44
+ } & React.DetailedHTMLProps<
45
+ React.HTMLAttributes<HTMLDivElement>,
46
+ HTMLDivElement
47
+ >;
48
+
49
+ type NavLinkItemType = {
50
+ to: string;
51
+ label?: React.ReactNode;
52
+ icon?: any;
53
+ description?: React.ReactNode;
54
+ } & React.PropsWithoutRef<NavLinkProps<any>> &
55
+ React.RefAttributes<HTMLAnchorElement>;
56
+
57
+ type FooterLinkType = {
58
+ label?: React.ReactNode;
59
+ icon?: any;
60
+ href?: string;
61
+ to?: string;
62
+ } & React.DetailedHTMLProps<
63
+ React.AnchorHTMLAttributes<HTMLAnchorElement>,
64
+ HTMLAnchorElement
65
+ > &
66
+ React.PropsWithoutRef<NavLinkProps<any>> &
67
+ React.RefAttributes<HTMLAnchorElement>;
68
+
69
+ type LinkType = {
70
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
71
+ label: React.ReactNode;
72
+ icon?: any;
73
+ } & React.DetailedHTMLProps<
74
+ React.ButtonHTMLAttributes<HTMLButtonElement>,
75
+ HTMLButtonElement
76
+ >;
77
+
78
+ export interface SidebarProps {
79
+ organizationInfo?: {
80
+ logo?: React.ReactNode;
81
+ name?: React.ReactNode;
82
+ subdomain?: React.ReactNode;
83
+ };
84
+ navLinks?: NavLinkItemType[];
85
+ tooltipStyle?: "default" | "featured";
86
+ footerLinks?: FooterLinkType[];
87
+ profileInfo?: {
88
+ name?: string;
89
+ email?: string;
90
+ topLinks?: LinkType[];
91
+ bottomLinks?: LinkType[];
92
+ customContent?: React.ReactNode;
93
+ changelogProps?: LinkType;
94
+ helpProps?: LinkType;
95
+ "data-cy"?: string;
96
+ } & AvatarProps;
97
+ isCollapsed?: boolean;
98
+ showAppSwitcher?: boolean;
99
+ onAppSwitcherToggle?: React.MouseEventHandler<HTMLButtonElement>;
100
+ appName?: string;
101
+ }
102
+
103
+ export interface SubHeaderProps {
104
+ className?: string;
105
+ leftActionBlock?: React.ReactNode;
106
+ rightActionBlock?: React.ReactNode;
107
+ }
108
+
109
+ export const AppSwitcher: React.FC<AppSwitcherProps>;
110
+ export const Container: React.ForwardRefExoticComponent<ContainerProps>;
111
+ export const Header: React.FC<HeaderProps>;
112
+ export const MenuBar: React.FC<MenuBarProps>;
113
+ export const Scrollable: React.FC<ScrollableProps>;
114
+ export const Sidebar: React.FC<SidebarProps>;
115
+ export const SubHeader: React.FC<SubHeaderProps>;
package/molecules.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import { ButtonProps, SelectProps, TagProps } from "./index";
3
+
4
+ interface Option {
5
+ label: string;
6
+ value: string;
7
+ }
8
+
9
+ export interface TagsProps {
10
+ label?: string;
11
+ allTags?: Option[];
12
+ selectedTags?: Option[];
13
+ onTagSelect?: (e: any) => void;
14
+ onTagCreate?: (e: any) => void;
15
+ onTagDelete?: (e: any) => void;
16
+ tagProps?: TagProps;
17
+ selectProps?: SelectProps;
18
+ buttonProps?: ButtonProps;
19
+ }
20
+
21
+ export const Tags: React.FC<TagsProps>;
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@bigbinary/neetoui",
3
- "version": "3.5.12",
3
+ "version": "3.5.13",
4
4
  "main": "./index.js",
5
5
  "module": "./index.js",
6
+ "types": "./index.d.ts",
6
7
  "author": "BigBinary",
7
8
  "license": "MIT",
8
9
  "description": "neetoUI is the library that drives the experience in all neeto products built at BigBinary",
@@ -40,6 +41,7 @@
40
41
  },
41
42
  "devDependencies": {
42
43
  "@babel/core": "7.11.6",
44
+ "@babel/eslint-parser": "^7.18.9",
43
45
  "@babel/plugin-transform-runtime": "7.17.0",
44
46
  "@babel/preset-env": "7.14.7",
45
47
  "@babel/preset-react": "7.14.5",
@@ -61,7 +63,6 @@
61
63
  "@testing-library/react": "12.1.3",
62
64
  "@testing-library/user-event": "13.5.0",
63
65
  "autoprefixer": "9.0.0",
64
- "babel-eslint": "10.1.0",
65
66
  "babel-jest": "27.3.1",
66
67
  "babel-loader": "8.1.0",
67
68
  "chromatic": "6.5.1",