@true-engineering/true-react-common-ui-kit 3.31.0 → 3.32.0

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.
Files changed (83) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +7 -0
  3. package/dist/components/Notification/Notification.d.ts +2 -0
  4. package/dist/components/Notification/Notification.styles.d.ts +1 -1
  5. package/dist/components/Notification/types.d.ts +1 -1
  6. package/dist/true-react-common-ui-kit.js +64 -61
  7. package/dist/true-react-common-ui-kit.js.map +1 -1
  8. package/dist/true-react-common-ui-kit.umd.cjs +64 -61
  9. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  10. package/package.json +98 -98
  11. package/src/components/AccountInfo/AccountInfo.stories.tsx +32 -32
  12. package/src/components/AccountInfo/AccountInfo.tsx +80 -80
  13. package/src/components/AddButton/AddButton.stories.tsx +21 -21
  14. package/src/components/AddButton/AddButton.tsx +52 -52
  15. package/src/components/Colors/Colors.stories.tsx +7 -7
  16. package/src/components/DateInput/DateInput.tsx +90 -90
  17. package/src/components/DateInput/constants.ts +2 -2
  18. package/src/components/Description/Description.stories.tsx +27 -27
  19. package/src/components/Description/Description.tsx +61 -61
  20. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +166 -166
  21. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +210 -210
  22. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +177 -177
  23. package/src/components/Flag/Flag.stories.tsx +29 -29
  24. package/src/components/Flag/Flag.tsx +26 -26
  25. package/src/components/Flag/augment.d.ts +1 -1
  26. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.ts +38 -38
  27. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.ts +25 -25
  28. package/src/components/FlexibleTable/types.ts +70 -70
  29. package/src/components/Icon/Icon.stories.tsx +86 -86
  30. package/src/components/Icon/complexIcons/augment.d.ts +1 -1
  31. package/src/components/Icon/complexIcons/avatarGreen.svg +57 -57
  32. package/src/components/Icon/complexIcons/index.ts +1 -1
  33. package/src/components/Icon/icons-list.ts +856 -856
  34. package/src/components/IncrementInput/IncrementInput.tsx +105 -105
  35. package/src/components/Input/types.ts +32 -32
  36. package/src/components/Modal/Modal.stories.tsx +105 -105
  37. package/src/components/MultiSelect/MultiSelect.stories.tsx +46 -46
  38. package/src/components/MultiSelect/MultiSelect.tsx +106 -106
  39. package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.tsx +53 -53
  40. package/src/components/Notification/Notification.stories.tsx +55 -46
  41. package/src/components/Notification/Notification.styles.ts +57 -55
  42. package/src/components/Notification/Notification.tsx +77 -69
  43. package/src/components/Notification/types.ts +1 -1
  44. package/src/components/NumberInput/NumberInput.tsx +137 -137
  45. package/src/components/NumberInput/index.ts +1 -1
  46. package/src/components/PhoneInput/PhoneInput.tsx +214 -214
  47. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +155 -155
  48. package/src/components/PhoneInput/types.ts +16 -16
  49. package/src/components/RadioButton/RadioButton.stories.tsx +46 -46
  50. package/src/components/RadioButton/RadioButton.tsx +57 -57
  51. package/src/components/ScrollIntoViewIfNeeded/index.ts +1 -1
  52. package/src/components/Select/Select.stories.tsx +235 -235
  53. package/src/components/Select/constants.ts +2 -2
  54. package/src/components/Select/types.ts +1 -1
  55. package/src/components/Selector/Selector.stories.tsx +62 -62
  56. package/src/components/Selector/Selector.tsx +115 -115
  57. package/src/components/Selector/index.ts +2 -2
  58. package/src/components/Selector/types.ts +12 -12
  59. package/src/components/Skeleton/Skeleton.stories.tsx +19 -19
  60. package/src/components/SmartInput/SmartInput.tsx +134 -134
  61. package/src/components/Status/Status.stories.tsx +73 -73
  62. package/src/components/Status/Status.styles.ts +143 -143
  63. package/src/components/Status/Status.tsx +49 -49
  64. package/src/components/Status/constants.ts +11 -11
  65. package/src/components/Status/index.ts +3 -3
  66. package/src/components/Status/types.ts +5 -5
  67. package/src/components/Switch/Switch.stories.tsx +40 -40
  68. package/src/components/Switch/Switch.tsx +75 -75
  69. package/src/components/TextWithInfo/TextWithInfo.stories.tsx +53 -53
  70. package/src/components/TextWithInfo/TextWithInfo.tsx +62 -62
  71. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +58 -58
  72. package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +41 -41
  73. package/src/components/ThemedPreloader/ThemedPreloader.tsx +54 -54
  74. package/src/components/ThemedPreloader/components/DefaultPreloader/index.ts +1 -1
  75. package/src/components/Toaster/Toaster.stories.tsx +30 -30
  76. package/src/components/Tooltip/Tooltip.stories.tsx +19 -19
  77. package/src/components/Tooltip/Tooltip.tsx +35 -35
  78. package/src/components/Tooltip/types.ts +1 -1
  79. package/src/helpers/popper-helpers.ts +17 -17
  80. package/src/hooks/use-dropdown.ts +84 -84
  81. package/src/hooks/use-is-mounted.ts +15 -15
  82. package/src/theme/helpers.ts +76 -76
  83. package/src/vite-env.d.ts +1 -1
