@true-engineering/true-react-common-ui-kit 3.24.1 → 3.25.1

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 (100) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +21 -0
  3. package/dist/components/Select/CustomSelect.stories.d.ts +1 -1
  4. package/dist/components/Select/MultiSelect.stories.d.ts +2 -2
  5. package/dist/components/Select/Select.d.ts +14 -9
  6. package/dist/components/Select/Select.styles.d.ts +5 -5
  7. package/dist/components/Select/components/SelectList/SelectList.d.ts +7 -6
  8. package/dist/components/Select/components/SelectList/SelectList.styles.d.ts +1 -1
  9. package/dist/components/Select/components/SelectListItem/SelectListItem.d.ts +4 -3
  10. package/dist/components/Select/helpers.d.ts +0 -3
  11. package/dist/true-react-common-ui-kit.js +176 -142
  12. package/dist/true-react-common-ui-kit.js.map +1 -1
  13. package/dist/true-react-common-ui-kit.umd.cjs +175 -141
  14. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  15. package/package.json +1 -1
  16. package/src/components/AccountInfo/AccountInfo.stories.tsx +32 -32
  17. package/src/components/AccountInfo/AccountInfo.tsx +80 -80
  18. package/src/components/AddButton/AddButton.stories.tsx +21 -21
  19. package/src/components/AddButton/AddButton.tsx +52 -52
  20. package/src/components/Button/Button.tsx +129 -129
  21. package/src/components/Colors/Colors.stories.tsx +7 -7
  22. package/src/components/DateInput/DateInput.tsx +90 -90
  23. package/src/components/DateInput/constants.ts +2 -2
  24. package/src/components/Description/Description.stories.tsx +27 -27
  25. package/src/components/Description/Description.tsx +61 -61
  26. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +166 -166
  27. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +210 -210
  28. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +177 -177
  29. package/src/components/Flag/Flag.stories.tsx +29 -29
  30. package/src/components/Flag/Flag.tsx +26 -26
  31. package/src/components/Flag/augment.d.ts +1 -1
  32. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.ts +38 -38
  33. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.ts +25 -25
  34. package/src/components/FlexibleTable/helpers.ts +13 -13
  35. package/src/components/Icon/Icon.stories.tsx +86 -86
  36. package/src/components/Icon/complexIcons/augment.d.ts +1 -1
  37. package/src/components/Icon/complexIcons/avatarGreen.svg +57 -57
  38. package/src/components/Icon/complexIcons/index.ts +1 -1
  39. package/src/components/IncrementInput/IncrementInput.tsx +105 -105
  40. package/src/components/Input/Input.tsx +297 -297
  41. package/src/components/Input/types.ts +32 -32
  42. package/src/components/List/List.stories.tsx +70 -70
  43. package/src/components/List/List.tsx +33 -33
  44. package/src/components/List/components/ListItem/ListItem.tsx +57 -57
  45. package/src/components/Modal/Modal.stories.tsx +105 -105
  46. package/src/components/MultiSelect/MultiSelect.stories.tsx +46 -46
  47. package/src/components/MultiSelect/MultiSelect.tsx +106 -106
  48. package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.tsx +53 -53
  49. package/src/components/Notification/Notification.stories.tsx +46 -46
  50. package/src/components/Notification/Notification.tsx +69 -69
  51. package/src/components/NumberInput/NumberInput.tsx +137 -137
  52. package/src/components/NumberInput/helpers.ts +4 -6
  53. package/src/components/NumberInput/index.ts +1 -1
  54. package/src/components/PhoneInput/PhoneInput.tsx +214 -214
  55. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +155 -155
  56. package/src/components/PhoneInput/types.ts +16 -16
  57. package/src/components/RadioButton/RadioButton.stories.tsx +46 -46
  58. package/src/components/RadioButton/RadioButton.tsx +57 -57
  59. package/src/components/ScrollIntoViewIfNeeded/index.ts +1 -1
  60. package/src/components/Select/CustomSelect.stories.tsx +52 -16
  61. package/src/components/Select/MultiSelect.stories.tsx +3 -3
  62. package/src/components/Select/Select.stories.tsx +235 -235
  63. package/src/components/Select/Select.styles.ts +8 -7
  64. package/src/components/Select/Select.tsx +106 -62
  65. package/src/components/Select/components/SelectList/SelectList.styles.ts +6 -4
  66. package/src/components/Select/components/SelectList/SelectList.tsx +25 -29
  67. package/src/components/Select/components/SelectListItem/SelectListItem.tsx +23 -19
  68. package/src/components/Select/constants.ts +2 -2
  69. package/src/components/Select/helpers.ts +0 -7
  70. package/src/components/Select/types.ts +1 -1
  71. package/src/components/Selector/Selector.stories.tsx +62 -62
  72. package/src/components/Selector/Selector.tsx +115 -115
  73. package/src/components/Selector/index.ts +2 -2
  74. package/src/components/Selector/types.ts +12 -12
  75. package/src/components/Skeleton/Skeleton.stories.tsx +19 -19
  76. package/src/components/SmartInput/SmartInput.tsx +134 -134
  77. package/src/components/Status/Status.stories.tsx +73 -73
  78. package/src/components/Status/Status.styles.ts +143 -143
  79. package/src/components/Status/Status.tsx +49 -49
  80. package/src/components/Status/constants.ts +11 -11
  81. package/src/components/Status/index.ts +3 -3
  82. package/src/components/Status/types.ts +5 -5
  83. package/src/components/Switch/Switch.stories.tsx +40 -40
  84. package/src/components/Switch/Switch.tsx +75 -75
  85. package/src/components/TextWithInfo/TextWithInfo.stories.tsx +53 -53
  86. package/src/components/TextWithInfo/TextWithInfo.tsx +62 -62
  87. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +58 -58
  88. package/src/components/TextWithTooltip/TextWithTooltip.tsx +2 -3
  89. package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +41 -41
  90. package/src/components/ThemedPreloader/ThemedPreloader.tsx +54 -54
  91. package/src/components/ThemedPreloader/components/DefaultPreloader/index.ts +1 -1
  92. package/src/components/Toaster/Toaster.stories.tsx +30 -30
  93. package/src/components/Tooltip/Tooltip.stories.tsx +19 -19
  94. package/src/components/Tooltip/Tooltip.tsx +35 -35
  95. package/src/components/Tooltip/types.ts +1 -1
  96. package/src/helpers/popper-helpers.ts +17 -17
  97. package/src/hooks/use-dropdown.ts +84 -84
  98. package/src/hooks/use-is-mounted.ts +15 -15
  99. package/src/theme/helpers.ts +76 -76
  100. package/src/vite-env.d.ts +1 -1
