@true-engineering/true-react-common-ui-kit 1.0.1 → 1.0.2
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/LICENSE +1 -1
- package/dist/components/AccountInfo/AccountInfo.d.ts +4 -4
- package/dist/components/AccountInfo/AccountInfo.styles.d.ts +56 -60
- package/dist/components/AddButton/AddButton.d.ts +6 -6
- package/dist/components/AddButton/AddButton.styles.d.ts +23 -23
- package/dist/components/Button/Button.d.ts +33 -19
- package/dist/components/Button/Button.styles.d.ts +144 -144
- package/dist/components/Checkbox/Checkbox.d.ts +27 -16
- package/dist/components/Checkbox/Checkbox.styles.d.ts +42 -39
- package/dist/components/CloseButton/CloseButton.d.ts +4 -4
- package/dist/components/CloseButton/CloseButton.styles.d.ts +22 -22
- package/dist/components/Colors/Colors.styles.d.ts +28 -28
- package/dist/components/CssBaseline/CssBaseline.d.ts +1 -1
- package/dist/components/CssBaseline/CssBaseline.styles.d.ts +7 -7
- package/dist/components/DateInput/DateInput.d.ts +9 -8
- package/dist/components/DateInput/DateInput.styles.d.ts +7 -7
- package/dist/components/DatePicker/DatePicker.d.ts +36 -29
- package/dist/components/DatePicker/DatePicker.styles.d.ts +34 -38
- package/dist/components/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +9 -9
- package/dist/components/DatePicker/DatePickerHeader/DatePickerHeader.styles.d.ts +59 -59
- package/dist/components/DatePicker/DatePickerInput/DatePickerInput.d.ts +9 -7
- package/dist/components/DatePicker/DatePickerInput/DatePickerInput.styles.d.ts +16 -16
- package/dist/components/Description/Description.d.ts +6 -6
- package/dist/components/Description/Description.styles.d.ts +18 -18
- package/dist/components/FiltersPane/FilterInterval/FilterInterval.d.ts +19 -19
- package/dist/components/FiltersPane/FilterInterval/FilterInterval.styles.d.ts +44 -44
- package/dist/components/FiltersPane/FilterMultiSelect/FilterMultiSelect.d.ts +8 -2
- package/dist/components/FiltersPane/FilterSelect/FilterSelect.d.ts +35 -17
- package/dist/components/FiltersPane/FilterSelect/FilterSelect.styles.d.ts +111 -111
- package/dist/components/FiltersPane/FilterSelect/locales.d.ts +10 -6
- package/dist/components/FiltersPane/FilterValueView/FilterValueView.d.ts +9 -1
- package/dist/components/FiltersPane/FilterValueView/FilterValueView.styles.d.ts +8 -8
- package/dist/components/FiltersPane/FilterWithDates/FilterWithDates.d.ts +21 -13
- package/dist/components/FiltersPane/FilterWithDates/FilterWithDates.styles.d.ts +41 -41
- package/dist/components/FiltersPane/FilterWithPeriod/FilterWithPeriod.d.ts +8 -8
- package/dist/components/FiltersPane/FilterWithPeriod/FilterWithPeriod.styles.d.ts +7 -7
- package/dist/components/FiltersPane/FilterWrapper/FilterWrapper.d.ts +41 -18
- package/dist/components/FiltersPane/FilterWrapper/FilterWrapper.styles.d.ts +92 -92
- package/dist/components/FiltersPane/FiltersPane.d.ts +34 -15
- package/dist/components/FiltersPane/FiltersPane.styles.d.ts +50 -50
- package/dist/components/FiltersPane/FiltersPaneSearch/FiltersPaneSearch.d.ts +37 -18
- package/dist/components/FiltersPane/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +82 -82
- package/dist/components/FiltersPane/locales.d.ts +28 -22
- package/dist/components/FiltersPane/types.d.ts +65 -38
- package/dist/components/Flag/Flag.d.ts +2 -2
- package/dist/components/Flag/Flag.styles.d.ts +8 -8
- package/dist/components/FlexibleTable/FlexibleTable.d.ts +45 -20
- package/dist/components/FlexibleTable/FlexibleTable.styles.d.ts +93 -93
- package/dist/components/FlexibleTable/TableRow.d.ts +38 -21
- package/dist/components/FlexibleTable/TableValue.d.ts +28 -16
- package/dist/components/FlexibleTable/types.d.ts +37 -31
- package/dist/components/Icon/ComplexIconBoilerplate.d.ts +1 -1
- package/dist/components/Icon/Icon.d.ts +2 -2
- package/dist/components/Icon/Icon.styles.d.ts +4 -4
- package/dist/components/Icon/IconBoilerplate.d.ts +1 -1
- package/dist/components/Icon/complexIcons/icons.d.ts +1 -1
- package/dist/components/Icon/icons/icons.d.ts +97 -5
- package/dist/components/IncrementInput/ChangeButton.d.ts +5 -5
- package/dist/components/IncrementInput/IncrementInput.d.ts +4 -3
- package/dist/components/IncrementInput/IncrementInput.styles.d.ts +52 -52
- package/dist/components/Input/Input.d.ts +48 -37
- package/dist/components/Input/Input.styles.d.ts +242 -242
- package/dist/components/List/List.d.ts +12 -12
- package/dist/components/List/List.styles.d.ts +35 -35
- package/dist/components/Modal/Modal.d.ts +19 -19
- package/dist/components/Modal/Modal.styles.d.ts +235 -235
- package/dist/components/MoreMenu/MoreMenu.d.ts +7 -7
- package/dist/components/MoreMenu/MoreMenu.styles.d.ts +45 -44
- package/dist/components/MultiSelect/MultiSelect.d.ts +28 -13
- package/dist/components/MultiSelect/MultiSelect.styles.d.ts +38 -38
- package/dist/components/MultiSelect/MultiSelectInput/MultiSelectInput.d.ts +12 -6
- package/dist/components/MultiSelect/MultiSelectInput/MultiSelectInput.styles.d.ts +58 -58
- package/dist/components/MultiSelectList/MultiSelectList.d.ts +43 -20
- package/dist/components/MultiSelectList/MultiSelectList.styles.d.ts +90 -90
- package/dist/components/MultiSelectList/locales.d.ts +10 -6
- package/dist/components/Notification/Notification.d.ts +14 -9
- package/dist/components/Notification/Notification.styles.d.ts +33 -30
- package/dist/components/NumberInput/NumberInput.d.ts +16 -10
- package/dist/components/NumberInput/helpers.d.ts +10 -2
- package/dist/components/PhoneInput/PhoneInput.d.ts +14 -7
- package/dist/components/PhoneInput/PhoneInput.styles.d.ts +60 -60
- package/dist/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.d.ts +7 -7
- package/dist/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.styles.d.ts +78 -74
- package/dist/components/PhoneInput/types.d.ts +11 -11
- package/dist/components/RadioButton/RadioButton.d.ts +18 -8
- package/dist/components/RadioButton/RadioButton.styles.d.ts +25 -25
- package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +634 -374
- package/dist/components/SearchInput/SearchInput.d.ts +12 -2
- package/dist/components/SearchInput/SearchInput.styles.d.ts +32 -32
- package/dist/components/Select/Select.d.ts +50 -21
- package/dist/components/Select/Select.styles.d.ts +53 -53
- package/dist/components/Select/SelectList/SelectList.d.ts +30 -15
- package/dist/components/Select/SelectList/SelectList.styles.d.ts +37 -35
- package/dist/components/Select/helpers.d.ts +9 -2
- package/dist/components/SmartInput/SmartInput.d.ts +28 -16
- package/dist/components/SmartInput/helpers.d.ts +8 -4
- package/dist/components/Switch/Switch.d.ts +26 -13
- package/dist/components/Switch/Switch.styles.d.ts +58 -58
- package/dist/components/TextArea/TextArea.d.ts +26 -23
- package/dist/components/TextArea/TextArea.styles.d.ts +124 -124
- package/dist/components/TextWithInfo/TextWithInfo.d.ts +9 -9
- package/dist/components/TextWithInfo/TextWithInfo.styles.d.ts +40 -40
- package/dist/components/TextWithTooltip/TextWithTooltip.d.ts +12 -12
- package/dist/components/TextWithTooltip/TextWithTooltip.styles.d.ts +10 -10
- package/dist/components/ThemedPreloader/ThemedPreloader.d.ts +4 -4
- package/dist/components/ThemedPreloader/ThemedPreloader.styles.d.ts +10 -10
- package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.d.ts +1 -1
- package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.d.ts +35 -35
- package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.d.ts +2 -2
- package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.d.ts +5 -5
- package/dist/components/Toaster/Toaster.d.ts +16 -11
- package/dist/components/Toaster/Toaster.styles.d.ts +41 -41
- package/dist/components/Tooltip/Tooltip.d.ts +4 -4
- package/dist/components/Tooltip/Tooltip.styles.d.ts +25 -27
- package/dist/helpers/data-attributes.d.ts +11 -4
- package/dist/helpers/phone.d.ts +28 -8
- package/dist/helpers/utils.d.ts +28 -7
- package/dist/hooks/use-did-mount-effect.d.ts +4 -1
- package/dist/hooks/use-dropdown.d.ts +14 -7
- package/dist/hooks/use-is-mounted.d.ts +1 -1
- package/dist/hooks/use-on-click-outside.d.ts +25 -4
- package/dist/hooks/use-theme.d.ts +10 -5
- package/dist/hooks/use-tweak-styles.d.ts +5 -1
- package/dist/style.css +205 -90
- package/dist/theme.d.ts +51 -55
- package/dist/true-react-common-ui-kit.js +24375 -16679
- package/dist/true-react-common-ui-kit.js.map +1 -1
- package/dist/true-react-common-ui-kit.umd.cjs +300 -211
- package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
- package/dist/types.d.ts +77 -23
- package/package.json +1 -1
- package/src/components/List/List.tsx +9 -2
- package/src/components/Modal/Modal.tsx +1 -1
- package/src/components/MoreMenu/MoreMenu.styles.ts +2 -0
- package/src/components/MoreMenu/MoreMenu.tsx +35 -24
- package/src/types.ts +1 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,35 +1,89 @@
|
|
|
1
1
|
import { Styles } from 'react-jss';
|
|
2
2
|
import { Modifier, Placement } from 'react-overlays/usePopper';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
ICommonIcon,
|
|
5
|
+
IComplexIcon,
|
|
6
|
+
IPreloaderSvgType,
|
|
7
|
+
ISvgIcon,
|
|
8
|
+
} from './components';
|
|
4
9
|
export interface IDataAttributes {
|
|
5
|
-
|
|
10
|
+
[key: string]: unknown;
|
|
6
11
|
}
|
|
7
12
|
export interface ICommonProps {
|
|
8
|
-
|
|
13
|
+
data?: IDataAttributes;
|
|
9
14
|
}
|
|
10
15
|
export interface IDropdownWithPopperOptions {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
shouldUsePopper?: boolean;
|
|
17
|
+
shouldRenderInBody?: boolean;
|
|
18
|
+
scrollParent?: 'auto' | 'document' | Element;
|
|
19
|
+
shouldHideOnScroll?: boolean;
|
|
20
|
+
canBeFlipped?: boolean;
|
|
21
|
+
modifiers?: Array<Partial<Modifier<any, any>>>;
|
|
22
|
+
placement?: Placement;
|
|
23
|
+
flipOptions?: Record<string, any>;
|
|
19
24
|
}
|
|
20
|
-
export declare type ComponentStyles<StyleSheet, Props = unknown> = Partial<
|
|
21
|
-
|
|
25
|
+
export declare type ComponentStyles<StyleSheet, Props = unknown> = Partial<
|
|
26
|
+
Styles<keyof StyleSheet, Props>
|
|
27
|
+
>;
|
|
28
|
+
export declare type ComponentName =
|
|
29
|
+
| 'AccountInfo'
|
|
30
|
+
| 'AddButton'
|
|
31
|
+
| 'Button'
|
|
32
|
+
| 'CloseButton'
|
|
33
|
+
| 'Checkbox'
|
|
34
|
+
| 'CssBaseline'
|
|
35
|
+
| 'Colors'
|
|
36
|
+
| 'DateInput'
|
|
37
|
+
| 'DatePicker'
|
|
38
|
+
| 'DatePickerInput'
|
|
39
|
+
| 'DatePickerHeader'
|
|
40
|
+
| 'Description'
|
|
41
|
+
| 'DotsPreloader'
|
|
42
|
+
| 'SvgPreloader'
|
|
43
|
+
| 'FiltersPane'
|
|
44
|
+
| 'FilterInterval'
|
|
45
|
+
| 'FilterSelect'
|
|
46
|
+
| 'FilterWithDates'
|
|
47
|
+
| 'FilterWithPeriod'
|
|
48
|
+
| 'FilterWrapper'
|
|
49
|
+
| 'FiltersPaneSearch'
|
|
50
|
+
| 'Flag'
|
|
51
|
+
| 'FlexibleTable'
|
|
52
|
+
| 'Icon'
|
|
53
|
+
| 'IncrementInput'
|
|
54
|
+
| 'Input'
|
|
55
|
+
| 'List'
|
|
56
|
+
| 'Modal'
|
|
57
|
+
| 'MoreMenu'
|
|
58
|
+
| 'MultiSelect'
|
|
59
|
+
| 'MultiSelectInput'
|
|
60
|
+
| 'MultiSelectList'
|
|
61
|
+
| 'Notification'
|
|
62
|
+
| 'PhoneInput'
|
|
63
|
+
| 'PhoneInputCountryList'
|
|
64
|
+
| 'RadioButton'
|
|
65
|
+
| 'SearchInput'
|
|
66
|
+
| 'Select'
|
|
67
|
+
| 'SelectList'
|
|
68
|
+
| 'ScrollIntoViewIfNeeded'
|
|
69
|
+
| 'Switch'
|
|
70
|
+
| 'TextArea'
|
|
71
|
+
| 'TextWithInfo'
|
|
72
|
+
| 'TextWithTooltip'
|
|
73
|
+
| 'ThemedPreloader'
|
|
74
|
+
| 'Tooltip'
|
|
75
|
+
| 'Toaster';
|
|
22
76
|
export declare type UiKitAnimations = Record<string, any>;
|
|
23
77
|
export declare type UiKitHelpers = Record<string, Styles | (() => Styles)>;
|
|
24
78
|
export interface UiKitTheme {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
79
|
+
name: string;
|
|
80
|
+
components?: Partial<Record<ComponentName, ComponentStyles<any, any>>>;
|
|
81
|
+
icons?: Partial<Record<ICommonIcon, ISvgIcon>>;
|
|
82
|
+
complexIcons?: Partial<Record<IComplexIcon, string>>;
|
|
83
|
+
preloaders?: Partial<Record<IPreloaderSvgType, string>>;
|
|
84
|
+
animations?: UiKitAnimations;
|
|
85
|
+
colors?: Record<string, string>;
|
|
86
|
+
dimensions?: Record<string, number>;
|
|
87
|
+
boxShadows?: Record<string, string>;
|
|
88
|
+
helpers?: UiKitHelpers;
|
|
35
89
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,12 @@ import { FC, Fragment, ReactElement, ReactNode } from 'react';
|
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import { useTheme } from '../../hooks';
|
|
4
4
|
import { ICommonProps } from '../../types';
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
isNotEmpty,
|
|
7
|
+
getTestId,
|
|
8
|
+
addDataTestId,
|
|
9
|
+
addDataAttributes,
|
|
10
|
+
} from '../../helpers';
|
|
6
11
|
import { Icon, IIconType } from '../Icon';
|
|
7
12
|
|
|
8
13
|
import { ListStyles, styles } from './List.styles';
|
|
@@ -53,7 +58,9 @@ export const List: FC<IListProps> = ({
|
|
|
53
58
|
[classes.disabledItem]: item.disabled,
|
|
54
59
|
[classes.withIconGap]: item.withIconGap,
|
|
55
60
|
})}
|
|
56
|
-
{...addDataTestId(testId, `item-${idx}`)}
|
|
61
|
+
{...addDataTestId(item.testId ?? getTestId(testId, `item-${idx}`))}
|
|
62
|
+
{...(item.disabled &&
|
|
63
|
+
addDataAttributes({ disabled: item.disabled }))}
|
|
57
64
|
onClick={item.disabled ? undefined : () => handleItemClick(item)}
|
|
58
65
|
>
|
|
59
66
|
{isNotEmpty(item.icon) && (
|
|
@@ -26,7 +26,7 @@ export type IModalPosition = 'center' | 'left' | 'right' | 'static';
|
|
|
26
26
|
|
|
27
27
|
export interface IModalProps extends ICommonProps {
|
|
28
28
|
tweakStyles?: ModalStyles;
|
|
29
|
-
title?:
|
|
29
|
+
title?: ReactNode;
|
|
30
30
|
size?: 'l' | 'm' | 's';
|
|
31
31
|
isFooterSticky?: boolean;
|
|
32
32
|
buttons?: ReactNode[];
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { FC, MouseEvent, useRef, useState } from 'react';
|
|
1
2
|
import clsx from 'clsx';
|
|
2
|
-
import
|
|
3
|
-
|
|
3
|
+
import {
|
|
4
|
+
useTheme,
|
|
5
|
+
useTweakStyles,
|
|
6
|
+
useOnClickOutsideWithRef,
|
|
7
|
+
} from '../../hooks';
|
|
4
8
|
import { ICommonProps } from '../../types';
|
|
5
|
-
import { addDataAttributes } from '../../helpers';
|
|
9
|
+
import { addDataAttributes, addDataTestId, getTestId } from '../../helpers';
|
|
6
10
|
import { IListItem, List } from '../List';
|
|
7
11
|
import { Icon } from '../Icon';
|
|
8
12
|
|
|
@@ -12,66 +16,72 @@ export interface IMoreMenuProps extends ICommonProps {
|
|
|
12
16
|
tweakStyles?: MoreMenuStyles;
|
|
13
17
|
items: IListItem[];
|
|
14
18
|
isDisabled?: boolean;
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
/**
|
|
20
|
+
* @default true
|
|
21
|
+
*/
|
|
17
22
|
hasDefaultStateBackground?: boolean;
|
|
18
23
|
testId?: string;
|
|
24
|
+
onMenuOpen?(): void;
|
|
25
|
+
onMenuClose?(): void;
|
|
19
26
|
}
|
|
20
27
|
|
|
21
28
|
export const MoreMenu: FC<IMoreMenuProps> = ({
|
|
22
29
|
items,
|
|
23
30
|
isDisabled,
|
|
31
|
+
hasDefaultStateBackground = true,
|
|
24
32
|
data,
|
|
33
|
+
testId,
|
|
25
34
|
tweakStyles,
|
|
26
35
|
onMenuOpen,
|
|
27
36
|
onMenuClose,
|
|
28
|
-
hasDefaultStateBackground = true,
|
|
29
|
-
testId,
|
|
30
37
|
}) => {
|
|
31
|
-
const { classes } = useTheme(
|
|
38
|
+
const { classes, componentStyles } = useTheme(
|
|
39
|
+
'MoreMenu',
|
|
40
|
+
styles,
|
|
41
|
+
tweakStyles,
|
|
42
|
+
);
|
|
43
|
+
const tweakListStyles = useTweakStyles(
|
|
44
|
+
componentStyles,
|
|
45
|
+
tweakStyles,
|
|
46
|
+
'tweakList',
|
|
47
|
+
);
|
|
32
48
|
|
|
33
49
|
const [isMenuShown, setIsMenuShown] = useState(false);
|
|
34
50
|
const list = useRef<HTMLDivElement>(null);
|
|
35
51
|
const button = useRef<HTMLButtonElement>(null);
|
|
36
52
|
|
|
37
|
-
const
|
|
53
|
+
const isButtonDisabled = isDisabled || items.length === 0;
|
|
54
|
+
|
|
55
|
+
const toggleMenu = (event: MouseEvent) => {
|
|
38
56
|
const isShown = !isMenuShown;
|
|
39
57
|
event.stopPropagation();
|
|
40
58
|
setIsMenuShown(isShown);
|
|
41
59
|
if (isShown) {
|
|
42
|
-
|
|
43
|
-
onMenuOpen();
|
|
44
|
-
}
|
|
60
|
+
onMenuOpen?.();
|
|
45
61
|
} else {
|
|
46
|
-
|
|
47
|
-
onMenuClose();
|
|
48
|
-
}
|
|
62
|
+
onMenuClose?.();
|
|
49
63
|
}
|
|
50
64
|
};
|
|
51
65
|
|
|
52
66
|
const handleCloseMenu = () => {
|
|
53
67
|
setIsMenuShown(false);
|
|
54
|
-
|
|
55
|
-
onMenuClose();
|
|
56
|
-
}
|
|
68
|
+
onMenuClose?.();
|
|
57
69
|
};
|
|
58
70
|
|
|
59
71
|
useOnClickOutsideWithRef(list, handleCloseMenu, button);
|
|
60
72
|
|
|
61
|
-
const isButtonDisabled = isDisabled || items.length === 0;
|
|
62
|
-
|
|
63
73
|
return (
|
|
64
74
|
<div className={classes.root}>
|
|
65
75
|
<button
|
|
76
|
+
ref={button}
|
|
66
77
|
className={clsx(classes.button, {
|
|
67
78
|
[classes.hasCircle]: hasDefaultStateBackground,
|
|
68
79
|
[classes.disabled]: isButtonDisabled,
|
|
69
80
|
[classes.active]: isMenuShown,
|
|
70
81
|
})}
|
|
71
|
-
|
|
72
|
-
ref={button}
|
|
73
|
-
data-testid={testId}
|
|
82
|
+
{...addDataTestId(testId)}
|
|
74
83
|
{...addDataAttributes(data)}
|
|
84
|
+
onClick={!isButtonDisabled ? toggleMenu : undefined}
|
|
75
85
|
>
|
|
76
86
|
<div className={classes.icon}>
|
|
77
87
|
<Icon type="menu" />
|
|
@@ -81,8 +91,9 @@ export const MoreMenu: FC<IMoreMenuProps> = ({
|
|
|
81
91
|
<div className={classes.menu} ref={list}>
|
|
82
92
|
<List
|
|
83
93
|
items={items}
|
|
94
|
+
testId={getTestId(testId, 'list')}
|
|
95
|
+
tweakStyles={tweakListStyles}
|
|
84
96
|
onClick={handleCloseMenu}
|
|
85
|
-
testId={testId !== undefined ? `${testId}-list` : undefined}
|
|
86
97
|
/>
|
|
87
98
|
</div>
|
|
88
99
|
)}
|