@true-engineering/true-react-common-ui-kit 4.0.0-alpha44 → 4.0.0-alpha46
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/dist/components/AccountInfo/AccountInfo.styles.d.ts +1 -1
- package/dist/components/AddButton/AddButton.styles.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.styles.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.styles.d.ts +1 -1
- package/dist/components/CloseButton/CloseButton.styles.d.ts +1 -1
- package/dist/components/ControlWrapper/ControlWrapper.d.ts +2 -2
- package/dist/components/ControlWrapper/ControlWrapper.styles.d.ts +1 -1
- package/dist/components/ControlWrapper/constants.d.ts +1 -0
- package/dist/components/ControlWrapper/index.d.ts +1 -0
- package/dist/components/ControlWrapper/types.d.ts +3 -1
- package/dist/components/CssBaseline/CssBaseline.styles.d.ts +1 -1
- package/dist/components/DateInput/DateInput.d.ts +1 -2
- package/dist/components/DateInput/DateInput.styles.d.ts +1 -1
- package/dist/components/DateInput/constants.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +2 -3
- package/dist/components/DatePicker/DatePicker.styles.d.ts +1 -1
- package/dist/components/DatePicker/components/DatePickerBase/DatePickerBase.d.ts +1 -1
- package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.d.ts +1 -1
- package/dist/components/DatePicker/constants.d.ts +1 -1
- package/dist/components/DatePicker/types.d.ts +2 -2
- package/dist/components/Description/Description.styles.d.ts +1 -1
- package/dist/components/FileInput/FileInput.d.ts +1 -1
- package/dist/components/FileInput/FileInput.styles.d.ts +1 -1
- package/dist/components/FileItem/FileItem.styles.d.ts +1 -1
- package/dist/components/FiltersPane/FiltersPane.d.ts +0 -1
- package/dist/components/FiltersPane/FiltersPane.styles.d.ts +2 -2
- package/dist/components/FiltersPane/components/Filter/Filter.d.ts +1 -2
- package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +3 -6
- package/dist/components/FiltersPane/components/FilterMultiSelect/FilterMultiSelect.d.ts +0 -1
- package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +3 -6
- package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +1 -2
- package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.styles.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +5 -11
- package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +0 -1
- package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.d.ts +2 -2
- package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +1 -1
- package/dist/components/FiltersPane/constants.d.ts +1 -1
- package/dist/components/FiltersPane/helpers.d.ts +1 -1
- package/dist/components/FiltersPane/types.d.ts +1 -1
- package/dist/components/Flag/Flag.styles.d.ts +1 -1
- package/dist/components/Flag/customFlags/customFlags.d.ts +2 -2
- package/dist/components/FlexibleTable/FlexibleTable.styles.d.ts +2 -2
- package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.d.ts +1 -1
- package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.d.ts +1 -1
- package/dist/components/FlexibleTable/helpers.d.ts +2 -2
- package/dist/components/FloatDocActions/FloatDocActions.styles.d.ts +1 -1
- package/dist/components/FloatDocActions/components/DocActions/DocActions.styles.d.ts +1 -1
- package/dist/components/Icon/Icon.styles.d.ts +1 -1
- package/dist/components/Icon/icons/index.d.ts +29 -29
- package/dist/components/IconButton/IconButton.d.ts +1 -2
- package/dist/components/IconButton/IconButton.styles.d.ts +1 -1
- package/dist/components/IncrementInput/IncrementInput.styles.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +1 -2
- package/dist/components/Input/Input.styles.d.ts +1 -1
- package/dist/components/Input/InputBase.d.ts +1 -1
- package/dist/components/List/List.styles.d.ts +1 -1
- package/dist/components/List/components/ListItem/ListItem.styles.d.ts +1 -1
- package/dist/components/Modal/Modal.styles.d.ts +1 -1
- package/dist/components/MoreMenu/MoreMenu.styles.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelect.d.ts +0 -1
- package/dist/components/MultiSelect/MultiSelect.styles.d.ts +1 -1
- package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.d.ts +1 -1
- package/dist/components/MultiSelectList/MultiSelectList.styles.d.ts +1 -1
- package/dist/components/MultiSelectList/constants.d.ts +1 -1
- package/dist/components/MultiSelectList/helpers.d.ts +1 -1
- package/dist/components/NewMoreMenu/NewMoreMenu.styles.d.ts +1 -1
- package/dist/components/Notification/Notification.styles.d.ts +1 -1
- package/dist/components/NumberInput/NumberInput.d.ts +1 -2
- package/dist/components/NumberInput/helpers.d.ts +2 -2
- package/dist/components/PhoneInput/PhoneInput.styles.d.ts +1 -1
- package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.d.ts +1 -1
- package/dist/components/RadioButton/RadioButton.styles.d.ts +1 -1
- package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +3 -373
- package/dist/components/ScrollIntoViewIfNeeded/constants.d.ts +1 -1
- package/dist/components/SearchInput/SearchInput.d.ts +1 -2
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.styles.d.ts +12 -22
- package/dist/components/Select/components/SelectList/SelectList.d.ts +5 -5
- package/dist/components/Select/components/SelectList/SelectList.styles.d.ts +1 -1
- package/dist/components/Select/components/SelectListItem/SelectListItem.d.ts +2 -2
- package/dist/components/Select/helpers.d.ts +1 -1
- package/dist/components/Selector/Selector.d.ts +0 -1
- package/dist/components/Selector/Selector.styles.d.ts +1 -1
- package/dist/components/Skeleton/Skeleton.styles.d.ts +1 -1
- package/dist/components/SmartInput/SmartInput.d.ts +1 -1
- package/dist/components/Status/Status.styles.d.ts +1 -1
- package/dist/components/Status/types.d.ts +1 -1
- package/dist/components/Switch/Switch.styles.d.ts +1 -1
- package/dist/components/TextArea/TextArea.d.ts +1 -1
- package/dist/components/TextArea/TextArea.styles.d.ts +1 -1
- package/dist/components/TextButton/TextButton.d.ts +1 -1
- package/dist/components/TextButton/TextButton.styles.d.ts +1 -1
- package/dist/components/TextWithInfo/TextWithInfo.styles.d.ts +1 -1
- package/dist/components/TextWithTooltip/TextWithTooltip.styles.d.ts +1 -1
- package/dist/components/ThemedPreloader/ThemedPreloader.styles.d.ts +1 -1
- package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.d.ts +1 -1
- package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.d.ts +1 -1
- package/dist/components/Toaster/Toaster.styles.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.styles.d.ts +1 -1
- package/dist/components/WithMessages/WithMessages.d.ts +1 -1
- package/dist/components/WithMessages/WithMessages.styles.d.ts +1 -1
- package/dist/components/WithPopup/WithPopup.styles.d.ts +1 -1
- package/dist/components/WithPopup/types.d.ts +4 -4
- package/dist/components/index.d.ts +0 -1
- package/dist/constants/phone-info.d.ts +1 -1
- package/dist/helpers/misc.d.ts +2 -1
- package/dist/helpers/phone.d.ts +1 -1
- package/dist/hooks/use-dropdown.d.ts +3 -3
- package/dist/hooks/use-merge.d.ts +1 -1
- package/dist/hooks/use-mixed-styles.d.ts +3 -3
- package/dist/hooks/use-tweak-styles.d.ts +5 -5
- package/dist/theme/Provider.d.ts +2 -2
- package/dist/theme/common.d.ts +1 -1
- package/dist/theme/helpers.d.ts +3 -3
- package/dist/theme/true-jss/ThemedStylesManager.d.ts +1 -1
- package/dist/theme/true-jss/TweakStylesManager.d.ts +1 -1
- package/dist/theme/types.d.ts +1 -1
- package/dist/true-react-common-ui-kit.js +881 -733
- package/dist/true-react-common-ui-kit.js.map +1 -1
- package/dist/true-react-common-ui-kit.umd.cjs +881 -733
- package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
- package/dist/types.d.ts +4 -4
- package/package.json +14 -16
- package/src/components/AccountInfo/AccountInfo.stories.tsx +19 -27
- package/src/components/AddButton/AddButton.stories.tsx +14 -17
- package/src/components/Button/Button.stories.tsx +7 -24
- package/src/components/Checkbox/Checkbox.stories.tsx +24 -26
- package/src/components/Checkbox/types.ts +1 -1
- package/src/components/CloseButton/CloseButton.stories.tsx +5 -6
- package/src/components/Colors/Colors.stories.tsx +63 -3
- package/src/components/ControlWrapper/ControlWrapper.stories.tsx +43 -38
- package/src/components/ControlWrapper/ControlWrapper.tsx +2 -11
- package/src/components/ControlWrapper/constants.ts +11 -0
- package/src/components/ControlWrapper/index.ts +1 -0
- package/src/components/ControlWrapper/types.ts +4 -1
- package/src/components/DateInput/DateInput.stories.tsx +13 -30
- package/src/components/DatePicker/DatePicker.stories.tsx +15 -52
- package/src/components/Description/Description.stories.tsx +11 -16
- package/src/components/FileInput/FileInput.stories.tsx +59 -63
- package/src/components/FileItem/FileItem.stories.tsx +46 -45
- package/src/components/FiltersPane/FiltersPane.stories.tsx +27 -30
- package/src/components/FiltersPane/components/Filter/Filter.tsx +1 -1
- package/src/components/FiltersPane/components/Filter/helpers.ts +3 -3
- package/src/components/FiltersPane/types.ts +0 -2
- package/src/components/Flag/Flag.stories.tsx +15 -20
- package/src/components/Flag/Flag.tsx +2 -2
- package/src/components/FlexibleTable/FlexibleTable.stories.tsx +47 -50
- package/src/components/FloatDocActions/FloatDocActions.stories.tsx +18 -24
- package/src/components/Icon/Icon.stories.tsx +9 -5
- package/src/components/Icon/types.ts +1 -1
- package/src/components/IconButton/IconButton.stories.tsx +7 -11
- package/src/components/IncrementInput/IncrementInput.stories.tsx +25 -25
- package/src/components/Input/Input.stories.tsx +35 -61
- package/src/components/List/List.stories.tsx +22 -17
- package/src/components/List/List.styles.ts +2 -1
- package/src/components/Modal/Modal.stories.tsx +50 -59
- package/src/components/MoreMenu/MoreMenu.stories.tsx +24 -15
- package/src/components/MultiSelect/MultiSelect.stories.tsx +23 -20
- package/src/components/NewMoreMenu/NewMoreMenu.stories.tsx +42 -40
- package/src/components/Notification/Notification.stories.tsx +34 -32
- package/src/components/NumberInput/NumberInput.stories.tsx +27 -27
- package/src/components/PhoneInput/PhoneInput.stories.tsx +28 -54
- package/src/components/PhoneInput/PhoneInput.tsx +1 -1
- package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.tsx +5 -11
- package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +1 -4
- package/src/components/RadioButton/RadioButton.stories.tsx +28 -31
- package/src/components/RadioButton/types.ts +1 -1
- package/src/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.ts +15 -9
- package/src/components/SearchInput/SearchInput.stories.tsx +14 -14
- package/src/components/Select/CustomSelect.stories.tsx +29 -33
- package/src/components/Select/MultiSelect.stories.tsx +41 -46
- package/src/components/Select/Select.stories.tsx +41 -46
- package/src/components/Select/Select.tsx +27 -27
- package/src/components/Select/components/SelectList/SelectList.tsx +4 -4
- package/src/components/Selector/Selector.stories.tsx +25 -27
- package/src/components/Selector/Selector.tsx +1 -2
- package/src/components/Skeleton/Skeleton.stories.tsx +13 -12
- package/src/components/SmartInput/SmartInput.stories.tsx +23 -23
- package/src/components/Status/Status.stories.tsx +29 -30
- package/src/components/Status/types.ts +1 -1
- package/src/components/Switch/Switch.stories.tsx +19 -26
- package/src/components/TextArea/TextArea.stories.tsx +32 -35
- package/src/components/TextArea/types.ts +1 -1
- package/src/components/TextButton/TextButton.stories.tsx +6 -16
- package/src/components/TextWithInfo/TextWithInfo.stories.tsx +13 -21
- package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +26 -25
- package/src/components/TextWithTooltip/TextWithTooltip.tsx +1 -2
- package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +12 -23
- package/src/components/Toaster/Toaster.stories.tsx +16 -14
- package/src/components/Tooltip/Tooltip.stories.tsx +5 -4
- package/src/components/WithMessages/WithMessages.stories.tsx +16 -20
- package/src/components/WithPopup/WithPopup.stories.tsx +27 -26
- package/src/components/WithTooltip/WithTooltip.stories.tsx +28 -28
- package/src/components/index.ts +0 -1
- package/src/helpers/misc.ts +8 -5
- package/src/helpers/popper-helpers.ts +0 -1
- package/src/theme/helpers.ts +3 -1
- package/src/theme/true-jss/ThemedStylesManager.ts +2 -1
- package/src/theme/true-jss/TweakStylesManager.ts +1 -2
- package/src/theme/types.ts +0 -1
- package/src/types.ts +0 -2
- package/dist/components/Colors/Colors.d.ts +0 -2
- package/dist/components/Colors/Colors.styles.d.ts +0 -1
- package/dist/components/Colors/index.d.ts +0 -1
- package/src/components/Colors/Colors.styles.ts +0 -36
- package/src/components/Colors/Colors.tsx +0 -26
- package/src/components/Colors/index.ts +0 -1
- package/src/components/Flag/customFlags/augment.d.ts +0 -1
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import { FC, useState } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { type Meta } from '@storybook/react';
|
|
3
|
+
import { excludeStorybookParams } from '../../helpers';
|
|
3
4
|
import { Button } from '../Button';
|
|
4
5
|
import { IModalProps, Modal } from './Modal';
|
|
5
6
|
|
|
6
7
|
const smallText =
|
|
7
8
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
|
|
9
|
+
|
|
8
10
|
const text =
|
|
9
11
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat.';
|
|
10
|
-
|
|
12
|
+
|
|
13
|
+
const largeText = `${text}${text}${text}`;
|
|
14
|
+
|
|
11
15
|
const texts = { small: smallText, medium: text, large: largeText };
|
|
12
16
|
|
|
13
|
-
export interface
|
|
17
|
+
export interface IModalCustomProps extends IModalProps {
|
|
14
18
|
textSize: 'small' | 'medium' | 'large';
|
|
15
19
|
}
|
|
16
20
|
|
|
17
|
-
const
|
|
21
|
+
const Story: FC<IModalCustomProps> = ({ size, textSize, ...args }) => {
|
|
18
22
|
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
19
23
|
const [isSecondModalOpen, setIsSecondModalOpen] = useState(false);
|
|
20
24
|
|
|
@@ -27,26 +31,28 @@ const ModalWithCustomProps: FC<IModalWithCustomProps> = ({ size, textSize, ...ar
|
|
|
27
31
|
{...args}
|
|
28
32
|
isOpen={isModalOpen}
|
|
29
33
|
onClose={() => setIsModalOpen(false)}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
34
|
+
footer={
|
|
35
|
+
<>
|
|
36
|
+
<Button
|
|
37
|
+
key="1"
|
|
38
|
+
view="secondary"
|
|
39
|
+
onClick={() => setIsModalOpen(false)}
|
|
40
|
+
size={size === 's' ? 'm' : 'l'}
|
|
41
|
+
>
|
|
42
|
+
Отмена
|
|
43
|
+
</Button>
|
|
44
|
+
<Button
|
|
45
|
+
key="2"
|
|
46
|
+
size={size === 's' ? 'm' : 'l'}
|
|
47
|
+
onClick={() => {
|
|
48
|
+
setIsModalOpen(false);
|
|
49
|
+
setIsSecondModalOpen(true);
|
|
50
|
+
}}
|
|
51
|
+
>
|
|
52
|
+
Применить
|
|
53
|
+
</Button>
|
|
54
|
+
</>
|
|
55
|
+
}
|
|
50
56
|
>
|
|
51
57
|
<div style={{ lineHeight: 1.6 }}>{texts[textSize]}</div>
|
|
52
58
|
</Modal>
|
|
@@ -58,48 +64,33 @@ const ModalWithCustomProps: FC<IModalWithCustomProps> = ({ size, textSize, ...ar
|
|
|
58
64
|
);
|
|
59
65
|
};
|
|
60
66
|
|
|
61
|
-
|
|
67
|
+
const meta: Meta<typeof Story> = {
|
|
62
68
|
title: 'Feedback/Modal',
|
|
63
|
-
component:
|
|
69
|
+
component: Story,
|
|
70
|
+
args: {
|
|
71
|
+
title: 'Some modal title',
|
|
72
|
+
size: 'm',
|
|
73
|
+
textSize: 'small',
|
|
74
|
+
buttonsAlign: 'right',
|
|
75
|
+
shouldCloseOnEsc: true,
|
|
76
|
+
hasOverlay: true,
|
|
77
|
+
hasCloseButton: true,
|
|
78
|
+
shouldCloseOnOverlayClick: true,
|
|
79
|
+
shouldBlockScroll: true,
|
|
80
|
+
isFooterSticky: false,
|
|
81
|
+
},
|
|
64
82
|
argTypes: {
|
|
65
|
-
buttonsAlign: {
|
|
66
|
-
control: 'inline-radio',
|
|
67
|
-
options: ['left', 'center', 'right'],
|
|
68
|
-
},
|
|
69
83
|
textSize: {
|
|
70
84
|
control: 'inline-radio',
|
|
71
85
|
options: ['small', 'medium', 'large'],
|
|
72
86
|
},
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
87
|
+
},
|
|
88
|
+
parameters: {
|
|
89
|
+
controls: {
|
|
90
|
+
exclude: excludeStorybookParams(['items']),
|
|
77
91
|
},
|
|
78
92
|
},
|
|
79
93
|
};
|
|
80
94
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
style={{
|
|
84
|
-
border: '1px dotted rgba(0,0,0,.2)',
|
|
85
|
-
height: 1000, // чтобы был скролл на странице
|
|
86
|
-
}}
|
|
87
|
-
>
|
|
88
|
-
<ModalWithCustomProps {...args} />
|
|
89
|
-
</div>
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
export const Default = Template.bind({});
|
|
93
|
-
|
|
94
|
-
Default.args = {
|
|
95
|
-
title: 'Some modal title',
|
|
96
|
-
size: 'm',
|
|
97
|
-
textSize: 'small',
|
|
98
|
-
buttonsAlign: 'right',
|
|
99
|
-
shouldCloseOnEsc: true,
|
|
100
|
-
hasOverlay: true,
|
|
101
|
-
hasCloseButton: true,
|
|
102
|
-
shouldCloseOnOverlayClick: true,
|
|
103
|
-
shouldBlockScroll: true,
|
|
104
|
-
isFooterSticky: false,
|
|
105
|
-
};
|
|
95
|
+
export default meta;
|
|
96
|
+
export const Default = {};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { type Meta } from '@storybook/react';
|
|
3
|
+
import { excludeStorybookParams } from '../../helpers';
|
|
2
4
|
import { colors } from '../../theme';
|
|
3
|
-
import {
|
|
5
|
+
import { IListItem } from '../List';
|
|
6
|
+
import { IMoreMenuProps, MoreMenu } from './MoreMenu';
|
|
4
7
|
|
|
5
|
-
const
|
|
8
|
+
const items: IListItem[] = [
|
|
6
9
|
{ item: 'Печатать билет', onClick: console.log },
|
|
7
10
|
{ item: 'Выписать', onClick: console.log },
|
|
8
11
|
{ item: 'Аннулировать', onClick: console.log, shouldDrawSpacerBelow: true },
|
|
@@ -16,12 +19,7 @@ const menuItems = [
|
|
|
16
19
|
},
|
|
17
20
|
];
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
title: 'Data Display/MoreMenu',
|
|
21
|
-
component: MoreMenu,
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const Template: ComponentStory<typeof MoreMenu> = (args) => (
|
|
22
|
+
const Story: FC<IMoreMenuProps> = (args) => (
|
|
25
23
|
<div
|
|
26
24
|
style={{
|
|
27
25
|
display: 'flex',
|
|
@@ -33,14 +31,25 @@ const Template: ComponentStory<typeof MoreMenu> = (args) => (
|
|
|
33
31
|
>
|
|
34
32
|
<div style={{ display: 'flex', gap: 10, alignItems: 'center' }}>
|
|
35
33
|
<div style={{ flexShrink: 0 }}>Test subject</div>
|
|
36
|
-
<MoreMenu {...args}
|
|
34
|
+
<MoreMenu {...args} />
|
|
37
35
|
</div>
|
|
38
36
|
</div>
|
|
39
37
|
);
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
const meta: Meta<typeof Story> = {
|
|
40
|
+
title: 'Data Display/MoreMenu',
|
|
41
|
+
component: Story,
|
|
42
|
+
args: {
|
|
43
|
+
items,
|
|
44
|
+
isDisabled: false,
|
|
45
|
+
hasDefaultStateBackground: true,
|
|
46
|
+
},
|
|
47
|
+
parameters: {
|
|
48
|
+
controls: {
|
|
49
|
+
exclude: excludeStorybookParams(['items']),
|
|
50
|
+
},
|
|
51
|
+
},
|
|
46
52
|
};
|
|
53
|
+
|
|
54
|
+
export default meta;
|
|
55
|
+
export const Default = {};
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
import { useState } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export default {
|
|
6
|
-
title: 'Controls/MultiSelect',
|
|
7
|
-
component: MultiSelect,
|
|
8
|
-
argTypes: {
|
|
9
|
-
corners: { control: 'inline-radio', options: ['full', 'left', 'right'] },
|
|
10
|
-
},
|
|
11
|
-
};
|
|
1
|
+
import { FC, useState } from 'react';
|
|
2
|
+
import { type Meta } from '@storybook/react';
|
|
3
|
+
import { excludeStorybookParams } from '../../helpers';
|
|
4
|
+
import { IMultiSelectProps, MultiSelect } from './MultiSelect';
|
|
12
5
|
|
|
13
6
|
const stringOptions = [
|
|
14
7
|
'Опция 1',
|
|
@@ -22,7 +15,7 @@ const stringOptions = [
|
|
|
22
15
|
'4',
|
|
23
16
|
];
|
|
24
17
|
|
|
25
|
-
const
|
|
18
|
+
const Story: FC<IMultiSelectProps> = (args) => {
|
|
26
19
|
const [value, setValue] = useState<string[]>([]);
|
|
27
20
|
|
|
28
21
|
return (
|
|
@@ -35,12 +28,22 @@ const Template: ComponentStory<typeof MultiSelect> = (args) => {
|
|
|
35
28
|
);
|
|
36
29
|
};
|
|
37
30
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
31
|
+
const meta: Meta<typeof Story> = {
|
|
32
|
+
title: 'Controls/MultiSelect',
|
|
33
|
+
component: Story,
|
|
34
|
+
args: {
|
|
35
|
+
placeholder: 'Placeholder',
|
|
36
|
+
corners: 'full',
|
|
37
|
+
isInvalid: false,
|
|
38
|
+
isDisabled: false,
|
|
39
|
+
isRequired: false,
|
|
40
|
+
},
|
|
41
|
+
parameters: {
|
|
42
|
+
controls: {
|
|
43
|
+
exclude: excludeStorybookParams(['items']),
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
46
|
};
|
|
47
|
+
|
|
48
|
+
export default meta;
|
|
49
|
+
export const Default = {};
|
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { type Meta } from '@storybook/react';
|
|
3
|
+
import { excludeStorybookParams } from '../../helpers';
|
|
2
4
|
import { colors } from '../../theme';
|
|
3
|
-
import {
|
|
5
|
+
import { IListItem } from '../List';
|
|
6
|
+
import { INewMoreMenuProps, NewMoreMenu } from './NewMoreMenu';
|
|
4
7
|
|
|
5
|
-
const
|
|
6
|
-
'top',
|
|
7
|
-
'bottom',
|
|
8
|
-
'right',
|
|
9
|
-
'left',
|
|
10
|
-
'top-start',
|
|
11
|
-
'top-end',
|
|
12
|
-
'bottom-start',
|
|
13
|
-
'bottom-end',
|
|
14
|
-
'right-start',
|
|
15
|
-
'right-end',
|
|
16
|
-
'left-start',
|
|
17
|
-
'left-end',
|
|
18
|
-
];
|
|
19
|
-
|
|
20
|
-
const menuItems = [
|
|
8
|
+
const menuItems: IListItem[] = [
|
|
21
9
|
{ item: 'Печатать билет', onClick: console.log },
|
|
22
10
|
{ item: 'Выписать', onClick: console.log },
|
|
23
11
|
{ item: 'Аннулировать', onClick: console.log, shouldDrawSpacerBelow: true },
|
|
@@ -31,15 +19,22 @@ const menuItems = [
|
|
|
31
19
|
},
|
|
32
20
|
];
|
|
33
21
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
22
|
+
const placements = [
|
|
23
|
+
'top',
|
|
24
|
+
'bottom',
|
|
25
|
+
'right',
|
|
26
|
+
'left',
|
|
27
|
+
'top-start',
|
|
28
|
+
'top-end',
|
|
29
|
+
'bottom-start',
|
|
30
|
+
'bottom-end',
|
|
31
|
+
'right-start',
|
|
32
|
+
'right-end',
|
|
33
|
+
'left-start',
|
|
34
|
+
'left-end',
|
|
35
|
+
];
|
|
41
36
|
|
|
42
|
-
const
|
|
37
|
+
const Story: FC<INewMoreMenuProps> = (args) => (
|
|
43
38
|
<div
|
|
44
39
|
style={{
|
|
45
40
|
display: 'flex',
|
|
@@ -56,19 +51,26 @@ const Template: ComponentStory<typeof NewMoreMenu> = (args) => (
|
|
|
56
51
|
</div>
|
|
57
52
|
);
|
|
58
53
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
54
|
+
const meta: Meta<typeof Story> = {
|
|
55
|
+
title: 'Data Display/NewMoreMenu',
|
|
56
|
+
component: Story,
|
|
57
|
+
args: {
|
|
58
|
+
canBeFlipped: false,
|
|
59
|
+
isDisabled: false,
|
|
60
|
+
hasDefaultStateBackground: true,
|
|
61
|
+
placement: 'bottom-end',
|
|
62
|
+
shouldRenderInBody: false,
|
|
63
|
+
shouldHideOnScroll: false,
|
|
64
|
+
},
|
|
65
|
+
argTypes: {
|
|
66
|
+
placement: { control: 'select', options: placements },
|
|
67
|
+
},
|
|
68
|
+
parameters: {
|
|
69
|
+
controls: {
|
|
70
|
+
exclude: excludeStorybookParams(['items', 'middlewares']),
|
|
71
|
+
},
|
|
73
72
|
},
|
|
74
73
|
};
|
|
74
|
+
|
|
75
|
+
export default meta;
|
|
76
|
+
export const Default = {};
|
|
@@ -1,50 +1,52 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { type Meta } from '@storybook/react';
|
|
3
|
+
import { excludeStorybookParams } from '../../helpers';
|
|
2
4
|
import { iconsMap } from '../Icon';
|
|
3
5
|
import { INotificationProps, Notification } from './Notification';
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const lorem = 'Lorem ipsum dolor, sit amet consectetur adipisicing';
|
|
8
|
-
|
|
9
|
-
interface IStory extends INotificationProps {
|
|
7
|
+
interface INotificationCustomProps extends INotificationProps {
|
|
10
8
|
shouldUseChildrenInstead: boolean;
|
|
11
9
|
}
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
const Story: FC<INotificationCustomProps> = ({
|
|
12
|
+
shouldUseChildrenInstead,
|
|
13
|
+
title,
|
|
14
|
+
text,
|
|
15
|
+
...args
|
|
16
|
+
}) => (
|
|
17
|
+
<Notification
|
|
18
|
+
{...args}
|
|
19
|
+
title={!shouldUseChildrenInstead ? title : undefined}
|
|
20
|
+
text={!shouldUseChildrenInstead ? text : undefined}
|
|
21
|
+
>
|
|
22
|
+
{shouldUseChildrenInstead ? (
|
|
23
|
+
<div>
|
|
24
|
+
Some childrens with <a href="google.com">tags</a>
|
|
25
|
+
</div>
|
|
26
|
+
) : undefined}
|
|
27
|
+
</Notification>
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
const meta: Meta<typeof Story> = {
|
|
14
31
|
title: 'Data Display/Notification',
|
|
15
|
-
component:
|
|
32
|
+
component: Story,
|
|
16
33
|
args: {
|
|
17
34
|
title: 'Notification title',
|
|
18
|
-
text:
|
|
35
|
+
text: 'Lorem ipsum dolor, sit amet consectetur adipisicing',
|
|
19
36
|
size: 's',
|
|
20
37
|
type: 'info',
|
|
21
38
|
isFullWidth: false,
|
|
22
39
|
shouldUseChildrenInstead: false,
|
|
23
40
|
},
|
|
24
41
|
argTypes: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
42
|
+
icon: { options: [undefined, ...Object.keys(iconsMap)], control: 'select' },
|
|
43
|
+
},
|
|
44
|
+
parameters: {
|
|
45
|
+
controls: {
|
|
46
|
+
exclude: excludeStorybookParams(['children']),
|
|
30
47
|
},
|
|
31
48
|
},
|
|
32
|
-
} as Meta<IStory>;
|
|
33
|
-
|
|
34
|
-
export const Default: Story<IStory> = ({ title, text, shouldUseChildrenInstead, ...args }) => {
|
|
35
|
-
const children = (
|
|
36
|
-
<div>
|
|
37
|
-
Some childrens with <a href="google.com">tags</a>
|
|
38
|
-
</div>
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
return (
|
|
42
|
-
<Notification
|
|
43
|
-
{...args}
|
|
44
|
-
title={!shouldUseChildrenInstead ? title : undefined}
|
|
45
|
-
text={!shouldUseChildrenInstead ? text : undefined}
|
|
46
|
-
>
|
|
47
|
-
{shouldUseChildrenInstead ? children : undefined}
|
|
48
|
-
</Notification>
|
|
49
|
-
);
|
|
50
49
|
};
|
|
50
|
+
|
|
51
|
+
export default meta;
|
|
52
|
+
export const Default = {};
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import { useState } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { NumberInput } from './NumberInput';
|
|
1
|
+
import { FC, useState } from 'react';
|
|
2
|
+
import { type Meta } from '@storybook/react';
|
|
3
|
+
import { INumberInputProps, NumberInput } from './NumberInput';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
title: 'Inputs/NumberInput',
|
|
7
|
-
component: NumberInput,
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
const Template: ComponentStory<typeof NumberInput> = (args) => {
|
|
5
|
+
const Story: FC<INumberInputProps> = (args) => {
|
|
11
6
|
const [value, setValue] = useState<number>();
|
|
12
7
|
return (
|
|
13
8
|
<div style={{ width: 300 }}>
|
|
@@ -16,22 +11,27 @@ const Template: ComponentStory<typeof NumberInput> = (args) => {
|
|
|
16
11
|
);
|
|
17
12
|
};
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
14
|
+
const meta: Meta<typeof Story> = {
|
|
15
|
+
title: 'Inputs/NumberInput',
|
|
16
|
+
component: Story,
|
|
17
|
+
args: {
|
|
18
|
+
min: 0,
|
|
19
|
+
max: 9999,
|
|
20
|
+
precision: 3,
|
|
21
|
+
intPartPrecision: 7,
|
|
22
|
+
canBeFloat: false,
|
|
23
|
+
canBeNegative: false,
|
|
24
|
+
label: 'Label',
|
|
25
|
+
placeholder: 'Placeholder',
|
|
26
|
+
infoMessage: 'Message Info',
|
|
27
|
+
units: 'RUB',
|
|
28
|
+
isInvalid: false,
|
|
29
|
+
errorMessage: 'Error Text',
|
|
30
|
+
isDisabled: false,
|
|
31
|
+
isRequired: false,
|
|
32
|
+
isReadonly: false,
|
|
33
|
+
},
|
|
37
34
|
};
|
|
35
|
+
|
|
36
|
+
export default meta;
|
|
37
|
+
export const Default = {};
|
|
@@ -1,67 +1,41 @@
|
|
|
1
|
-
import { useState } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { FC, useState } from 'react';
|
|
2
|
+
import { type Meta } from '@storybook/react';
|
|
3
|
+
import { GROUP_PLACEMENTS } from '../ControlWrapper';
|
|
4
4
|
import { iconsMap } from '../Icon';
|
|
5
|
-
import { PhoneInput } from './PhoneInput';
|
|
5
|
+
import { IPhoneInputProps, PhoneInput } from './PhoneInput';
|
|
6
6
|
import { IPhoneValue } from './types';
|
|
7
7
|
|
|
8
|
-
const
|
|
9
|
-
const groupPlacements = [undefined, 'left', 'right', 'middle'];
|
|
10
|
-
const borders = [undefined, 'left', 'top', 'right', 'bottom'];
|
|
11
|
-
const errorPositions = ['bottom', 'top'];
|
|
12
|
-
const countryCodes = phoneInfo.map((info) => info.countryCode);
|
|
13
|
-
|
|
14
|
-
export default {
|
|
15
|
-
title: 'Inputs/PhoneInput',
|
|
16
|
-
component: PhoneInput,
|
|
17
|
-
argTypes: {
|
|
18
|
-
icon: { control: 'select', options: icons },
|
|
19
|
-
errorPosition: { control: 'inline-radio', options: errorPositions },
|
|
20
|
-
border: { control: 'inline-radio', options: borders },
|
|
21
|
-
groupPlacement: { control: 'select', options: groupPlacements },
|
|
22
|
-
defaultCountryCode: { control: 'select', options: countryCodes },
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const Template: ComponentStory<typeof PhoneInput> = (args) => {
|
|
8
|
+
const Story: FC<IPhoneInputProps> = (args) => {
|
|
27
9
|
const [value, setValue] = useState<IPhoneValue>({
|
|
28
10
|
dialCode: '7',
|
|
29
11
|
phoneNumber: '9134567890',
|
|
30
12
|
countryCode: 'RU',
|
|
31
13
|
});
|
|
32
|
-
|
|
33
14
|
return <PhoneInput {...args} value={value} onChange={setValue} />;
|
|
34
15
|
};
|
|
35
16
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
'testId',
|
|
57
|
-
'data',
|
|
58
|
-
'tabIndex',
|
|
59
|
-
'onChange',
|
|
60
|
-
'onFocus',
|
|
61
|
-
'onBlur',
|
|
62
|
-
'onPaste',
|
|
63
|
-
'onKeyDown',
|
|
64
|
-
'onIconClick',
|
|
65
|
-
],
|
|
17
|
+
const meta: Meta<typeof Story> = {
|
|
18
|
+
title: 'Inputs/PhoneInput',
|
|
19
|
+
component: Story,
|
|
20
|
+
args: {
|
|
21
|
+
label: 'Label',
|
|
22
|
+
infoMessage: 'Message Info',
|
|
23
|
+
icon: undefined,
|
|
24
|
+
isInvalid: false,
|
|
25
|
+
errorMessage: 'Error Text',
|
|
26
|
+
isActive: false,
|
|
27
|
+
isDisabled: false,
|
|
28
|
+
isRequired: false,
|
|
29
|
+
isReadonly: false,
|
|
30
|
+
isClearable: false,
|
|
31
|
+
isLoading: false,
|
|
32
|
+
groupPlacement: undefined,
|
|
33
|
+
},
|
|
34
|
+
argTypes: {
|
|
35
|
+
icon: { control: 'select', options: [undefined, ...Object.keys(iconsMap)] },
|
|
36
|
+
groupPlacement: { options: [undefined, ...GROUP_PLACEMENTS], control: 'select' },
|
|
66
37
|
},
|
|
67
38
|
};
|
|
39
|
+
|
|
40
|
+
export default meta;
|
|
41
|
+
export const Default = {};
|
|
@@ -76,7 +76,7 @@ export const PhoneInput: FC<IPhoneInputProps> = ({
|
|
|
76
76
|
|
|
77
77
|
const countryCode = useMemo(
|
|
78
78
|
() => value?.countryCode ?? getCountryCodeFromPhone(phoneWithCode),
|
|
79
|
-
[
|
|
79
|
+
[phoneWithCode, value?.countryCode],
|
|
80
80
|
);
|
|
81
81
|
|
|
82
82
|
const handleClose = () => {
|
package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type Meta } from '@storybook/react';
|
|
2
2
|
import { PhoneInputCountryList } from './PhoneInputCountryList';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const meta: Meta<typeof PhoneInputCountryList> = {
|
|
5
5
|
title: 'Inputs/PhoneInput/PhoneInputCountryList',
|
|
6
6
|
component: PhoneInputCountryList,
|
|
7
7
|
args: {
|
|
@@ -9,13 +9,7 @@ export default {
|
|
|
9
9
|
placeholder: 'Поиск',
|
|
10
10
|
noMatchesLabel: 'Ничего не найдено',
|
|
11
11
|
},
|
|
12
|
-
|
|
13
|
-
controls: {
|
|
14
|
-
exclude: ['data', 'tweakStyles', 'testId'],
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
} as ComponentMeta<typeof PhoneInputCountryList>;
|
|
12
|
+
};
|
|
18
13
|
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
);
|
|
14
|
+
export default meta;
|
|
15
|
+
export const Default = {};
|
package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx
CHANGED
|
@@ -48,10 +48,7 @@ export const PhoneInputCountryList: FC<IPhoneInputCountryListProps> = ({
|
|
|
48
48
|
currentComponentName: 'PhoneInputCountryList',
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
-
const sortedCountries = useMemo(
|
|
52
|
-
() => sortCountriesByLocale(phoneInfo, locale),
|
|
53
|
-
[phoneInfo, locale],
|
|
54
|
-
);
|
|
51
|
+
const sortedCountries = useMemo(() => sortCountriesByLocale(phoneInfo, locale), [locale]);
|
|
55
52
|
|
|
56
53
|
const selectedCountryIdx = findCountryIndexByCode(selectedCountryCode, sortedCountries);
|
|
57
54
|
|