@@ -1,70 +1,70 @@
1
- import { CSSProperties, ReactNode } from 'react';
2
- import { IRenderNode } from '../../types';
3
-
4
- export type IFlexibleTableRenderMode = 'table' | 'divs';
5
-
6
- export type IFlexibleTableRender = Record<
7
- 'Root' | 'Head' | 'Body' | 'Row' | 'Header' | 'Cell',
8
- keyof JSX.IntrinsicElements
9
- >;
10
-
11
- // TODO: Заменить Record<string, any> на Record<string, unknown>
12
- export type ITableRow = Record<string, any>;
13
-
14
- export type IHeaderContent<T extends ITableRow> = Partial<Record<keyof T, unknown>>;
15
-
16
- export interface ITitleComponentProps<Value> {
17
- value?: Value;
18
- }
19
-
20
- export interface IValueComponentProps<Values, Value> {
21
- value: Value;
22
- row: Values;
23
- isFocusedRow?: boolean;
24
- isActiveRow?: boolean;
25
- isNestedComponentExpanded: boolean;
26
- isRowNestedComponentExpanded: boolean;
27
- onSetNestedComponent: (component?: ReactNode) => void;
28
- }
29
-
30
- export interface IFlexibleTableRowConfig<
31
- Values extends ITableRow,
32
- Key extends keyof Values,
33
- HeaderContent extends IHeaderContent<Values> = IHeaderContent<Values>,
34
- > {
35
- title?: IRenderNode<ITitleComponentProps<HeaderContent[Key]>>;
36
- component?: IRenderNode<IValueComponentProps<Values, NonNullable<Values[Key]>>>;
37
- dateFormat?: string;
38
- minWidth?: string | number;
39
- width?: string | number;
40
- maxWidth?: string | number;
41
- /** @default 'left' */
42
- titleAlign?: CSSProperties['textAlign'];
43
- cellAlign?: CSSProperties['textAlign'];
44
- cellVerticalAlign?: CSSProperties['verticalAlign'];
45
- position?: CSSProperties['position'];
46
- right?: number;
47
- left?: number;
48
- shouldRenderDataId?: boolean;
49
- }
50
-
51
- export type IFlexibleTableConfigType<
52
- Values extends ITableRow,
53
- HeaderContent extends IHeaderContent<Values> = IHeaderContent<Values>,
54
- > = {
55
- [Key in keyof Values]?: IFlexibleTableRowConfig<Values, Key, HeaderContent>;
56
- };
57
-
58
- export interface IInfinityScrollConfig {
59
- activePage: number;
60
- totalPages: number;
61
- isLoading: boolean;
62
- isLastPage: boolean;
63
- onInfinityScroll: (skip: number) => void;
64
- }
65
-
66
- export interface INestedComponent {
67
- isOpen: boolean;
68
- component?: ReactNode;
69
- cellKey?: string;
70
- }
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ import { IRenderNode } from '../../types';
3
+
4
+ export type IFlexibleTableRenderMode = 'table' | 'divs';
5
+
6
+ export type IFlexibleTableRender = Record<
7
+ 'Root' | 'Head' | 'Body' | 'Row' | 'Header' | 'Cell',
8
+ keyof JSX.IntrinsicElements
9
+ >;
10
+
11
+ // TODO: Заменить Record<string, any> на Record<string, unknown>
12
+ export type ITableRow = Record<string, any>;
13
+
14
+ export type IHeaderContent<T extends ITableRow> = Partial<Record<keyof T, unknown>>;
15
+
16
+ export interface ITitleComponentProps<Value> {
17
+ value?: Value;
18
+ }
19
+
20
+ export interface IValueComponentProps<Values, Value> {
21
+ value: Value;
22
+ row: Values;
23
+ isFocusedRow?: boolean;
24
+ isActiveRow?: boolean;
25
+ isNestedComponentExpanded: boolean;
26
+ isRowNestedComponentExpanded: boolean;
27
+ onSetNestedComponent: (component?: ReactNode) => void;
28
+ }
29
+
30
+ export interface IFlexibleTableRowConfig<
31
+ Values extends ITableRow,
32
+ Key extends keyof Values,
33
+ HeaderContent extends IHeaderContent<Values> = IHeaderContent<Values>,
34
+ > {
35
+ title?: IRenderNode<ITitleComponentProps<HeaderContent[Key]>>;
36
+ component?: IRenderNode<IValueComponentProps<Values, NonNullable<Values[Key]>>>;
37
+ dateFormat?: string;
38
+ minWidth?: string | number;
39
+ width?: string | number;
40
+ maxWidth?: string | number;
41
+ /** @default 'left' */
42
+ titleAlign?: CSSProperties['textAlign'];
43
+ cellAlign?: CSSProperties['textAlign'];
44
+ cellVerticalAlign?: CSSProperties['verticalAlign'];
45
+ position?: CSSProperties['position'];
46
+ right?: number;
47
+ left?: number;
48
+ shouldRenderDataId?: boolean;
49
+ }
50
+
51
+ export type IFlexibleTableConfigType<
52
+ Values extends ITableRow,
53
+ HeaderContent extends IHeaderContent<Values> = IHeaderContent<Values>,
54
+ > = {
55
+ [Key in keyof Values]?: IFlexibleTableRowConfig<Values, Key, HeaderContent>;
56
+ };
57
+
58
+ export interface IInfinityScrollConfig {
59
+ activePage: number;
60
+ totalPages: number;
61
+ isLoading: boolean;
62
+ isLastPage: boolean;
63
+ onInfinityScroll: (skip: number) => void;
64
+ }
65
+
66
+ export interface INestedComponent {
67
+ isOpen: boolean;
68
+ component?: ReactNode;
69
+ cellKey?: string;
70
+ }
@@ -1,86 +1,86 @@
1
- import { Icon } from './Icon';
2
- import { complexIcons } from './complexIcons';
3
- import { iconsList } from './icons-list';
4
- import { IIconType } from './types';
5
-
6
- const types: IIconType[] = [...Object.keys(iconsList), ...Object.keys(complexIcons)] as IIconType[];
7
-
8
- export default {
9
- title: 'Data Display/Icon',
10
- };
11
-
12
- export const Default = () => (
13
- <div
14
- style={{
15
- border: '1px dotted rgba(0,0,0,.2)',
16
- // color: color('Container color', colors.GREEN_FOCUS),
17
- display: 'flex',
18
- // width: number('Container width', 40, {
19
- // range: true,
20
- // min: 0,
21
- // max: 200,
22
- // step: 10,
23
- // }),
24
- // height: number('Container height', 40, {
25
- // range: true,
26
- // min: 0,
27
- // max: 200,
28
- // step: 10,
29
- // }),
30
- }}
31
- >
32
- {/* <Icon type={select('type', types, types[0])} /> */}
33
- </div>
34
- );
35
-
36
- export const Gallery = () => (
37
- <div
38
- style={{
39
- display: 'flex',
40
- alignItems: 'center',
41
- justifyContent: 'center',
42
- flexWrap: 'wrap',
43
- width: '80vw',
44
- }}
45
- >
46
- {types.map((type) => (
47
- <div
48
- key={type}
49
- style={{
50
- width: 100,
51
- height: 100,
52
- margin: 1,
53
- background: '#f7f7f7',
54
- display: 'flex',
55
- alignItems: 'center',
56
- justifyContent: 'center',
57
- flexDirection: 'column',
58
- }}
59
- >
60
- <div
61
- style={{
62
- width: 32,
63
- height: 32,
64
- margin: '10px 0',
65
- display: 'flex',
66
- alignItems: 'center',
67
- color: '#888',
68
- }}
69
- >
70
- <Icon type={type} />
71
- </div>
72
- <div
73
- style={{
74
- fontFamily: 'Arial',
75
- fontSize: 13,
76
- color: '#747679',
77
- overflow: 'hidden',
78
- padding: '0 5px',
79
- }}
80
- >
81
- {type}
82
- </div>
83
- </div>
84
- ))}
85
- </div>
86
- );
1
+ import { Icon } from './Icon';
2
+ import { complexIcons } from './complexIcons';
3
+ import { iconsList } from './icons-list';
4
+ import { IIconType } from './types';
5
+
6
+ const types: IIconType[] = [...Object.keys(iconsList), ...Object.keys(complexIcons)] as IIconType[];
7
+
8
+ export default {
9
+ title: 'Data Display/Icon',
10
+ };
11
+
12
+ export const Default = () => (
13
+ <div
14
+ style={{
15
+ border: '1px dotted rgba(0,0,0,.2)',
16
+ // color: color('Container color', colors.GREEN_FOCUS),
17
+ display: 'flex',
18
+ // width: number('Container width', 40, {
19
+ // range: true,
20
+ // min: 0,
21
+ // max: 200,
22
+ // step: 10,
23
+ // }),
24
+ // height: number('Container height', 40, {
25
+ // range: true,
26
+ // min: 0,
27
+ // max: 200,
28
+ // step: 10,
29
+ // }),
30
+ }}
31
+ >
32
+ {/* <Icon type={select('type', types, types[0])} /> */}
33
+ </div>
34
+ );
35
+
36
+ export const Gallery = () => (
37
+ <div
38
+ style={{
39
+ display: 'flex',
40
+ alignItems: 'center',
41
+ justifyContent: 'center',
42
+ flexWrap: 'wrap',
43
+ width: '80vw',
44
+ }}
45
+ >
46
+ {types.map((type) => (
47
+ <div
48
+ key={type}
49
+ style={{
50
+ width: 100,
51
+ height: 100,
52
+ margin: 1,
53
+ background: '#f7f7f7',
54
+ display: 'flex',
55
+ alignItems: 'center',
56
+ justifyContent: 'center',
57
+ flexDirection: 'column',
58
+ }}
59
+ >
60
+ <div
61
+ style={{
62
+ width: 32,
63
+ height: 32,
64
+ margin: '10px 0',
65
+ display: 'flex',
66
+ alignItems: 'center',
67
+ color: '#888',
68
+ }}
69
+ >
70
+ <Icon type={type} />
71
+ </div>
72
+ <div
73
+ style={{
74
+ fontFamily: 'Arial',
75
+ fontSize: 13,
76
+ color: '#747679',
77
+ overflow: 'hidden',
78
+ padding: '0 5px',
79
+ }}
80
+ >
81
+ {type}
82
+ </div>
83
+ </div>
84
+ ))}
85
+ </div>
86
+ );
@@ -1 +1 @@
1
- declare module '*.svg?raw';
1
+ declare module '*.svg?raw';
@@ -1,58 +1,58 @@
1
- <svg
2
- width="100%"
3
- height="100%"
4
- viewBox="0 0 32 32"
5
- fill="none"
6
- xmlns="http://www.w3.org/2000/svg"
7
- >
8
- <circle opacity="0.5" cx="16" cy="16" r="16" fill="#DDE3ED" />
9
- <mask
10
- id="mask0_0_12744"
11
- style="mask-type: 'alpha';"
12
- maskUnits="userSpaceOnUse"
13
- x="0"
14
- y="0"
15
- width="32"
16
- height="32"
17
- >
18
- <circle cx="16" cy="16" r="16" fill="white" />
19
- </mask>
20
- <g mask="url(#mask0_0_12744)">
21
- <circle cx="16" cy="29" r="13" fill="url(#paint0_linear_0_12744)" />
22
- <mask
23
- id="mask1_0_12744"
24
- style="mask-type: 'alpha';"
25
- maskUnits="userSpaceOnUse"
26
- x="3"
27
- y="16"
28
- width="26"
29
- height="26"
30
- >
31
- <circle cx="16" cy="29" r="13" fill="white" />
32
- </mask>
33
- <g mask="url(#mask1_0_12744)">
34
- <ellipse
35
- cx="16"
36
- cy="17.5"
37
- rx="6"
38
- ry="7.5"
39
- fill="#505F79"
40
- fill-opacity="0.204983"
41
- />
42
- </g>
43
- </g>
44
- <ellipse cx="16" cy="13" rx="6" ry="7" fill="white" />
45
- <defs>
46
- <linearGradient
47
- id="paint0_linear_0_12744"
48
- x1="13.347"
49
- y1="46.279"
50
- x2="33.5318"
51
- y2="30.8088"
52
- gradientUnits="userSpaceOnUse"
53
- >
54
- <stop stop-color="#ABD229" />
55
- <stop offset="1" stop-color="#9CD03F" />
56
- </linearGradient>
57
- </defs>
1
+ <svg
2
+ width="100%"
3
+ height="100%"
4
+ viewBox="0 0 32 32"
5
+ fill="none"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <circle opacity="0.5" cx="16" cy="16" r="16" fill="#DDE3ED" />
9
+ <mask
10
+ id="mask0_0_12744"
11
+ style="mask-type: 'alpha';"
12
+ maskUnits="userSpaceOnUse"
13
+ x="0"
14
+ y="0"
15
+ width="32"
16
+ height="32"
17
+ >
18
+ <circle cx="16" cy="16" r="16" fill="white" />
19
+ </mask>
20
+ <g mask="url(#mask0_0_12744)">
21
+ <circle cx="16" cy="29" r="13" fill="url(#paint0_linear_0_12744)" />
22
+ <mask
23
+ id="mask1_0_12744"
24
+ style="mask-type: 'alpha';"
25
+ maskUnits="userSpaceOnUse"
26
+ x="3"
27
+ y="16"
28
+ width="26"
29
+ height="26"
30
+ >
31
+ <circle cx="16" cy="29" r="13" fill="white" />
32
+ </mask>
33
+ <g mask="url(#mask1_0_12744)">
34
+ <ellipse
35
+ cx="16"
36
+ cy="17.5"
37
+ rx="6"
38
+ ry="7.5"
39
+ fill="#505F79"
40
+ fill-opacity="0.204983"
41
+ />
42
+ </g>
43
+ </g>
44
+ <ellipse cx="16" cy="13" rx="6" ry="7" fill="white" />
45
+ <defs>
46
+ <linearGradient
47
+ id="paint0_linear_0_12744"
48
+ x1="13.347"
49
+ y1="46.279"
50
+ x2="33.5318"
51
+ y2="30.8088"
52
+ gradientUnits="userSpaceOnUse"
53
+ >
54
+ <stop stop-color="#ABD229" />
55
+ <stop offset="1" stop-color="#9CD03F" />
56
+ </linearGradient>
57
+ </defs>
58
58
  </svg>
@@ -1 +1 @@
1
- export * from './icons';
1
+ export * from './icons';