@true-engineering/true-react-common-ui-kit 4.0.0-alpha2 → 4.0.0-alpha21

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 (215) hide show
  1. package/README.md +11 -567
  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/ControlWrapper/ControlWrapper.d.ts +2 -0
  5. package/dist/components/ControlWrapper/ControlWrapper.styles.d.ts +2 -1
  6. package/dist/components/ControlWrapper/index.d.ts +1 -0
  7. package/dist/components/ControlWrapper/types.d.ts +3 -0
  8. package/dist/components/DatePicker/DatePicker.d.ts +3 -3
  9. package/dist/components/DatePicker/DatePicker.styles.d.ts +1 -1
  10. package/dist/components/DatePicker/components/PopperContainer/PopperContainer.d.ts +2 -4
  11. package/dist/components/DatePicker/helpers.d.ts +3 -0
  12. package/dist/components/DatePicker/types.d.ts +5 -3
  13. package/dist/components/FiltersPane/FiltersPane.d.ts +7 -2
  14. package/dist/components/FiltersPane/components/Filter/Filter.d.ts +2 -2
  15. package/dist/components/FiltersPane/components/Filter/helpers.d.ts +4 -0
  16. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +1 -1
  17. package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +1 -1
  18. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +3 -1
  19. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +2 -2
  20. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +2 -2
  21. package/dist/components/FiltersPane/types.d.ts +15 -5
  22. package/dist/components/Flag/customFlags/customFlags.d.ts +10 -0
  23. package/dist/components/Flag/customFlags/index.d.ts +1 -0
  24. package/dist/components/FlexibleTable/FlexibleTable.d.ts +4 -2
  25. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +4 -3
  26. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +6 -6
  27. package/dist/components/FlexibleTable/constants.d.ts +18 -2
  28. package/dist/components/FlexibleTable/types.d.ts +8 -8
  29. package/dist/components/Icon/icons-list.d.ts +1 -1
  30. package/dist/components/IconButton/IconButton.styles.d.ts +1 -1
  31. package/dist/components/IncrementInput/IncrementInput.styles.d.ts +1 -3
  32. package/dist/components/Input/Input.d.ts +3 -2
  33. package/dist/components/Input/InputBase.d.ts +2 -2
  34. package/dist/components/List/List.d.ts +1 -1
  35. package/dist/components/List/index.d.ts +2 -1
  36. package/dist/components/List/types.d.ts +4 -0
  37. package/dist/components/Modal/Modal.styles.d.ts +1 -1
  38. package/dist/components/Notification/Notification.styles.d.ts +1 -1
  39. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +1 -1
  40. package/dist/components/SearchInput/SearchInput.d.ts +2 -2
  41. package/dist/components/Select/Select.d.ts +5 -3
  42. package/dist/components/Select/Select.styles.d.ts +4 -4
  43. package/dist/components/Select/index.d.ts +1 -1
  44. package/dist/components/Status/Status.styles.d.ts +3 -2
  45. package/dist/components/Status/constants.d.ts +0 -1
  46. package/dist/components/Status/index.d.ts +1 -0
  47. package/dist/components/Status/types.d.ts +5 -2
  48. package/dist/components/TextArea/TextArea.d.ts +2 -5
  49. package/dist/components/TextArea/TextArea.styles.d.ts +1 -2
  50. package/dist/components/TextArea/index.d.ts +0 -1
  51. package/dist/components/TextButton/TextButton.styles.d.ts +1 -1
  52. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  53. package/dist/components/Tooltip/Tooltip.styles.d.ts +1 -1
  54. package/dist/components/WithMessages/WithMessages.styles.d.ts +1 -1
  55. package/dist/components/WithPopup/WithPopup.d.ts +21 -6
  56. package/dist/components/WithPopup/WithPopup.styles.d.ts +1 -1
  57. package/dist/components/WithPopup/helpers.d.ts +2 -0
  58. package/dist/components/WithPopup/types.d.ts +3 -0
  59. package/dist/components/WithTooltip/WithTooltip.styles.d.ts +1 -0
  60. package/dist/hooks/index.d.ts +1 -0
  61. package/dist/hooks/use-merge.d.ts +1 -0
  62. package/dist/hooks/use-mixed-styles.d.ts +3 -1
  63. package/dist/hooks/use-tweak-styles.d.ts +5 -5
  64. package/dist/style.css +78 -142
  65. package/dist/theme/Provider.d.ts +6 -3
  66. package/dist/theme/common.d.ts +4 -2
  67. package/dist/theme/create-themed-styles.d.ts +2 -0
  68. package/dist/theme/helpers.d.ts +9 -3
  69. package/dist/theme/index.d.ts +2 -0
  70. package/dist/theme/true-jss/ThemedStylesManager.d.ts +18 -0
  71. package/dist/theme/true-jss/TweakStylesManager.d.ts +34 -0
  72. package/dist/theme/true-jss/index.d.ts +2 -0
  73. package/dist/theme/true-jss/jss-context.d.ts +9 -0
  74. package/dist/theme/types.d.ts +5 -3
  75. package/dist/true-react-common-ui-kit.js +7580 -6523
  76. package/dist/true-react-common-ui-kit.js.map +1 -1
  77. package/dist/true-react-common-ui-kit.umd.cjs +7466 -6410
  78. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  79. package/dist/types.d.ts +10 -3
  80. package/package.json +4 -5
  81. package/src/components/ControlWrapper/ControlWrapper.stories.tsx +1 -1
  82. package/src/components/ControlWrapper/ControlWrapper.styles.ts +7 -6
  83. package/src/components/ControlWrapper/ControlWrapper.tsx +8 -2
  84. package/src/components/ControlWrapper/index.ts +1 -0
  85. package/src/components/ControlWrapper/types.ts +4 -0
  86. package/src/components/DatePicker/DatePicker.stories.tsx +2 -1
  87. package/src/components/DatePicker/DatePicker.styles.ts +3 -1
  88. package/src/components/DatePicker/DatePicker.tsx +12 -7
  89. package/src/components/DatePicker/components/PopperContainer/PopperContainer.tsx +4 -4
  90. package/src/components/DatePicker/helpers.ts +13 -1
  91. package/src/components/DatePicker/types.ts +9 -4
  92. package/src/components/FiltersPane/FiltersPane.stories.tsx +4 -2
  93. package/src/components/FiltersPane/FiltersPane.tsx +19 -13
  94. package/src/components/FiltersPane/components/Filter/Filter.tsx +24 -17
  95. package/src/components/FiltersPane/components/Filter/helpers.ts +18 -0
  96. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +27 -22
  97. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +1 -0
  98. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +3 -4
  99. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +1 -1
  100. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +7 -5
  101. package/src/components/FiltersPane/types.ts +23 -5
  102. package/src/components/Flag/Flag.stories.tsx +2 -1
  103. package/src/components/Flag/Flag.styles.ts +4 -0
  104. package/src/components/Flag/Flag.tsx +23 -9
  105. package/src/components/Flag/customFlags/AB.svg +1 -0
  106. package/src/components/Flag/customFlags/OS.svg +1 -0
  107. package/src/components/Flag/customFlags/augment.d.ts +1 -0
  108. package/src/components/Flag/customFlags/customFlags.ts +13 -0
  109. package/src/components/Flag/customFlags/index.ts +1 -0
  110. package/src/components/FlexibleTable/FlexibleTable.tsx +13 -12
  111. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.tsx +8 -5
  112. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.tsx +13 -12
  113. package/src/components/FlexibleTable/constants.ts +6 -3
  114. package/src/components/FlexibleTable/types.ts +8 -12
  115. package/src/components/IncrementInput/IncrementInput.stories.tsx +2 -0
  116. package/src/components/IncrementInput/IncrementInput.styles.ts +31 -39
  117. package/src/components/IncrementInput/IncrementInput.tsx +28 -25
  118. package/src/components/Input/Input.tsx +5 -3
  119. package/src/components/Input/InputBase.tsx +29 -24
  120. package/src/components/List/List.tsx +5 -2
  121. package/src/components/List/index.ts +2 -1
  122. package/src/components/List/types.ts +5 -0
  123. package/src/components/NumberInput/NumberInput.stories.tsx +5 -1
  124. package/src/components/PhoneInput/PhoneInput.stories.tsx +2 -1
  125. package/src/components/PhoneInput/PhoneInput.tsx +5 -2
  126. package/src/components/SearchInput/SearchInput.tsx +20 -29
  127. package/src/components/Select/Select.tsx +12 -2
  128. package/src/components/Select/components/SelectList/SelectList.tsx +1 -1
  129. package/src/components/Select/index.ts +1 -1
  130. package/src/components/Status/Status.stories.tsx +54 -1
  131. package/src/components/Status/Status.styles.ts +2 -37
  132. package/src/components/Status/constants.ts +0 -10
  133. package/src/components/Status/index.ts +1 -1
  134. package/src/components/Status/types.ts +7 -3
  135. package/src/components/TextArea/TextArea.styles.ts +2 -6
  136. package/src/components/TextArea/TextArea.tsx +41 -20
  137. package/src/components/TextArea/index.ts +0 -1
  138. package/src/components/TextButton/TextButton.styles.ts +1 -0
  139. package/src/components/Tooltip/Tooltip.styles.ts +2 -0
  140. package/src/components/Tooltip/Tooltip.tsx +1 -1
  141. package/src/components/WithMessages/WithMessages.stories.tsx +1 -1
  142. package/src/components/WithPopup/WithPopup.stories.tsx +1 -0
  143. package/src/components/WithPopup/WithPopup.styles.ts +2 -0
  144. package/src/components/WithPopup/WithPopup.tsx +64 -16
  145. package/src/components/WithPopup/helpers.ts +9 -0
  146. package/src/components/WithPopup/types.ts +7 -0
  147. package/src/components/WithTooltip/WithTooltip.styles.ts +6 -0
  148. package/src/components/WithTooltip/WithTooltip.tsx +7 -2
  149. package/src/constants/phone-info.ts +20 -33
  150. package/src/helpers/phone.ts +19 -15
  151. package/src/hooks/index.ts +1 -0
  152. package/src/hooks/use-merge.ts +8 -0
  153. package/src/hooks/use-mixed-styles.ts +9 -11
  154. package/src/hooks/use-tweak-styles.ts +49 -27
  155. package/src/theme/Provider.tsx +10 -5
  156. package/src/theme/common.ts +5 -2
  157. package/src/theme/create-themed-styles.ts +78 -0
  158. package/src/theme/helpers.ts +39 -39
  159. package/src/theme/index.ts +2 -0
  160. package/src/theme/true-jss/ThemedStylesManager.ts +92 -0
  161. package/src/theme/true-jss/TweakStylesManager.ts +157 -0
  162. package/src/theme/true-jss/index.ts +2 -0
  163. package/src/theme/true-jss/jss-context.tsx +34 -0
  164. package/src/theme/types.ts +5 -3
  165. package/src/types.ts +17 -4
  166. package/dist/components/AccountInfo/AccountInfo.stories.d.ts +0 -6
  167. package/dist/components/AddButton/AddButton.stories.d.ts +0 -6
  168. package/dist/components/Button/Button.stories.d.ts +0 -6
  169. package/dist/components/Checkbox/Checkbox.stories.d.ts +0 -8
  170. package/dist/components/CloseButton/CloseButton.stories.d.ts +0 -5
  171. package/dist/components/Colors/Colors.stories.d.ts +0 -5
  172. package/dist/components/ControlWrapper/ControlWrapper.stories.d.ts +0 -6
  173. package/dist/components/DateInput/DateInput.stories.d.ts +0 -7
  174. package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -7
  175. package/dist/components/Description/Description.stories.d.ts +0 -16
  176. package/dist/components/FileInput/FileInput.stories.d.ts +0 -7
  177. package/dist/components/FileItem/FileItem.stories.d.ts +0 -8
  178. package/dist/components/FiltersPane/FiltersPane.stories.d.ts +0 -31
  179. package/dist/components/Flag/Flag.stories.d.ts +0 -12
  180. package/dist/components/FlexibleTable/FlexibleTable.stories.d.ts +0 -19
  181. package/dist/components/Icon/Icon.stories.d.ts +0 -6
  182. package/dist/components/IconButton/IconButton.stories.d.ts +0 -6
  183. package/dist/components/IncrementInput/IncrementInput.stories.d.ts +0 -6
  184. package/dist/components/Input/Input.stories.d.ts +0 -25
  185. package/dist/components/List/List.stories.d.ts +0 -5
  186. package/dist/components/Modal/Modal.stories.d.ts +0 -29
  187. package/dist/components/MoreMenu/MoreMenu.stories.d.ts +0 -6
  188. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +0 -13
  189. package/dist/components/NewMoreMenu/NewMoreMenu.stories.d.ts +0 -12
  190. package/dist/components/Notification/Notification.stories.d.ts +0 -8
  191. package/dist/components/NumberInput/NumberInput.stories.d.ts +0 -7
  192. package/dist/components/PhoneInput/PhoneInput.stories.d.ts +0 -28
  193. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.d.ts +0 -5
  194. package/dist/components/RadioButton/RadioButton.stories.d.ts +0 -7
  195. package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -6
  196. package/dist/components/Select/CustomSelect.stories.d.ts +0 -11
  197. package/dist/components/Select/MultiSelect.stories.d.ts +0 -15
  198. package/dist/components/Select/Select.stories.d.ts +0 -15
  199. package/dist/components/Selector/Selector.stories.d.ts +0 -7
  200. package/dist/components/Skeleton/Skeleton.stories.d.ts +0 -6
  201. package/dist/components/SmartInput/SmartInput.stories.d.ts +0 -18
  202. package/dist/components/Status/Status.stories.d.ts +0 -6
  203. package/dist/components/Switch/Switch.stories.d.ts +0 -16
  204. package/dist/components/TextArea/TextArea.stories.d.ts +0 -17
  205. package/dist/components/TextArea/types.d.ts +0 -2
  206. package/dist/components/TextButton/TextButton.stories.d.ts +0 -6
  207. package/dist/components/TextWithInfo/TextWithInfo.stories.d.ts +0 -12
  208. package/dist/components/TextWithTooltip/TextWithTooltip.stories.d.ts +0 -24
  209. package/dist/components/ThemedPreloader/ThemedPreloader.stories.d.ts +0 -17
  210. package/dist/components/Toaster/Toaster.stories.d.ts +0 -5
  211. package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -5
  212. package/dist/components/WithMessages/WithMessages.stories.d.ts +0 -7
  213. package/dist/components/WithPopup/WithPopup.stories.d.ts +0 -16
  214. package/dist/components/WithTooltip/WithTooltip.stories.d.ts +0 -6
  215. package/src/components/TextArea/types.ts +0 -6
