@true-engineering/true-react-common-ui-kit 3.20.1 → 3.21.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 (89) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +6 -0
  3. package/dist/components/DatePicker/types.d.ts +1 -1
  4. package/dist/components/WithPopup/WithPopup.d.ts +1 -1
  5. package/dist/true-react-common-ui-kit.js +60 -58
  6. package/dist/true-react-common-ui-kit.js.map +1 -1
  7. package/dist/true-react-common-ui-kit.umd.cjs +60 -58
  8. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  9. package/package.json +1 -1
  10. package/src/components/AccountInfo/AccountInfo.stories.tsx +32 -32
  11. package/src/components/AccountInfo/AccountInfo.tsx +80 -80
  12. package/src/components/AddButton/AddButton.stories.tsx +21 -21
  13. package/src/components/AddButton/AddButton.tsx +52 -52
  14. package/src/components/Button/Button.tsx +129 -129
  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/DatePicker/DatePicker.tsx +310 -308
  19. package/src/components/DatePicker/types.ts +1 -0
  20. package/src/components/Description/Description.stories.tsx +27 -27
  21. package/src/components/Description/Description.tsx +61 -61
  22. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +166 -166
  23. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +210 -210
  24. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +177 -177
  25. package/src/components/Flag/Flag.stories.tsx +29 -29
  26. package/src/components/Flag/Flag.tsx +26 -26
  27. package/src/components/Flag/augment.d.ts +1 -1
  28. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.ts +38 -38
  29. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.ts +25 -25
  30. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.tsx +196 -196
  31. package/src/components/FlexibleTable/helpers.ts +13 -13
  32. package/src/components/Icon/Icon.stories.tsx +86 -86
  33. package/src/components/Icon/complexIcons/augment.d.ts +1 -1
  34. package/src/components/Icon/complexIcons/avatarGreen.svg +57 -57
  35. package/src/components/Icon/complexIcons/index.ts +1 -1
  36. package/src/components/IncrementInput/IncrementInput.tsx +105 -105
  37. package/src/components/Input/Input.tsx +297 -297
  38. package/src/components/Input/types.ts +32 -32
  39. package/src/components/List/List.stories.tsx +70 -70
  40. package/src/components/List/List.tsx +33 -33
  41. package/src/components/List/components/ListItem/ListItem.tsx +57 -57
  42. package/src/components/Modal/Modal.stories.tsx +105 -105
  43. package/src/components/MultiSelect/MultiSelect.stories.tsx +46 -46
  44. package/src/components/MultiSelect/MultiSelect.tsx +106 -106
  45. package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.tsx +53 -53
  46. package/src/components/Notification/Notification.stories.tsx +46 -46
  47. package/src/components/Notification/Notification.tsx +69 -69
  48. package/src/components/NumberInput/NumberInput.tsx +137 -137
  49. package/src/components/NumberInput/index.ts +1 -1
  50. package/src/components/PhoneInput/PhoneInput.tsx +214 -214
  51. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +155 -155
  52. package/src/components/PhoneInput/types.ts +16 -16
  53. package/src/components/RadioButton/RadioButton.stories.tsx +46 -46
  54. package/src/components/RadioButton/RadioButton.tsx +57 -57
  55. package/src/components/ScrollIntoViewIfNeeded/index.ts +1 -1
  56. package/src/components/Select/MultiSelect.stories.tsx +240 -240
  57. package/src/components/Select/Select.stories.tsx +235 -235
  58. package/src/components/Select/constants.ts +2 -2
  59. package/src/components/Select/types.ts +1 -1
  60. package/src/components/Selector/Selector.stories.tsx +62 -62
  61. package/src/components/Selector/Selector.tsx +115 -115
  62. package/src/components/Selector/index.ts +2 -2
  63. package/src/components/Selector/types.ts +12 -12
  64. package/src/components/Skeleton/Skeleton.stories.tsx +19 -19
  65. package/src/components/SmartInput/SmartInput.tsx +134 -134
  66. package/src/components/Status/Status.stories.tsx +73 -73
  67. package/src/components/Status/Status.styles.ts +143 -143
  68. package/src/components/Status/Status.tsx +49 -49
  69. package/src/components/Status/constants.ts +11 -11
  70. package/src/components/Status/index.ts +3 -3
  71. package/src/components/Status/types.ts +5 -5
  72. package/src/components/Switch/Switch.stories.tsx +40 -40
  73. package/src/components/Switch/Switch.tsx +75 -75
  74. package/src/components/TextWithInfo/TextWithInfo.stories.tsx +53 -53
  75. package/src/components/TextWithInfo/TextWithInfo.tsx +62 -62
  76. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +58 -58
  77. package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +41 -41
  78. package/src/components/ThemedPreloader/ThemedPreloader.tsx +54 -54
  79. package/src/components/ThemedPreloader/components/DefaultPreloader/index.ts +1 -1
  80. package/src/components/Toaster/Toaster.stories.tsx +30 -30
  81. package/src/components/Tooltip/Tooltip.stories.tsx +19 -19
  82. package/src/components/Tooltip/Tooltip.tsx +35 -35
  83. package/src/components/Tooltip/types.ts +1 -1
  84. package/src/components/WithPopup/WithPopup.tsx +1 -1
  85. package/src/helpers/popper-helpers.ts +17 -17
  86. package/src/hooks/use-dropdown.ts +84 -84
  87. package/src/hooks/use-is-mounted.ts +15 -15
  88. package/src/theme/helpers.ts +76 -76
  89. package/src/vite-env.d.ts +1 -1
