@true-engineering/true-react-common-ui-kit 3.53.0 → 3.54.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 (41) hide show
  1. package/README.md +17 -1
  2. package/dist/components/Button/Button.styles.d.ts +1 -1
  3. package/dist/components/Checkbox/Checkbox.styles.d.ts +1 -1
  4. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +1 -1
  5. package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +1 -1
  6. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +2 -2
  7. package/dist/hooks/index.d.ts +1 -0
  8. package/dist/hooks/use-merge.d.ts +1 -0
  9. package/dist/hooks/use-mixed-styles.d.ts +3 -1
  10. package/dist/hooks/use-tweak-styles.d.ts +5 -5
  11. package/dist/theme/Provider.d.ts +6 -3
  12. package/dist/theme/create-themed-styles.d.ts +2 -0
  13. package/dist/theme/helpers.d.ts +9 -3
  14. package/dist/theme/index.d.ts +2 -0
  15. package/dist/theme/true-jss/ThemedStylesManager.d.ts +18 -0
  16. package/dist/theme/true-jss/TweakStylesManager.d.ts +34 -0
  17. package/dist/theme/true-jss/index.d.ts +2 -0
  18. package/dist/theme/true-jss/jss-context.d.ts +9 -0
  19. package/dist/theme/types.d.ts +4 -2
  20. package/dist/true-react-common-ui-kit.js +3380 -2511
  21. package/dist/true-react-common-ui-kit.js.map +1 -1
  22. package/dist/true-react-common-ui-kit.umd.cjs +3374 -2506
  23. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  24. package/dist/types.d.ts +2 -1
  25. package/package.json +1 -1
  26. package/src/components/PhoneInput/PhoneInput.styles.ts +0 -4
  27. package/src/components/SearchInput/SearchInput.styles.ts +2 -0
  28. package/src/hooks/index.ts +1 -0
  29. package/src/hooks/use-merge.ts +8 -0
  30. package/src/hooks/use-mixed-styles.ts +9 -11
  31. package/src/hooks/use-tweak-styles.ts +49 -27
  32. package/src/theme/Provider.tsx +10 -5
  33. package/src/theme/create-themed-styles.ts +78 -0
  34. package/src/theme/helpers.ts +39 -39
  35. package/src/theme/index.ts +2 -0
  36. package/src/theme/true-jss/ThemedStylesManager.ts +92 -0
  37. package/src/theme/true-jss/TweakStylesManager.ts +157 -0
  38. package/src/theme/true-jss/index.ts +2 -0
  39. package/src/theme/true-jss/jss-context.tsx +34 -0
  40. package/src/theme/types.ts +4 -2
  41. package/src/types.ts +2 -1
@@ -0,0 +1,34 @@
1
+ import { Context, FC, PropsWithChildren, useContext, useMemo } from 'react';
2
+ import { JssContext as JssContextLib } from 'react-jss';
3
+ import { GenerateId } from 'jss';
4
+
5
+ export interface IJssContext {
6
+ generateId?: GenerateId;
7
+ tweakStylesArch?: 'react-jss' | 'true-jss';
8
+ }
9
+
10
+ /** Типизация JssContext оказалась некорректна */
11
+ export const JssContext = JssContextLib as unknown as Context<IJssContext>;
12
+
13
+ export const JssProvider: FC<PropsWithChildren<IJssContext>> = ({
14
+ children,
15
+ tweakStylesArch,
16
+ generateId,
17
+ }) => {
18
+ const context = useContext(JssContext);
19
+
20
+ const value: IJssContext = useMemo(
21
+ () => ({
22
+ ...context,
23
+ tweakStylesArch: tweakStylesArch ?? context.tweakStylesArch,
24
+ generateId: generateId ?? context.generateId,
25
+ }),
26
+ [context, tweakStylesArch, generateId],
27
+ );
28
+
29
+ return (
30
+ <JssContext.Provider key={tweakStylesArch} value={value}>
31
+ {children}
32
+ </JssContext.Provider>
33
+ );
34
+ };
@@ -65,10 +65,12 @@ import type {
65
65
  IWithTooltipStyles,
66
66
  } from '../components';
67
67
 
68
- export type IStyles<C extends string, P> = Styles<C, P, Partial<Styles<C, P>>>;
68
+ export type IStyles<C extends string, P = unknown> = Styles<C, P, Partial<Styles<C, P>>>;
69
69
 
70
+ export type IMaybeArray<T> = T[] | T;
71
+ export type IMixedStyles<T> = IMaybeArray<T | boolean | undefined>;
70
72
  export type IUseStyles<C extends string, P = unknown> = (
71
- data?: P & { theme?: Partial<Styles<C, P>> },
73
+ data?: P & { theme?: IMaybeArray<Partial<Styles<C, P>>> },
72
74
  ) => Classes<C>;
73
75
 
74
76
  export type ITweakStyles<
package/src/types.ts CHANGED
@@ -6,6 +6,7 @@ import {
6
6
  ReactNode,
7
7
  } from 'react';
8
8
  import { Modifier, Placement } from 'react-overlays/usePopper';
9
+ import type { IMaybeArray } from './theme';
9
10
 
10
11
  export interface ITestIdProps {
11
12
  testId?: string;
@@ -20,7 +21,7 @@ export interface IDataAttributesProps extends ITestIdProps {
20
21
  }
21
22
 
22
23
  export interface ITweakStylesProps<TweakStyles> {
23
- tweakStyles?: TweakStyles;
24
+ tweakStyles?: IMaybeArray<TweakStyles>;
24
25
  }
25
26
 
26
27
  export type ICommonProps<TweakStyles> = IDataAttributesProps & ITweakStylesProps<TweakStyles>;