@@ -4,7 +4,7 @@ import { ITooltipStyles } from './Tooltip.styles';
4
4
  export interface ITooltipProps extends ICommonProps<ITooltipStyles> {
5
5
  text: ReactNode;
6
6
  /** @default 'tooltip' */
7
- view?: 'tooltip' | 'hint';
7
+ view?: 'tooltip' | 'hint' | 'custom';
8
8
  /** @default 'info' */
9
9
  type?: 'info' | 'error';
10
10
  }
@@ -1,3 +1,3 @@
1
1
  import { ITweakStyles } from '../../theme';
2
- export declare const useStyles: import("../../theme").IUseStyles<"error" | "root" | "tooltip" | "info" | "hint", unknown>;
2
+ export declare const useStyles: import("../../theme").IUseStyles<"custom" | "error" | "root" | "tooltip" | "info" | "hint", unknown>;
3
3
  export type ITooltipStyles = ITweakStyles<typeof useStyles>;
@@ -1,3 +1,3 @@
1
1
  import { ITweakStyles } from '../../theme';
2
- export declare const useStyles: import("../../theme").IUseStyles<"error" | "horizontal" | "vertical" | "children" | "info" | "withMessages" | "message", unknown>;
2
+ export declare const useStyles: import("../../theme").IUseStyles<"error" | "children" | "horizontal" | "vertical" | "info" | "withMessages" | "message", unknown>;
3
3
  export type IWithMessagesStyles = ITweakStyles<typeof useStyles>;
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { Placement, Middleware, OffsetOptions, UseHoverProps } from '@floating-ui/react';
3
- import { ICommonProps, IRenderNode } from '../../types';
4
- import { IPopupEventType, IWithPopupChildrenProps, IWithPopupToggleEvent, IWithPopupTriggerProps } from './types';
2
+ import { Placement, Middleware, OffsetOptions, UseHoverProps, UseClickProps, UseFocusProps, UseDismissProps, UseTransitionStatusProps } from '@floating-ui/react';
3
+ import { ICommonProps, IDataAttributes, IRenderNode } from '../../types';
4
+ import { IPopupArrowProps, IPopupEventType, IWithPopupChildrenProps, IWithPopupToggleEvent, IWithPopupTriggerProps } from './types';
5
5
  import { IWithPopupStyles } from './WithPopup.styles';