@@ -1,76 +1,76 @@
1
- import { createUseStyles, Styles } from 'react-jss';
2
- import merge from 'lodash-es/merge';
3
- import {
4
- isArrayNotEmpty,
5
- isNotEmpty,
6
- mergeStyles,
7
- } from '@true-engineering/true-react-platform-helpers';
8
- import { getTheme } from './Provider';
9
- import { IComponentName, IStyles, IUseStyles } from './types';
10
-
11
- const EMPTY_STYLES = {};
12
-
13
- const isTweakStyle = (key: string): boolean => key.startsWith('tweak');
14
-
15
- const cleanStyles = <T>(tweakStyles?: T): T =>
16
- isNotEmpty(tweakStyles) && Object.keys(tweakStyles).some((key) => !isTweakStyle(key))
17
- ? tweakStyles
18
- : (EMPTY_STYLES as T);
19
-
20
- const checkStyles = (componentName: string, styles: Record<string, unknown>): void => {
21
- const invalidClasses = Object.keys(styles).reduce((acc, key) => {
22
- if (isTweakStyle(key)) {
23
- acc.push(key);
24
- }
25
- return acc;
26
- }, [] as string[]);
27
-
28
- if (isArrayNotEmpty(invalidClasses)) {
29
- console.error(
30
- `${componentName}: Названия классов не должны начинаться со слова "tweak": ${invalidClasses}`,
31
- );
32
- }
33
- };
34
-
35
- export const areStylesThemed = (styles: Record<string, unknown>): boolean =>
36
- // eslint-disable-next-line no-underscore-dangle
37
- styles.__themed === true;
38
-
39
- /**
40
- * Подмешивает стили из темы. Мутирует, добавляя специально поле,
41
- * по которому можно определить была ли уже произведена мутация ранее,
42
- * тем самым сохраняя ссылку на объект и позволяя этим кэшировать JSS стили
43
- */
44
- export const themedStyles = <T>(styles: T, themeComponentStyles: T): T => {
45
- merge(styles, themeComponentStyles); // mutation !!!!
46
- Object.defineProperty(styles, '__themed', { value: true });
47
- return styles;
48
- };
49
-
50
- export function createThemedStyles<C extends string, P>(styles: IStyles<C, P>): IUseStyles<C, P>;
51
-
52
- export function createThemedStyles<C extends string, P>(
53
- componentName: IComponentName,
54
- styles: IStyles<C, P>,
55
- ): IUseStyles<C, P>;
56
-
57
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
- export function createThemedStyles<C extends string, P>(...args: any[]): IUseStyles<C, P> {
59
- const shouldUseTheme = args.length > 1;
60
- const styles: IStyles<C, P> = shouldUseTheme ? args[1] : args[0];
61
- const componentName: IComponentName | undefined = shouldUseTheme ? args[0] : undefined;
62
-
63
- if (process.env.NODE_ENV !== 'production') {
64
- checkStyles(componentName ?? 'LocalComponent', styles);
65
- }
66
- const useStyles = createUseStyles<C, P>((tweakStyles) => {
67
- const theme = getTheme();
68
- return mergeStyles(
69
- styles as Styles<C, P>,
70
- isNotEmpty(componentName) ? (theme?.components?.[componentName] as Styles<C, P>) : undefined,
71
- tweakStyles,
72
- );
73
- });
74
-
75
- return (data) => useStyles(isNotEmpty(data) ? { ...data, theme: cleanStyles(data.theme) } : data);
76
- }
1
+ import { createUseStyles, Styles } from 'react-jss';
2
+ import merge from 'lodash-es/merge';
3
+ import {
4
+ isArrayNotEmpty,
5
+ isNotEmpty,
6
+ mergeStyles,
7
+ } from '@true-engineering/true-react-platform-helpers';
8
+ import { getTheme } from './Provider';
9
+ import { IComponentName, IStyles, IUseStyles } from './types';
10
+
11
+ const EMPTY_STYLES = {};
12
+
13
+ const isTweakStyle = (key: string): boolean => key.startsWith('tweak');
14
+
15
+ const cleanStyles = <T>(tweakStyles?: T): T =>
16
+ isNotEmpty(tweakStyles) && Object.keys(tweakStyles).some((key) => !isTweakStyle(key))
17
+ ? tweakStyles
18
+ : (EMPTY_STYLES as T);
19
+
20
+ const checkStyles = (componentName: string, styles: Record<string, unknown>): void => {
21
+ const invalidClasses = Object.keys(styles).reduce((acc, key) => {
22
+ if (isTweakStyle(key)) {
23
+ acc.push(key);
24
+ }
25
+ return acc;
26
+ }, [] as string[]);
27
+
28
+ if (isArrayNotEmpty(invalidClasses)) {
29
+ console.error(
30
+ `${componentName}: Названия классов не должны начинаться со слова "tweak": ${invalidClasses}`,
31
+ );
32
+ }
33
+ };
34
+
35
+ export const areStylesThemed = (styles: Record<string, unknown>): boolean =>
36
+ // eslint-disable-next-line no-underscore-dangle
37
+ styles.__themed === true;
38
+
39
+ /**
40
+ * Подмешивает стили из темы. Мутирует, добавляя специально поле,
41
+ * по которому можно определить была ли уже произведена мутация ранее,
42
+ * тем самым сохраняя ссылку на объект и позволяя этим кэшировать JSS стили
43
+ */
44
+ export const themedStyles = <T>(styles: T, themeComponentStyles: T): T => {
45
+ merge(styles, themeComponentStyles); // mutation !!!!
46
+ Object.defineProperty(styles, '__themed', { value: true });
47
+ return styles;
48
+ };
49
+
50
+ export function createThemedStyles<C extends string, P>(styles: IStyles<C, P>): IUseStyles<C, P>;
51
+
52
+ export function createThemedStyles<C extends string, P>(
53
+ componentName: IComponentName,
54
+ styles: IStyles<C, P>,
55
+ ): IUseStyles<C, P>;
56
+
57
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ export function createThemedStyles<C extends string, P>(...args: any[]): IUseStyles<C, P> {
59
+ const shouldUseTheme = args.length > 1;
60
+ const styles: IStyles<C, P> = shouldUseTheme ? args[1] : args[0];
61
+ const componentName: IComponentName | undefined = shouldUseTheme ? args[0] : undefined;
62
+
63
+ if (process.env.NODE_ENV !== 'production') {
64
+ checkStyles(componentName ?? 'LocalComponent', styles);
65
+ }
66
+ const useStyles = createUseStyles<C, P>((tweakStyles) => {
67
+ const theme = getTheme();
68
+ return mergeStyles(
69
+ styles as Styles<C, P>,
70
+ isNotEmpty(componentName) ? (theme?.components?.[componentName] as Styles<C, P>) : undefined,
71
+ tweakStyles,
72
+ );
73
+ });
74
+
75
+ return (data) => useStyles(isNotEmpty(data) ? { ...data, theme: cleanStyles(data.theme) } : data);
76
+ }
package/src/vite-env.d.ts CHANGED
@@ -1 +1 @@
1
- /// <reference types="vite/client" />
1
+ /// <reference types="vite/client" />