@@ -1,35 +1,35 @@
1
- import { FC, ReactNode } from 'react';
2
- import clsx from 'clsx';
3
- import { addDataTestId } from '@true-engineering/true-react-platform-helpers';
4
- import { addDataAttributes } from '../../helpers';
5
- import { ICommonProps } from '../../types';
6
- import { useStyles, ITooltipStyles } from './Tooltip.styles';
7
-
8
- export interface ITooltipProps extends ICommonProps<ITooltipStyles> {
9
- text: ReactNode;
10
- /** @default 'tooltip' */
11
- view?: 'tooltip' | 'hint';
12
- /** @default 'info' */
13
- type?: 'info' | 'error';
14
- }
15
-
16
- export const Tooltip: FC<ITooltipProps> = ({
17
- text,
18
- view = 'tooltip',
19
- type = 'info',
20
- data,
21
- testId,
22
- tweakStyles,
23
- }) => {
24
- const classes = useStyles({ theme: tweakStyles });
25
-
26
- return (
27
- <div
28
- className={clsx(classes.root, classes[view], classes[type])}
29
- {...addDataTestId(testId)}
30
- {...addDataAttributes(data)}
31
- >
32
- {text}
33
- </div>
34
- );
35
- };
1
+ import { FC, ReactNode } from 'react';
2
+ import clsx from 'clsx';
3
+ import { addDataTestId } from '@true-engineering/true-react-platform-helpers';
4
+ import { addDataAttributes } from '../../helpers';
5
+ import { ICommonProps } from '../../types';
6
+ import { useStyles, ITooltipStyles } from './Tooltip.styles';
7
+
8
+ export interface ITooltipProps extends ICommonProps<ITooltipStyles> {
9
+ text: ReactNode;
10
+ /** @default 'tooltip' */
11
+ view?: 'tooltip' | 'hint';
12
+ /** @default 'info' */
13
+ type?: 'info' | 'error';
14
+ }
15
+
16
+ export const Tooltip: FC<ITooltipProps> = ({
17
+ text,
18
+ view = 'tooltip',
19
+ type = 'info',
20
+ data,
21
+ testId,
22
+ tweakStyles,
23
+ }) => {
24
+ const classes = useStyles({ theme: tweakStyles });
25
+
26
+ return (
27
+ <div
28
+ className={clsx(classes.root, classes[view], classes[type])}
29
+ {...addDataTestId(testId)}
30
+ {...addDataAttributes(data)}
31
+ >
32
+ {text}
33
+ </div>
34
+ );
35
+ };
@@ -1 +1 @@
1
- export type ITooltipType = 'info' | 'warning';
1
+ export type ITooltipType = 'info' | 'warning';
@@ -1,17 +1,17 @@
1
- import { Modifier } from 'react-overlays/usePopper';
2
-
3
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
- export const minWidthModifier: Partial<Modifier<any, any>> = {
5
- name: 'minWidth',
6
- enabled: true,
7
- phase: 'beforeWrite',
8
- requires: ['computeStyles'],
9
- fn: ({ state }) => {
10
- state.styles.popper.minWidth = `${state.rects.reference.width}px`;
11
- },
12
- effect: ({ state }) => {
13
- state.elements.popper.style.minWidth = `${
14
- (state.elements.reference as HTMLElement).offsetWidth
15
- }px`;
16
- },
17
- };
1
+ import { Modifier } from 'react-overlays/usePopper';
2
+
3
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
+ export const minWidthModifier: Partial<Modifier<any, any>> = {
5
+ name: 'minWidth',
6
+ enabled: true,
7
+ phase: 'beforeWrite',
8
+ requires: ['computeStyles'],
9
+ fn: ({ state }) => {
10
+ state.styles.popper.minWidth = `${state.rects.reference.width}px`;
11
+ },
12
+ effect: ({ state }) => {
13
+ state.elements.popper.style.minWidth = `${
14
+ (state.elements.reference as HTMLElement).offsetWidth
15
+ }px`;
16
+ },
17
+ };
@@ -1,84 +1,84 @@
1
- import { DependencyList, useEffect } from 'react';
2
- import usePopper, { VirtualElement } from 'react-overlays/usePopper';
3
- import { getScrollParent, minWidthModifier } from '../helpers';
4
- import { IDropdownWithPopperOptions } from '../types';
5
-
6
- export const useDropdown = ({
7
- isOpen,
8
- onDropdownClose,
9
- referenceElement,
10
- dropdownElement,
11
- options,
12
- dependenciesForPositionUpdating = [],
13
- }: {
14
- isOpen: boolean;
15
- referenceElement: VirtualElement | null | undefined;
16
- dropdownElement: HTMLElement | null | undefined;
17
- options?: IDropdownWithPopperOptions;
18
- dependenciesForPositionUpdating?: DependencyList;
19
- onDropdownClose: (event: Event) => void;
20
- }): ReturnType<typeof usePopper> | undefined => {
21
- const {
22
- shouldUsePopper = false,
23
- shouldRenderInBody = false,
24
- shouldHideOnScroll = false,
25
- scrollParent = 'document',
26
- canBeFlipped = false,
27
- modifiers = [],
28
- placement = 'bottom-start',
29
- flipOptions,
30
- } = options ?? {};
31
-
32
- useEffect(() => {
33
- if (!shouldHideOnScroll || !isOpen) {
34
- return;
35
- }
36
-
37
- const scrollParentEl =
38
- scrollParent === 'auto'
39
- ? getScrollParent(referenceElement as Element)
40
- : scrollParent === 'document'
41
- ? document
42
- : scrollParent;
43
- scrollParentEl.addEventListener('scroll', onDropdownClose);
44
-
45
- return () => {
46
- scrollParentEl.removeEventListener('scroll', onDropdownClose);
47
- };
48
- }, [shouldHideOnScroll, isOpen]);
49
-
50
- let popperData: ReturnType<typeof usePopper> | undefined;
51
- if (shouldUsePopper) {
52
- // TODO: Вытащить хук из под условия???
53
- // eslint-disable-next-line react-hooks/rules-of-hooks
54
- popperData = usePopper(referenceElement, dropdownElement, {
55
- enabled: isOpen,
56
- placement,
57
- modifiers: [
58
- ...(shouldRenderInBody ? [minWidthModifier] : []),
59
- {
60
- name: 'offset',
61
- options: {
62
- offset: [0, 6],
63
- },
64
- },
65
- {
66
- name: 'flip',
67
- options: {
68
- fallbackPlacements: canBeFlipped ? ['bottom-start', 'top-start'] : ['bottom-start'],
69
- ...flipOptions,
70
- },
71
- },
72
- ...modifiers,
73
- ],
74
- });
75
- }
76
-
77
- useEffect(() => {
78
- if (dependenciesForPositionUpdating.length !== 0) {
79
- popperData?.update();
80
- }
81
- }, dependenciesForPositionUpdating);
82
-
83
- return popperData;
84
- };
1
+ import { DependencyList, useEffect } from 'react';
2
+ import usePopper, { VirtualElement } from 'react-overlays/usePopper';
3
+ import { getScrollParent, minWidthModifier } from '../helpers';
4
+ import { IDropdownWithPopperOptions } from '../types';
5
+
6
+ export const useDropdown = ({
7
+ isOpen,
8
+ onDropdownClose,
9
+ referenceElement,
10
+ dropdownElement,
11
+ options,
12
+ dependenciesForPositionUpdating = [],
13
+ }: {
14
+ isOpen: boolean;
15
+ referenceElement: VirtualElement | null | undefined;
16
+ dropdownElement: HTMLElement | null | undefined;
17
+ options?: IDropdownWithPopperOptions;
18
+ dependenciesForPositionUpdating?: DependencyList;
19
+ onDropdownClose: (event: Event) => void;
20
+ }): ReturnType<typeof usePopper> | undefined => {
21
+ const {
22
+ shouldUsePopper = false,
23
+ shouldRenderInBody = false,
24
+ shouldHideOnScroll = false,
25
+ scrollParent = 'document',
26
+ canBeFlipped = false,
27
+ modifiers = [],
28
+ placement = 'bottom-start',
29
+ flipOptions,
30
+ } = options ?? {};
31
+
32
+ useEffect(() => {
33
+ if (!shouldHideOnScroll || !isOpen) {
34
+ return;
35
+ }
36
+
37
+ const scrollParentEl =
38
+ scrollParent === 'auto'
39
+ ? getScrollParent(referenceElement as Element)
40
+ : scrollParent === 'document'
41
+ ? document
42
+ : scrollParent;
43
+ scrollParentEl.addEventListener('scroll', onDropdownClose);
44
+
45
+ return () => {
46
+ scrollParentEl.removeEventListener('scroll', onDropdownClose);
47
+ };
48
+ }, [shouldHideOnScroll, isOpen]);
49
+
50
+ let popperData: ReturnType<typeof usePopper> | undefined;
51
+ if (shouldUsePopper) {
52
+ // TODO: Вытащить хук из под условия???
53
+ // eslint-disable-next-line react-hooks/rules-of-hooks
54
+ popperData = usePopper(referenceElement, dropdownElement, {
55
+ enabled: isOpen,
56
+ placement,
57
+ modifiers: [
58
+ ...(shouldRenderInBody ? [minWidthModifier] : []),
59
+ {
60
+ name: 'offset',
61
+ options: {
62
+ offset: [0, 6],
63
+ },
64
+ },
65
+ {
66
+ name: 'flip',
67
+ options: {
68
+ fallbackPlacements: canBeFlipped ? ['bottom-start', 'top-start'] : ['bottom-start'],
69
+ ...flipOptions,
70
+ },
71
+ },
72
+ ...modifiers,
73
+ ],
74
+ });
75
+ }
76
+
77
+ useEffect(() => {
78
+ if (dependenciesForPositionUpdating.length !== 0) {
79
+ popperData?.update();
80
+ }
81
+ }, dependenciesForPositionUpdating);
82
+
83
+ return popperData;
84
+ };
@@ -1,15 +1,15 @@
1
- import { useCallback, useEffect, useRef } from 'react';
2
-
3
- export const useIsMounted = (): (() => boolean) => {
4
- const isMounted = useRef(false);
5
-
6
- useEffect(() => {
7
- isMounted.current = true;
8
-
9
- return () => {
10
- isMounted.current = false;
11
- };
12
- }, []);
13
-
14
- return useCallback(() => isMounted.current, []);
15
- };
1
+ import { useCallback, useEffect, useRef } from 'react';
2
+
3
+ export const useIsMounted = (): (() => boolean) => {
4
+ const isMounted = useRef(false);
5
+
6
+ useEffect(() => {
7
+ isMounted.current = true;
8
+
9
+ return () => {
10
+ isMounted.current = false;
11
+ };
12
+ }, []);
13
+
14
+ return useCallback(() => isMounted.current, []);
15
+ };
@@ -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" />