6
6
  export interface IWithPopupProps extends ICommonProps<IWithPopupStyles> {
7
7
  trigger: IRenderNode<IWithPopupTriggerProps>;
@@ -11,11 +11,16 @@ export interface IWithPopupProps extends ICommonProps<IWithPopupStyles> {
11
11
  placement?: Placement;
12
12
  /** @default 'click' */
13
13
  eventType?: IPopupEventType;
14
- /** @default 0 */
15
- hoverDelay?: UseHoverProps['delay'];
14
+ /**
15
+ * @deprecated Используйте hoverOptions
16
+ * @default 0
17
+ */
18
+ hoverDelay?: number;
16
19
  /** @default 6 */
17
20
  popupOffset?: OffsetOptions;
18
- /** @default true */
21
+ arrowProps?: IPopupArrowProps;
22
+ popupData?: IDataAttributes;
23
+ /** @default true, if eventType === click */
19
24
  shouldStopPropagation?: boolean;
20
25
  /** @default false */
21
26
  shouldHideOnScroll?: boolean;
@@ -28,6 +33,16 @@ export interface IWithPopupProps extends ICommonProps<IWithPopupStyles> {
28
33
  canBeFlipped?: boolean;
29
34
  /** @default false */
30
35
  isDisabled?: boolean;
36
+ /** @default false */
37
+ shouldShowArrow?: boolean;
38
+ /** Должна ли минимальная ширина попапа быть равна ширине триггера
39
+ * @default false */
40
+ isMinWidthSameAsTrigger?: boolean;
41
+ hoverOptions?: UseHoverProps;
42
+ clickOptions?: UseClickProps;
43
+ focusOptions?: UseFocusProps;
44
+ dismissOptions?: UseDismissProps;
45
+ transitionOptions?: UseTransitionStatusProps;
31
46
  onToggle?: (isActive: boolean, event?: IWithPopupToggleEvent) => void;
32
47
  }
33
48
  export declare const WithPopup: FC<IWithPopupProps>;
@@ -1,3 +1,3 @@
1
1
  import { ITweakStyles } from '../../theme';
2
- export declare const useStyles: import("../../theme").IUseStyles<"active" | "disabled" | "clickable" | "animationEnd" | "animationStart" | "trigger" | "popup" | "dropdown-initial" | "dropdown-open" | "dropdown-close" | "dropdown-unmounted", unknown>;
2
+ export declare const useStyles: import("../../theme").IUseStyles<"active" | "disabled" | "clickable" | "animationEnd" | "animationStart" | "arrow" | "trigger" | "popup" | "dropdown-initial" | "dropdown-open" | "dropdown-close" | "dropdown-unmounted", unknown>;
3
3
  export type IWithPopupStyles = ITweakStyles<typeof useStyles>;
@@ -0,0 +1,2 @@
1
+ import { Middleware } from '@floating-ui/react';
2
+ export declare const minWidthRelativeToTrigger: Middleware;
@@ -1,4 +1,5 @@
1
1
  import type { MouseEvent, KeyboardEvent } from 'react';
2
+ import type { FloatingArrowProps, UseFloatingReturn } from '@floating-ui/react';
2
3
  import type { IDataAttributesProps, IDomElementInteractions } from '../../types';
3
4
  import type { POPUP_EVENT_TYPES } from './constants';
4
5
  export type IPopupEventType = (typeof POPUP_EVENT_TYPES)[number];
@@ -15,5 +16,7 @@ export interface IWithPopupTriggerProps {
15
16
  referenceProps?: IReferenceProps;
16
17
  }
17
18
  export interface IWithPopupChildrenProps {
19
+ floatingContext: UseFloatingReturn['context'];
18
20
  onClose: (event?: IWithPopupToggleEvent) => void;
19
21
  }
22
+ export type IPopupArrowProps = Pick<FloatingArrowProps, 'width' | 'height' | 'tipRadius' | 'staticOffset' | 'd' | 'stroke' | 'strokeWidth'>;
@@ -1,5 +1,6 @@
1
1
  import { ITooltipStyles } from '../Tooltip';
2
2
  import { IWithPopupStyles } from '../WithPopup';
3
+ export declare const withPopupStyles: IWithPopupStyles;
3
4
  export interface IWithTooltipStyles {
4
5
  tweakWithPopup?: IWithPopupStyles;
5
6
  tweakTooltip?: ITooltipStyles;
@@ -5,3 +5,4 @@ export * from './use-tweak-styles';
5
5
  export * from './use-did-mount-effect';
6
6
  export * from './use-mixed-styles';
7
7
  export * from './use-merged-refs';
8
+ export * from './use-merge';
@@ -0,0 +1 @@
1
+ export declare const useMerge: <T>(one?: T | undefined, two?: T | undefined) => T | undefined;
@@ -1 +1,3 @@
1
- export declare const useMixedStyles: <StyleSheet_1>(baseStyles?: StyleSheet_1 | undefined, tweakStyles?: StyleSheet_1 | undefined) => StyleSheet_1 | undefined;
1
+ import type { IMixedStyles } from '../theme';
2
+ export declare const mixStyles: <T>(...tweakStyles: IMixedStyles<T>[]) => NonNullable<T>[];
3
+ export declare const useMixedStyles: <StyleSheet_1>(baseStyles?: IMixedStyles<StyleSheet_1>, tweakStyles?: IMixedStyles<StyleSheet_1>) => NonNullable<StyleSheet_1>[];
@@ -1,15 +1,15 @@
1
- import { IComponentName } from '../theme';
2
- export declare const useTweakStyles: <StyleSheet_1, ClassName extends keyof StyleSheet_1 & `tweak${string}`>({ innerStyles, tweakStyles: currentComponentTweakStyles, className, currentComponentName, }: {
1
+ import { IComponentName, IMaybeArray, IMixedStyles } from '../theme';
2
+ export declare const useTweakStyles: <StyleSheet_1, ClassName extends keyof StyleSheet_1 & `tweak${string}`>({ innerStyles, tweakStyles, className, currentComponentName, }: {
3
3
  /**
4
4
  * Это tweakStyles, определенные в родительском компоненте
5
5
  * (например, стили для Input, определенные в стилях компонента Select)
6
6
  */
7
- innerStyles?: StyleSheet_1[ClassName] | undefined;
7
+ innerStyles?: IMixedStyles<StyleSheet_1[ClassName]>;
8
8
  /**
9
9
  * Пропса tweakStyles из родительского компонента
10
10
  * (это уже непосредственно ISelectProps.tweakStyles)
11
11
  */
12
- tweakStyles?: StyleSheet_1 | undefined;
12
+ tweakStyles?: IMaybeArray<StyleSheet_1> | undefined;
13
13
  /**
14
14
  * Класс для переопределения tweakStyles из-вне. (Например, 'tweakInput')
15
15
  */
@@ -18,4 +18,4 @@ export declare const useTweakStyles: <StyleSheet_1, ClassName extends keyof Styl
18
18
  * Название компонента который вызывает useTweakStyles. (В данном примере 'Select')
19
19
  */
20
20
  currentComponentName?: keyof import("../theme").IComponentStyles | undefined;
21
- }) => StyleSheet_1[ClassName];
21
+ }) => NonNullable<StyleSheet_1[ClassName]>[];
package/dist/style.css CHANGED
@@ -1,7 +1,7 @@
1
1
  @charset "UTF-8";
2
- .react-datepicker__year-read-view--down-arrow,
2
+ .react-datepicker__navigation-icon::before, .react-datepicker__year-read-view--down-arrow,
3
3
  .react-datepicker__month-read-view--down-arrow,
4
- .react-datepicker__month-year-read-view--down-arrow, .react-datepicker__navigation-icon::before {
4
+ .react-datepicker__month-year-read-view--down-arrow {
5
5
  border-color: #ccc;
6
6
  border-style: solid;
7
7
  border-width: 3px 3px 0 0;
@@ -12,58 +12,6 @@
12
12
  top: 6px;
13
13
  width: 9px;
14
14
  }
15
- .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
16
- margin-left: -4px;
17
- position: absolute;
18
- width: 0;
19
- }
20
- .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {
21
- box-sizing: content-box;
22
- position: absolute;
23
- border: 8px solid transparent;
24
- height: 0;
25
- width: 1px;
26
- content: "";
27
- z-index: -1;
28
- border-width: 8px;
29
- left: -8px;
30
- }
31
- .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {
32
- border-bottom-color: #aeaeae;
33
- }
34
-
35
- .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
36
- top: 0;
37
- margin-top: -8px;
38
- }
39
- .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {
40
- border-top: none;
41
- border-bottom-color: #f0f0f0;
42
- }
43
- .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {
44
- top: 0;
45
- }
46
- .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {
47
- top: -1px;
48
- border-bottom-color: #aeaeae;
49
- }
50
-
51
- .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
52
- bottom: 0;
53
- margin-bottom: -8px;
54
- }
55
- .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {
56
- border-bottom: none;
57
- border-top-color: #fff;
58
- }
59
- .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {
60
- bottom: 0;
61
- }
62
- .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before {
63
- bottom: -1px;
64
- border-top-color: #aeaeae;
65
- }
66
-
67
15
  .react-datepicker-wrapper {
68
16
  display: inline-block;
69
17
  padding: 0;
@@ -79,11 +27,9 @@
79
27
  border-radius: 0.3rem;
80
28
  display: inline-block;
81
29
  position: relative;
30
+ line-height: initial;
82
31
  }
83
32
 
84
- .react-datepicker--time-only .react-datepicker__triangle {
85
- left: 35px;
86
- }
87
33
  .react-datepicker--time-only .react-datepicker__time-container {
88
34
  border-left: 0;
89
35
  }
@@ -93,37 +39,20 @@
93
39
  border-bottom-right-radius: 0.3rem;
94
40
  }
95
41
 
96
- .react-datepicker__triangle {
97
- position: absolute;
98
- left: 50px;
99
- }
100
-
101
42
  .react-datepicker-popper {
102
43
  z-index: 1;
44
+ line-height: 0;
103
45
  }
104
- .react-datepicker-popper[data-placement^=bottom] {
105
- padding-top: 10px;
106
- }
107
- .react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle, .react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle {
108
- left: auto;
109
- right: 50px;
110
- }
111
- .react-datepicker-popper[data-placement^=top] {
112
- padding-bottom: 10px;
46
+ .react-datepicker-popper .react-datepicker__triangle {
47
+ stroke: #aeaeae;
113
48
  }
114
- .react-datepicker-popper[data-placement^=right] {
115
- padding-left: 8px;
116
- }
117
- .react-datepicker-popper[data-placement^=right] .react-datepicker__triangle {
118
- left: auto;
119
- right: 42px;
120
- }
121
- .react-datepicker-popper[data-placement^=left] {
122
- padding-right: 8px;
49
+ .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
50
+ fill: #f0f0f0;
51
+ color: #f0f0f0;
123
52
  }
124
- .react-datepicker-popper[data-placement^=left] .react-datepicker__triangle {
125
- left: 42px;
126
- right: auto;
53
+ .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
54
+ fill: #fff;
55
+ color: #fff;
127
56
  }
128
57
 
129
58
  .react-datepicker__header {
@@ -165,6 +94,11 @@
165
94
  font-size: 0.944rem;
166
95
  }
167
96
 
97
+ h2.react-datepicker__current-month {
98
+ padding: 0;
99
+ margin: 0;
100
+ }
101
+
168
102
  .react-datepicker-time__header {
169
103
  text-overflow: ellipsis;
170
104
  white-space: nowrap;
@@ -211,7 +145,7 @@
211
145
  top: -4px;
212
146
  }
213
147
  .react-datepicker__navigation:hover *::before {
214
- border-color: #a6a6a6;
148
+ border-color: rgb(165.75, 165.75, 165.75);
215
149
  }
216
150
 
217
151
  .react-datepicker__navigation-icon {
@@ -369,8 +303,7 @@
369
303
  .react-datepicker__week-number.react-datepicker__week-number--clickable {
370
304
  cursor: pointer;
371
305
  }
372
- .react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected,
373
- .react-datepicker__week-number--keyboard-selected):hover {
306
+ .react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover {
374
307
  border-radius: 0.3rem;
375
308
  background-color: #f0f0f0;
376
309
  }
@@ -380,15 +313,7 @@
380
313
  color: #fff;
381
314
  }
382
315
  .react-datepicker__week-number--selected:hover {
383
- background-color: #1d5d90;
384
- }
385
- .react-datepicker__week-number--keyboard-selected {
386
- border-radius: 0.3rem;
387
- background-color: #2a87d0;
388
- color: #fff;
389
- }
390
- .react-datepicker__week-number--keyboard-selected:hover {
391
- background-color: #1d5d90;
316
+ background-color: rgb(28.75, 93.2196969697, 143.75);
392
317
  }
393
318
 
394
319
  .react-datepicker__day-names {
@@ -417,10 +342,10 @@
417
342
  .react-datepicker__year-text {
418
343
  cursor: pointer;
419
344
  }
420
- .react-datepicker__day:hover,
421
- .react-datepicker__month-text:hover,
422
- .react-datepicker__quarter-text:hover,
423
- .react-datepicker__year-text:hover {
345
+ .react-datepicker__day:not([aria-disabled=true]):hover,
346
+ .react-datepicker__month-text:not([aria-disabled=true]):hover,
347
+ .react-datepicker__quarter-text:not([aria-disabled=true]):hover,
348
+ .react-datepicker__year-text:not([aria-disabled=true]):hover {
424
349
  border-radius: 0.3rem;
425
350
  background-color: #f0f0f0;
426
351
  }
@@ -438,11 +363,11 @@
438
363
  background-color: #3dcc4a;
439
364
  color: #fff;
440
365
  }
441
- .react-datepicker__day--highlighted:hover,
442
- .react-datepicker__month-text--highlighted:hover,
443
- .react-datepicker__quarter-text--highlighted:hover,
444
- .react-datepicker__year-text--highlighted:hover {
445
- background-color: #32be3f;
366
+ .react-datepicker__day--highlighted:not([aria-disabled=true]):hover,
367
+ .react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,
368
+ .react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,
369
+ .react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover {
370
+ background-color: rgb(49.8551020408, 189.6448979592, 62.5632653061);
446
371
  }
447
372
  .react-datepicker__day--highlighted-custom-1,
448
373
  .react-datepicker__month-text--highlighted-custom-1,
@@ -465,10 +390,10 @@
465
390
  background-color: #ff6803;
466
391
  color: #fff;
467
392
  }
468
- .react-datepicker__day--holidays .holiday-overlay,
469
- .react-datepicker__month-text--holidays .holiday-overlay,
470
- .react-datepicker__quarter-text--holidays .holiday-overlay,
471
- .react-datepicker__year-text--holidays .holiday-overlay {
393
+ .react-datepicker__day--holidays .overlay,
394
+ .react-datepicker__month-text--holidays .overlay,
395
+ .react-datepicker__quarter-text--holidays .overlay,
396
+ .react-datepicker__year-text--holidays .overlay {
472
397
  position: absolute;
473
398
  bottom: 100%;
474
399
  left: 50%;
@@ -482,16 +407,16 @@
482
407
  opacity: 0;
483
408
  transition: visibility 0s, opacity 0.3s ease-in-out;
484
409
  }
485
- .react-datepicker__day--holidays:hover,
486
- .react-datepicker__month-text--holidays:hover,
487
- .react-datepicker__quarter-text--holidays:hover,
488
- .react-datepicker__year-text--holidays:hover {
489
- background-color: #cf5300;
410
+ .react-datepicker__day--holidays:not([aria-disabled=true]):hover,
411
+ .react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,
412
+ .react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,
413
+ .react-datepicker__year-text--holidays:not([aria-disabled=true]):hover {
414
+ background-color: rgb(207, 82.9642857143, 0);
490
415
  }
491
- .react-datepicker__day--holidays:hover .holiday-overlay,
492
- .react-datepicker__month-text--holidays:hover .holiday-overlay,
493
- .react-datepicker__quarter-text--holidays:hover .holiday-overlay,
494
- .react-datepicker__year-text--holidays:hover .holiday-overlay {
416
+ .react-datepicker__day--holidays:hover .overlay,
417
+ .react-datepicker__month-text--holidays:hover .overlay,
418
+ .react-datepicker__quarter-text--holidays:hover .overlay,
419
+ .react-datepicker__year-text--holidays:hover .overlay {
495
420
  visibility: visible;
496
421
  opacity: 1;
497
422
  }
@@ -509,31 +434,31 @@
509
434
  background-color: #216ba5;
510
435
  color: #fff;
511
436
  }
512
- .react-datepicker__day--selected:hover, .react-datepicker__day--in-selecting-range:hover, .react-datepicker__day--in-range:hover,
513
- .react-datepicker__month-text--selected:hover,
514
- .react-datepicker__month-text--in-selecting-range:hover,
515
- .react-datepicker__month-text--in-range:hover,
516
- .react-datepicker__quarter-text--selected:hover,
517
- .react-datepicker__quarter-text--in-selecting-range:hover,
518
- .react-datepicker__quarter-text--in-range:hover,
519
- .react-datepicker__year-text--selected:hover,
520
- .react-datepicker__year-text--in-selecting-range:hover,
521
- .react-datepicker__year-text--in-range:hover {
522
- background-color: #1d5d90;
437
+ .react-datepicker__day--selected:not([aria-disabled=true]):hover, .react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover, .react-datepicker__day--in-range:not([aria-disabled=true]):hover,
438
+ .react-datepicker__month-text--selected:not([aria-disabled=true]):hover,
439
+ .react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,
440
+ .react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,
441
+ .react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,
442
+ .react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,
443
+ .react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,
444
+ .react-datepicker__year-text--selected:not([aria-disabled=true]):hover,
445
+ .react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,
446
+ .react-datepicker__year-text--in-range:not([aria-disabled=true]):hover {
447
+ background-color: rgb(28.75, 93.2196969697, 143.75);
523
448
  }
524
449
  .react-datepicker__day--keyboard-selected,
525
450
  .react-datepicker__month-text--keyboard-selected,
526
451
  .react-datepicker__quarter-text--keyboard-selected,
527
452
  .react-datepicker__year-text--keyboard-selected {
528
453
  border-radius: 0.3rem;
529
- background-color: #bad9f1;
454
+ background-color: rgb(186.25, 217.0833333333, 241.25);
530
455
  color: rgb(0, 0, 0);
531
456
  }
532
- .react-datepicker__day--keyboard-selected:hover,
533
- .react-datepicker__month-text--keyboard-selected:hover,
534
- .react-datepicker__quarter-text--keyboard-selected:hover,
535
- .react-datepicker__year-text--keyboard-selected:hover {
536
- background-color: #1d5d90;
457
+ .react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,
458
+ .react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,
459
+ .react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,
460
+ .react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover {
461
+ background-color: rgb(28.75, 93.2196969697, 143.75);
537
462
  }
538
463
  .react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,
539
464
  .react-datepicker__month-text--in-range,
@@ -594,11 +519,22 @@
594
519
  cursor: default;
595
520
  color: #ccc;
596
521
  }
597
- .react-datepicker__day--disabled:hover,
598
- .react-datepicker__month-text--disabled:hover,
599
- .react-datepicker__quarter-text--disabled:hover,
600
- .react-datepicker__year-text--disabled:hover {
601
- background-color: transparent;
522
+ .react-datepicker__day--disabled .overlay,
523
+ .react-datepicker__month-text--disabled .overlay,
524
+ .react-datepicker__quarter-text--disabled .overlay,
525
+ .react-datepicker__year-text--disabled .overlay {
526
+ position: absolute;
527
+ bottom: 70%;
528
+ left: 50%;
529
+ transform: translateX(-50%);
530
+ background-color: #333;
531
+ color: #fff;
532
+ padding: 4px;
533
+ border-radius: 4px;
534
+ white-space: nowrap;
535
+ visibility: hidden;
536
+ opacity: 0;
537
+ transition: visibility 0s, opacity 0.3s ease-in-out;
602
538
  }
603
539
 
604
540
  .react-datepicker__input-container {
@@ -634,7 +570,7 @@
634
570
  .react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,
635
571
  .react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,
636
572
  .react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {
637
- border-top-color: #b3b3b3;
573
+ border-top-color: rgb(178.5, 178.5, 178.5);
638
574
  }
639
575
  .react-datepicker__year-read-view--down-arrow,
640
576
  .react-datepicker__month-read-view--down-arrow,
@@ -702,12 +638,12 @@
702
638
  .react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
703
639
  .react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,
704
640
  .react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {
705
- border-bottom-color: #b3b3b3;
641
+ border-bottom-color: rgb(178.5, 178.5, 178.5);
706
642
  }
707
643
  .react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
708
644
  .react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,
709
645
  .react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {
710
- border-top-color: #b3b3b3;
646
+ border-top-color: rgb(178.5, 178.5, 178.5);
711
647
  }
712
648
  .react-datepicker__year-option--selected,
713
649
  .react-datepicker__month-option--selected,
@@ -1,11 +1,14 @@
1
1
  import { FC, ReactNode } from 'react';
2
- import { IUiKitTheme } from './types';
2
+ import type { IUiKitTheme } from './types';
3
3
  export interface IThemedProviderProps {
4
4
  theme: IUiKitTheme;
5
5
  children: ReactNode;
6
6
  }
7
7
  export declare const getTheme: () => IUiKitTheme;
8
- export declare const ThemeContext: import("react").Context<{
8
+ interface ThemeContextValue {
9
9
  theme: IUiKitTheme;
10
- }>;
10
+ }
11
+ export declare const ThemeContext: import("react").Context<ThemeContextValue>;
11
12
  export declare const ThemeProvider: FC<IThemedProviderProps>;
13
+ export declare const useTheme: () => IUiKitTheme;
14
+ export {};
@@ -48,9 +48,11 @@ export declare const helpers: {
48
48
  boxSizing: string;
49
49
  overflow: string;
50
50
  '@supports selector(::-webkit-scrollbar)': {
51
+ '--webkit-scrollbar-width': string;
52
+ '--webkit-scrollbar-height': string;
51
53
  '&::-webkit-scrollbar': {
52
- height: number;
53
- width: number;
54
+ width: string;
55
+ height: string;
54
56
  '&-thumb': {
55
57
  width: number;
56
58
  minHeight: number;
@@ -0,0 +1,2 @@
1
+ import { IComponentName, IStyles, IUseStyles } from './types';
2
+ export declare function createThemedStyles<C extends string>(...args: [IStyles<C>] | [IComponentName, IStyles<C>]): IUseStyles<C>;
@@ -1,4 +1,9 @@
1
- import { IComponentName, IStyles, IUseStyles } from './types';
1
+ import { IMaybeArray } from './types';
2
+ export declare const isTweakStyle: (key: string) => boolean;
3
+ export declare const isStylesNotEmpty: <T>(tweakStyles?: T | undefined) => tweakStyles is NonNullable<T>;
4
+ export declare const cleanStyles: <T>(tweakStyles?: T | undefined) => T;
5
+ export declare const mergeTweakStyles: <T>(tweakStyles?: IMaybeArray<T> | undefined) => T | undefined;
6
+ export declare const checkStyles: (componentName: string, styles: Record<string, unknown>) => void;
2
7
  export declare const areStylesThemed: (styles: Record<string, unknown>) => boolean;
3
8
  /**
4
9
  * Подмешивает стили из темы. Мутирует, добавляя специально поле,
@@ -6,5 +11,6 @@ export declare const areStylesThemed: (styles: Record<string, unknown>) => boole
6
11
  * тем самым сохраняя ссылку на объект и позволяя этим кэшировать JSS стили
7
12
  */
8
13
  export declare const themedStyles: <T>(styles: T, themeComponentStyles: T) => T;
9
- export declare function createThemedStyles<C extends string, P>(styles: IStyles<C, P>): IUseStyles<C, P>;
10
- export declare function createThemedStyles<C extends string, P>(componentName: IComponentName, styles: IStyles<C, P>): IUseStyles<C, P>;
14
+ type TweakStylesCache = (styles: object[], prev?: object[]) => object | undefined;
15
+ export declare const getTweakStylesCache: () => TweakStylesCache;
16
+ export {};
@@ -1,4 +1,6 @@
1
1
  export * from './Provider';
2
+ export * from './true-jss';
2
3
  export * from './common';
3
4
  export * from './types';
4
5
  export * from './helpers';
6
+ export * from './create-themed-styles';
@@ -0,0 +1,18 @@
1
+ import type { Classes } from 'jss';
2
+ import { IStyles } from '../types';
3
+ import { IPartialStyle } from './TweakStylesManager';
4
+ import { IJssContext } from './jss-context';
5
+ interface IThemedStylesManagerOptions<C extends string> {
6
+ styles: IStyles<C>;
7
+ name: string;
8
+ }
9
+ export declare class ThemedStylesManager<C extends string> {
10
+ #private;
11
+ constructor({ styles, name }: IThemedStylesManagerOptions<C>);
12
+ getClasses(theme: object | undefined, tweak: IPartialStyle[], jssContext: IJssContext): Classes<C>;
13
+ manageTweak(theme: object | undefined, tweak: IPartialStyle[]): VoidFunction | undefined;
14
+ manage(theme?: object): VoidFunction | undefined;
15
+ private unmanage;
16
+ private getOrCreate;
17
+ }
18
+ export {};
@@ -0,0 +1,34 @@
1
+ import type { StyleSheet, Classes } from 'jss';
2
+ export type IPartialStyle = object;
3
+ interface TweakStylesManagerOptions<C extends string> {
4
+ sheet: StyleSheet<C>;
5
+ classes: Classes<C>;
6
+ tweak?: IPartialStyle[];
7
+ }
8
+ export declare class TweakStylesManager<C extends string> {
9
+ #private;
10
+ constructor({ sheet, classes, tweak }: TweakStylesManagerOptions<C>);
11
+ getClasses([next, ...rest]: IPartialStyle[]): Classes<C>;
12
+ manage([next, ...rest]: IPartialStyle[]): void;
13
+ unmanage([next, ...rest]: IPartialStyle[]): void;
14
+ private getNextManager;
15
+ private getOrCreate;
16
+ private addRules;
17
+ private addRule;
18
+ private insertRules;
19
+ private deleteRules;
20
+ private getInsertIndex;
21
+ }
22
+ declare module 'jss' {
23
+ interface RuleList {
24
+ index: Rule[];
25
+ }
26
+ interface StyleSheet<RuleName> {
27
+ rules: RuleList;
28
+ deleteRule(rule: Rule): boolean;
29
+ addRule(name: RuleName, style: JssStyle, options?: Partial<Rule['options']>): (Rule & {
30
+ id: string;
31
+ }) | null;
32
+ }
33
+ }
34
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './ThemedStylesManager';
2
+ export * from './jss-context';
@@ -0,0 +1,9 @@
1
+ import { Context, FC, PropsWithChildren } from 'react';
2
+ import { GenerateId } from 'jss';
3
+ export interface IJssContext {
4
+ generateId?: GenerateId;
5
+ tweakStylesArch?: 'react-jss' | 'true-jss';
6
+ }
7
+ /** Типизация JssContext оказалась некорректна */
8
+ export declare const JssContext: Context<IJssContext>;
9
+ export declare const JssProvider: FC<PropsWithChildren<IJssContext>>;
@@ -1,9 +1,11 @@
1
1
  import { Styles } from 'react-jss';
2
2
  import { Classes, JssValue } from 'jss';
3
- import type { IAccountInfoStyles, IAddButtonStyles, IButtonStyles, ICheckboxStyles, ICloseButtonStyles, ICommonIcon, IComplexIcon, IWithMessagesStyles, IControlWrapperStyles, ICssBaselineStyles, IDateInputStyles, IDatePickerHeaderStyles, IDatePickerStyles, IDescriptionStyles, IDotsPreloaderStyles, IFileInputStyles, IFileItemStyles, IFilterIntervalStyles, IFilterSelectStyles, IFiltersPaneSearchStyles, IFiltersPaneStyles, IFilterValueViewStyles, IFilterWithDatesStyles, IFilterWithPeriodStyles, IFilterWrapperStyles, IFlagStyles, IFlexibleTableCellStyles, IFlexibleTableRowStyles, IFlexibleTableStyles, IIconButtonStyles, IIconStyles, IIncrementInputStyles, IInputStyles, IListItemStyles, IListStyles, IModalStyles, IMoreMenuStyles, IMultiSelectInputStyles, IMultiSelectListStyles, IMultiSelectStyles, INewMoreMenuStyles, INotificationStyles, IPhoneInputCountryListStyles, IPhoneInputStyles, IPreloaderSvgType, IRadioButtonStyles, ISearchInputStyles, ISelectListStyles, ISelectorStyles, ISelectStyles, ISkeletonStyles, IStatusStyles, ISvgIcon, ISvgPreloaderStyles, ISwitchStyles, ITextAreaStyles, ITextButtonStyles, ITextWithInfoStyles, ITextWithTooltipStyles, IThemedPreloaderStyles, IToasterStyles, ITooltipStyles, IWithPopupStyles, IWithTooltipStyles } from '../components';
4
- export type IStyles<C extends string, P> = Styles<C, P, Partial<Styles<C, P>>>;
3
+ import type { IAccountInfoStyles, IAddButtonStyles, IButtonStyles, ICheckboxStyles, ICloseButtonStyles, ICommonIcon, IComplexIcon, IControlWrapperStyles, ICssBaselineStyles, IDateInputStyles, IDatePickerHeaderStyles, IDatePickerStyles, IDescriptionStyles, IDotsPreloaderStyles, IFileInputStyles, IFileItemStyles, IFilterIntervalStyles, IFilterSelectStyles, IFiltersPaneSearchStyles, IFiltersPaneStyles, IFilterValueViewStyles, IFilterWithDatesStyles, IFilterWithPeriodStyles, IFilterWrapperStyles, IFlagStyles, IFlexibleTableCellStyles, IFlexibleTableRowStyles, IFlexibleTableStyles, IIconButtonStyles, IIconStyles, IIncrementInputStyles, IInputStyles, IListItemStyles, IListStyles, IModalStyles, IMoreMenuStyles, IMultiSelectInputStyles, IMultiSelectListStyles, IMultiSelectStyles, INewMoreMenuStyles, INotificationStyles, IPhoneInputCountryListStyles, IPhoneInputStyles, IPreloaderSvgType, IRadioButtonStyles, ISearchInputStyles, ISelectListStyles, ISelectorStyles, ISelectStyles, ISkeletonStyles, IStatusStyles, ISvgIcon, ISvgPreloaderStyles, ISwitchStyles, ITextAreaStyles, ITextButtonStyles, ITextWithInfoStyles, ITextWithTooltipStyles, IThemedPreloaderStyles, IToasterStyles, ITooltipStyles, IWithMessagesStyles, IWithPopupStyles, IWithTooltipStyles } from '../components';
4
+ export type IStyles<C extends string, P = unknown> = Styles<C, P, Partial<Styles<C, P>>>;
5
+ export type IMaybeArray<T> = T[] | T;
6
+ export type IMixedStyles<T> = IMaybeArray<T | boolean | undefined>;
5
7
  export type IUseStyles<C extends string, P = unknown> = (data?: P & {
6
- theme?: Partial<Styles<C, P>>;
8
+ theme?: IMaybeArray<Partial<Styles<C, P>>>;
7
9
  }) => Classes<C>;
8
10
  export type ITweakStyles<StyleCreator, ChildTweakStyles = unknown> = StyleCreator extends IUseStyles<infer C, infer P> ? Partial<Styles<C, P>> & Partial<ChildTweakStyles> : never;
9
11
  export interface IComponentStyles {