@true-engineering/true-react-common-ui-kit 4.0.0-alpha3 → 4.0.0-alpha31

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 (237) hide show
  1. package/README.md +11 -607
  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 +4 -2
  5. package/dist/components/ControlWrapper/ControlWrapper.styles.d.ts +2 -1
  6. package/dist/components/ControlWrapper/helpers.d.ts +4 -0
  7. package/dist/components/ControlWrapper/index.d.ts +2 -0
  8. package/dist/components/ControlWrapper/types.d.ts +12 -0
  9. package/dist/components/DateInput/DateInput.d.ts +1 -2
  10. package/dist/components/DatePicker/DatePicker.d.ts +4 -3
  11. package/dist/components/DatePicker/DatePicker.styles.d.ts +1 -1
  12. package/dist/components/DatePicker/components/DatePickerBase/DatePickerBase.d.ts +5 -0
  13. package/dist/components/DatePicker/components/DatePickerBase/index.d.ts +1 -0
  14. package/dist/components/DatePicker/components/PopperContainer/PopperContainer.d.ts +2 -4
  15. package/dist/components/DatePicker/components/index.d.ts +1 -0
  16. package/dist/components/DatePicker/constants.d.ts +7 -2
  17. package/dist/components/DatePicker/index.d.ts +1 -0
  18. package/dist/components/DatePicker/types.d.ts +3 -3
  19. package/dist/components/FiltersPane/FiltersPane.d.ts +7 -2
  20. package/dist/components/FiltersPane/components/Filter/Filter.d.ts +2 -2
  21. package/dist/components/FiltersPane/components/Filter/helpers.d.ts +4 -0
  22. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +1 -1
  23. package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +1 -1
  24. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +3 -1
  25. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +2 -2
  26. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +2 -2
  27. package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +1 -1
  28. package/dist/components/FiltersPane/types.d.ts +16 -5
  29. package/dist/components/Flag/customFlags/customFlags.d.ts +10 -0
  30. package/dist/components/Flag/customFlags/index.d.ts +1 -0
  31. package/dist/components/FlexibleTable/FlexibleTable.d.ts +4 -2
  32. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +4 -3
  33. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +6 -6
  34. package/dist/components/FlexibleTable/constants.d.ts +18 -2
  35. package/dist/components/FlexibleTable/types.d.ts +20 -12
  36. package/dist/components/Icon/icons-list.d.ts +1 -1
  37. package/dist/components/IconButton/IconButton.styles.d.ts +1 -1
  38. package/dist/components/IncrementInput/IncrementInput.styles.d.ts +1 -3
  39. package/dist/components/Input/Input.d.ts +3 -2
  40. package/dist/components/Input/InputBase.d.ts +2 -2
  41. package/dist/components/List/List.d.ts +1 -1
  42. package/dist/components/List/index.d.ts +2 -1
  43. package/dist/components/List/types.d.ts +4 -0
  44. package/dist/components/Modal/Modal.styles.d.ts +1 -1
  45. package/dist/components/Notification/Notification.styles.d.ts +1 -1
  46. package/dist/components/RadioButton/RadioButton.styles.d.ts +1 -1
  47. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +1 -1
  48. package/dist/components/SearchInput/SearchInput.d.ts +2 -2
  49. package/dist/components/Select/Select.d.ts +5 -3
  50. package/dist/components/Select/Select.styles.d.ts +5 -5
  51. package/dist/components/Select/components/SelectListItem/SelectListItem.d.ts +2 -1
  52. package/dist/components/Select/index.d.ts +1 -1
  53. package/dist/components/Status/Status.styles.d.ts +3 -2
  54. package/dist/components/Status/constants.d.ts +0 -1
  55. package/dist/components/Status/index.d.ts +1 -0
  56. package/dist/components/Status/types.d.ts +5 -2
  57. package/dist/components/TextArea/TextArea.d.ts +4 -5
  58. package/dist/components/TextArea/TextArea.styles.d.ts +5 -4
  59. package/dist/components/TextArea/index.d.ts +1 -1
  60. package/dist/components/TextArea/types.d.ts +4 -2
  61. package/dist/components/TextButton/TextButton.styles.d.ts +1 -1
  62. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  63. package/dist/components/Tooltip/Tooltip.styles.d.ts +1 -1
  64. package/dist/components/WithMessages/WithMessages.styles.d.ts +1 -1
  65. package/dist/components/WithPopup/WithPopup.d.ts +11 -3
  66. package/dist/hooks/index.d.ts +7 -4
  67. package/dist/hooks/use-intersection-ref.d.ts +8 -0
  68. package/dist/hooks/use-latest-ref.d.ts +2 -0
  69. package/dist/hooks/use-merge.d.ts +1 -0
  70. package/dist/hooks/use-mixed-styles.d.ts +3 -1
  71. package/dist/hooks/use-on-click-outside.d.ts +2 -2
  72. package/dist/hooks/use-tweak-styles.d.ts +5 -5
  73. package/dist/style.css +78 -142
  74. package/dist/theme/Provider.d.ts +6 -3
  75. package/dist/theme/create-themed-styles.d.ts +2 -0
  76. package/dist/theme/helpers.d.ts +9 -3
  77. package/dist/theme/index.d.ts +2 -0
  78. package/dist/theme/true-jss/ThemedStylesManager.d.ts +18 -0
  79. package/dist/theme/true-jss/TweakStylesManager.d.ts +34 -0
  80. package/dist/theme/true-jss/index.d.ts +2 -0
  81. package/dist/theme/true-jss/jss-context.d.ts +9 -0
  82. package/dist/theme/types.d.ts +5 -3
  83. package/dist/true-react-common-ui-kit.js +8157 -6924
  84. package/dist/true-react-common-ui-kit.js.map +1 -1
  85. package/dist/true-react-common-ui-kit.umd.cjs +8004 -6772
  86. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  87. package/dist/types.d.ts +10 -3
  88. package/package.json +4 -5
  89. package/src/components/ControlWrapper/ControlWrapper.stories.tsx +8 -3
  90. package/src/components/ControlWrapper/ControlWrapper.styles.ts +7 -6
  91. package/src/components/ControlWrapper/ControlWrapper.tsx +31 -20
  92. package/src/components/ControlWrapper/helpers.ts +11 -0
  93. package/src/components/ControlWrapper/index.ts +2 -0
  94. package/src/components/ControlWrapper/types.ts +16 -0
  95. package/src/components/DateInput/DateInput.stories.tsx +0 -1
  96. package/src/components/DateInput/DateInput.tsx +3 -4
  97. package/src/components/DatePicker/DatePicker.stories.tsx +24 -11
  98. package/src/components/DatePicker/DatePicker.styles.ts +3 -1
  99. package/src/components/DatePicker/DatePicker.tsx +47 -16
  100. package/src/components/DatePicker/components/DatePickerBase/DatePickerBase.tsx +14 -0
  101. package/src/components/DatePicker/components/DatePickerBase/index.ts +1 -0
  102. package/src/components/DatePicker/components/PopperContainer/PopperContainer.tsx +4 -4
  103. package/src/components/DatePicker/components/index.ts +1 -0
  104. package/src/components/DatePicker/constants.ts +9 -3
  105. package/src/components/DatePicker/helpers.ts +1 -1
  106. package/src/components/DatePicker/index.ts +1 -0
  107. package/src/components/DatePicker/types.ts +6 -4
  108. package/src/components/FiltersPane/FiltersPane.stories.tsx +4 -2
  109. package/src/components/FiltersPane/FiltersPane.tsx +28 -19
  110. package/src/components/FiltersPane/components/Filter/Filter.tsx +36 -30
  111. package/src/components/FiltersPane/components/Filter/helpers.ts +18 -0
  112. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.tsx +22 -23
  113. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +27 -22
  114. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +2 -1
  115. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +3 -4
  116. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +4 -3
  117. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +14 -10
  118. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.ts +5 -0
  119. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.tsx +16 -19
  120. package/src/components/FiltersPane/types.ts +24 -5
  121. package/src/components/Flag/Flag.stories.tsx +2 -1
  122. package/src/components/Flag/Flag.styles.ts +4 -0
  123. package/src/components/Flag/Flag.tsx +23 -9
  124. package/src/components/Flag/customFlags/AB.svg +1 -0
  125. package/src/components/Flag/customFlags/OS.svg +1 -0
  126. package/src/components/Flag/customFlags/augment.d.ts +1 -0
  127. package/src/components/Flag/customFlags/customFlags.ts +13 -0
  128. package/src/components/Flag/customFlags/index.ts +1 -0
  129. package/src/components/FlexibleTable/FlexibleTable.tsx +40 -63
  130. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.tsx +8 -5
  131. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.tsx +13 -12
  132. package/src/components/FlexibleTable/constants.ts +6 -3
  133. package/src/components/FlexibleTable/types.ts +20 -16
  134. package/src/components/IncrementInput/IncrementInput.stories.tsx +2 -0
  135. package/src/components/IncrementInput/IncrementInput.styles.ts +31 -39
  136. package/src/components/IncrementInput/IncrementInput.tsx +28 -25
  137. package/src/components/Input/Input.stories.tsx +1 -6
  138. package/src/components/Input/Input.tsx +5 -3
  139. package/src/components/Input/InputBase.tsx +27 -25
  140. package/src/components/List/List.tsx +5 -2
  141. package/src/components/List/index.ts +2 -1
  142. package/src/components/List/types.ts +5 -0
  143. package/src/components/MultiSelectList/MultiSelectList.tsx +15 -11
  144. package/src/components/NumberInput/NumberInput.stories.tsx +5 -1
  145. package/src/components/PhoneInput/PhoneInput.stories.tsx +2 -1
  146. package/src/components/PhoneInput/PhoneInput.tsx +5 -2
  147. package/src/components/SearchInput/SearchInput.tsx +20 -29
  148. package/src/components/Select/CustomSelect.stories.tsx +1 -0
  149. package/src/components/Select/MultiSelect.stories.tsx +5 -0
  150. package/src/components/Select/Select.stories.tsx +6 -0
  151. package/src/components/Select/Select.styles.ts +5 -40
  152. package/src/components/Select/Select.tsx +36 -22
  153. package/src/components/Select/components/SelectList/SelectList.tsx +4 -2
  154. package/src/components/Select/components/SelectListItem/SelectListItem.tsx +5 -2
  155. package/src/components/Select/index.ts +1 -1
  156. package/src/components/Status/Status.stories.tsx +54 -1
  157. package/src/components/Status/Status.styles.ts +2 -37
  158. package/src/components/Status/constants.ts +0 -10
  159. package/src/components/Status/index.ts +1 -1
  160. package/src/components/Status/types.ts +7 -3
  161. package/src/components/TextArea/TextArea.stories.tsx +15 -1
  162. package/src/components/TextArea/TextArea.styles.ts +15 -8
  163. package/src/components/TextArea/TextArea.tsx +96 -62
  164. package/src/components/TextArea/index.ts +1 -1
  165. package/src/components/TextArea/types.ts +5 -5
  166. package/src/components/TextButton/TextButton.styles.ts +1 -0
  167. package/src/components/Tooltip/Tooltip.styles.ts +2 -0
  168. package/src/components/Tooltip/Tooltip.tsx +1 -1
  169. package/src/components/WithMessages/WithMessages.stories.tsx +1 -1
  170. package/src/components/WithPopup/WithPopup.tsx +36 -15
  171. package/src/constants/phone-info.ts +20 -33
  172. package/src/helpers/phone.ts +19 -15
  173. package/src/hooks/index.ts +7 -4
  174. package/src/hooks/use-intersection-ref.ts +30 -0
  175. package/src/hooks/use-latest-ref.ts +7 -0
  176. package/src/hooks/use-merge.ts +8 -0
  177. package/src/hooks/use-mixed-styles.ts +9 -11
  178. package/src/hooks/use-on-click-outside.ts +22 -14
  179. package/src/hooks/use-tweak-styles.ts +49 -27
  180. package/src/theme/Provider.tsx +10 -5
  181. package/src/theme/create-themed-styles.ts +78 -0
  182. package/src/theme/helpers.ts +39 -39
  183. package/src/theme/index.ts +2 -0
  184. package/src/theme/true-jss/ThemedStylesManager.ts +92 -0
  185. package/src/theme/true-jss/TweakStylesManager.ts +157 -0
  186. package/src/theme/true-jss/index.ts +2 -0
  187. package/src/theme/true-jss/jss-context.tsx +34 -0
  188. package/src/theme/types.ts +5 -3
  189. package/src/types.ts +17 -4
  190. package/dist/components/AccountInfo/AccountInfo.stories.d.ts +0 -6
  191. package/dist/components/AddButton/AddButton.stories.d.ts +0 -6
  192. package/dist/components/Button/Button.stories.d.ts +0 -6
  193. package/dist/components/Checkbox/Checkbox.stories.d.ts +0 -8
  194. package/dist/components/CloseButton/CloseButton.stories.d.ts +0 -5
  195. package/dist/components/Colors/Colors.stories.d.ts +0 -5
  196. package/dist/components/ControlWrapper/ControlWrapper.stories.d.ts +0 -6
  197. package/dist/components/DateInput/DateInput.stories.d.ts +0 -7
  198. package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -7
  199. package/dist/components/Description/Description.stories.d.ts +0 -16
  200. package/dist/components/FileInput/FileInput.stories.d.ts +0 -7
  201. package/dist/components/FileItem/FileItem.stories.d.ts +0 -8
  202. package/dist/components/FiltersPane/FiltersPane.stories.d.ts +0 -31
  203. package/dist/components/Flag/Flag.stories.d.ts +0 -12
  204. package/dist/components/FlexibleTable/FlexibleTable.stories.d.ts +0 -19
  205. package/dist/components/Icon/Icon.stories.d.ts +0 -6
  206. package/dist/components/IconButton/IconButton.stories.d.ts +0 -6
  207. package/dist/components/IncrementInput/IncrementInput.stories.d.ts +0 -6
  208. package/dist/components/Input/Input.stories.d.ts +0 -25
  209. package/dist/components/List/List.stories.d.ts +0 -5
  210. package/dist/components/Modal/Modal.stories.d.ts +0 -29
  211. package/dist/components/MoreMenu/MoreMenu.stories.d.ts +0 -6
  212. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +0 -13
  213. package/dist/components/NewMoreMenu/NewMoreMenu.stories.d.ts +0 -12
  214. package/dist/components/Notification/Notification.stories.d.ts +0 -8
  215. package/dist/components/NumberInput/NumberInput.stories.d.ts +0 -7
  216. package/dist/components/PhoneInput/PhoneInput.stories.d.ts +0 -28
  217. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.d.ts +0 -5
  218. package/dist/components/RadioButton/RadioButton.stories.d.ts +0 -7
  219. package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -6
  220. package/dist/components/Select/CustomSelect.stories.d.ts +0 -11
  221. package/dist/components/Select/MultiSelect.stories.d.ts +0 -15
  222. package/dist/components/Select/Select.stories.d.ts +0 -15
  223. package/dist/components/Selector/Selector.stories.d.ts +0 -7
  224. package/dist/components/Skeleton/Skeleton.stories.d.ts +0 -6
  225. package/dist/components/SmartInput/SmartInput.stories.d.ts +0 -18
  226. package/dist/components/Status/Status.stories.d.ts +0 -6
  227. package/dist/components/Switch/Switch.stories.d.ts +0 -16
  228. package/dist/components/TextArea/TextArea.stories.d.ts +0 -17
  229. package/dist/components/TextButton/TextButton.stories.d.ts +0 -6
  230. package/dist/components/TextWithInfo/TextWithInfo.stories.d.ts +0 -12
  231. package/dist/components/TextWithTooltip/TextWithTooltip.stories.d.ts +0 -24
  232. package/dist/components/ThemedPreloader/ThemedPreloader.stories.d.ts +0 -17
  233. package/dist/components/Toaster/Toaster.stories.d.ts +0 -5
  234. package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -5
  235. package/dist/components/WithMessages/WithMessages.stories.d.ts +0 -7
  236. package/dist/components/WithPopup/WithPopup.stories.d.ts +0 -16
  237. package/dist/components/WithTooltip/WithTooltip.stories.d.ts +0 -6
@@ -1,4 +1,4 @@
1
- import { ReactNode, SyntheticEvent } from 'react';
1
+ import { ReactNode, Ref, SyntheticEvent } from 'react';
2
2
  import { ICommonProps, IDropdownWithPopperOptions } from '../../types';
3
3
  import { IIcon } from '../Icon';
4
4
  import { IInputProps } from '../Input';
@@ -27,8 +27,10 @@ export interface ISelectProps<Value> extends Omit<IInputProps, 'value' | 'onChan
27
27
  shouldScrollToList?: boolean;
28
28
  isMultiSelect?: false;
29
29
  searchInput?: {
30
- shouldRenderInList: true;
31
- } & Pick<ISearchInputProps, 'placeholder'>;
30
+ /** @default false */
31
+ shouldRenderInList?: boolean;
32
+ ref?: Ref<HTMLInputElement>;
33
+ } & Pick<ISearchInputProps, 'placeholder' | 'shouldFocusOnMount'>;
32
34
  isOptionDisabled?: (option: Value) => boolean;
33
35
  onChange: (value: Value | undefined, event: IChangeSelectEvent) => void;
34
36
  onBlur?: (event: Event | SyntheticEvent) => void;
@@ -3,15 +3,15 @@ import { type IInputStyles } from '../Input';
3
3
  import { type ISearchInputStyles } from '../SearchInput';
4
4
  import { IWithMessagesStyles } from '../WithMessages';
5
5
  import { type ISelectListStyles } from './components';
6
- export declare const useStyles: import("../../theme").IUseStyles<"root" | "icon" | "disabled" | "inputWrapper" | "arrow" | "listWrapper" | "withoutPopper" | "listWrapperInBody" | "activeArrow" | "counter" | "iconWrapper", unknown>;
6
+ export declare const useStyles: import("../../theme").IUseStyles<"root" | "disabled" | "inputWrapper" | "arrow" | "listWrapper" | "withoutPopper" | "listWrapperInBody" | "activeArrow" | "counter", unknown>;
7
7
  export declare const readonlyInputStyles: Partial<import("jss").Styles<"input" | "withValue" | "inputContent" | "autoSizeWrapper" | "autoSized" | "withUnits" | "withLabel" | "fakeValue" | "units" | "focusedInput" | "disabledInput" | "invalidInput", unknown, undefined>> & Partial<{
8
8
  tweakControlWrapper: Partial<import("jss").Styles<"invalid" | "icon" | "disabled" | "loader" | "loading" | "label" | "requiredLabel" | "withValue" | "clearIcon" | "focused" | "wrapper" | "controlWrapper" | "minContent" | "activeLabel" | "disabledLabel" | "controls" | "iconInner" | "customIcon" | "endIcon" | "activeIcon" | "placement-top" | "placement-bottom" | "placement-top-left" | "placement-top-right" | "placement-bottom-left" | "placement-bottom-right" | "placement-left" | "placement-right" | "placement-middle", unknown, undefined>> & Partial<{
9
9
  tweakPreloader: Partial<import("jss").Styles<"root" | "default" | "currentColor" | "dots" | "logo", unknown, undefined>> & Partial<{
10
10
  tweakDotsPreloader: Partial<import("jss").Styles<"root" | "dot" | "fadedDot" | "@keyframes FadedDots", unknown, undefined>> & Partial<unknown>;
11
11
  tweakSvgPreloader: Partial<import("jss").Styles<"root", unknown, undefined>> & Partial<unknown>;
12
12
  }>;
13
- }>;
14
- tweakWithMessages: Partial<import("jss").Styles<"error" | "horizontal" | "vertical" | "children" | "info" | "withMessages" | "message", unknown, undefined>> & Partial<unknown>;
13
+ } & import("..").IControlWrapperSizes>;
14
+ tweakWithMessages: Partial<import("jss").Styles<"error" | "children" | "horizontal" | "vertical" | "info" | "withMessages" | "message", unknown, undefined>> & Partial<unknown>;
15
15
  }>;
16
16
  export declare const readonlyMultiSelectStyles: Partial<import("jss").Styles<"input" | "withValue" | "inputContent" | "autoSizeWrapper" | "autoSized" | "withUnits" | "withLabel" | "fakeValue" | "units" | "focusedInput" | "disabledInput" | "invalidInput", unknown, undefined>> & Partial<{
17
17
  tweakControlWrapper: Partial<import("jss").Styles<"invalid" | "icon" | "disabled" | "loader" | "loading" | "label" | "requiredLabel" | "withValue" | "clearIcon" | "focused" | "wrapper" | "controlWrapper" | "minContent" | "activeLabel" | "disabledLabel" | "controls" | "iconInner" | "customIcon" | "endIcon" | "activeIcon" | "placement-top" | "placement-bottom" | "placement-top-left" | "placement-top-right" | "placement-bottom-left" | "placement-bottom-right" | "placement-left" | "placement-right" | "placement-middle", unknown, undefined>> & Partial<{
@@ -19,8 +19,8 @@ export declare const readonlyMultiSelectStyles: Partial<import("jss").Styles<"in
19
19
  tweakDotsPreloader: Partial<import("jss").Styles<"root" | "dot" | "fadedDot" | "@keyframes FadedDots", unknown, undefined>> & Partial<unknown>;
20
20
  tweakSvgPreloader: Partial<import("jss").Styles<"root", unknown, undefined>> & Partial<unknown>;
21
21
  }>;
22
- }>;
23
- tweakWithMessages: Partial<import("jss").Styles<"error" | "horizontal" | "vertical" | "children" | "info" | "withMessages" | "message", unknown, undefined>> & Partial<unknown>;
22
+ } & import("..").IControlWrapperSizes>;
23
+ tweakWithMessages: Partial<import("jss").Styles<"error" | "children" | "horizontal" | "vertical" | "info" | "withMessages" | "message", unknown, undefined>> & Partial<unknown>;
24
24
  }>;
25
25
  export declare const getInputStyles: ({ hasReadonlyInput, isMultiSelect, }: {
26
26
  hasReadonlyInput: boolean;
@@ -1,6 +1,7 @@
1
1
  import { type ChangeEvent, type FC, type KeyboardEvent, type MouseEvent, type ReactNode } from 'react';
2
2
  import { type Classes } from 'jss';
3
- export interface ISelectListItemProps {
3
+ import { IDataAttributesProps } from '../../../../types';
4
+ export interface ISelectListItemProps extends IDataAttributesProps {
4
5
  index: number;
5
6
  isSemiChecked?: boolean;
6
7
  isDisabled?: boolean;
@@ -1,4 +1,4 @@
1
1
  export * from './Select';
2
2
  export * from './types';
3
3
  export type { ISelectStyles } from './Select.styles';
4
- export type { ISelectListStyles } from './components';
4
+ export { type ISelectListStyles, SelectList } from './components';
@@ -1,3 +1,4 @@
1
1
  import { ITweakStyles } from '../../theme';
2
- export declare const useStyles: import("../../theme").IUseStyles<"root" | "text" | "blue" | "green" | "grey" | "orange" | "red" | "teal" | "violet" | "icon" | "custom" | "s" | "m" | "iconLeft" | "badge" | "xs", unknown>;
3
- export type IStatusStyles = ITweakStyles<typeof useStyles>;
2
+ import { IStatusColors } from './types';
3
+ export declare const useStyles: import("../../theme").IUseStyles<"custom" | "root" | "text" | "icon" | "s" | "m" | "iconLeft" | "badge" | "xs", unknown>;
4
+ export type IStatusStyles = ITweakStyles<typeof useStyles, IStatusColors>;
@@ -1,2 +1 @@
1
- export declare const STATUS_COLORS: readonly ["green", "teal", "blue", "grey", "orange", "red", "violet", "custom"];
2
1
  export declare const STATUS_SIZES: readonly ["xs", "s", "m"];
@@ -1,2 +1,3 @@
1
1
  export * from './Status';
2
+ export * from './types';
2
3
  export type { IStatusStyles } from './Status.styles';
@@ -1,3 +1,6 @@
1
- import { STATUS_COLORS, STATUS_SIZES } from './constants';
2
- export type IStatusColor = (typeof STATUS_COLORS)[number];
1
+ import { IDefaultExtendableProps } from '../../types';
2
+ import type { STATUS_SIZES } from './constants';
3
3
  export type IStatusSize = (typeof STATUS_SIZES)[number];
4
+ export interface IStatusColors extends IDefaultExtendableProps {
5
+ }
6
+ export type IStatusColor = keyof IStatusColors;
@@ -1,14 +1,13 @@
1
- import { FormEvent } from 'react';
1
+ import { FormEvent, TextareaHTMLAttributes } from 'react';
2
2
  import { ICommonProps } from '../../types';
3
3
  import { IControlWrapperProps } from '../ControlWrapper';
4
4
  import { IWithMessagesProps } from '../WithMessages';
5
- import { ITextAreaHTMLBaseProps } from './types';
5
+ import { ITextAreaCounterPosition } from './types';
6
6
  import { ITextAreaStyles } from './TextArea.styles';
7
- export interface ITextAreaProps extends ICommonProps<ITextAreaStyles>, Pick<IControlWrapperProps, 'label' | 'isInvalid' | 'isRequired' | 'isDisabled'>, Pick<IWithMessagesProps, 'infoMessage' | 'errorMessage'>, Pick<ITextAreaHTMLBaseProps, 'name' | 'maxLength' | 'rows' | 'onPaste' | 'onFocus' | 'onBlur'> {
7
+ export interface ITextAreaProps extends ICommonProps<ITextAreaStyles>, Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'>, Pick<IControlWrapperProps, 'label' | 'isInvalid' | 'isRequired' | 'isDisabled' | 'size' | 'groupPlacement'>, Pick<IWithMessagesProps, 'infoMessage' | 'errorMessage'> {
8
8
  value?: string;
9
9
  placeholder?: string;
10
- /** @default false */
11
- isDisabled?: boolean;
10
+ counterPosition?: ITextAreaCounterPosition;
12
11
  /** @default false */
13
12
  isActive?: boolean;
14
13
  /**
@@ -1,9 +1,10 @@
1
1
  import { ITweakStyles } from '../../theme';
2
- import { IControlWrapperStyles } from '../ControlWrapper';
2
+ import { IWithPrefix } from '../../types';
3
+ import { IControlWrapperSizes, IControlWrapperStyles } from '../ControlWrapper';
3
4
  import { IWithMessagesStyles } from '../WithMessages';
4
- export declare const useStyles: import("../../theme").IUseStyles<"textarea" | "autoSized" | "wrapper" | "symbolsCount" | "symbolsCountError", unknown>;
5
- export declare const controlWrapperStyles: IControlWrapperStyles;
5
+ import { ITextAreaCounterPositions } from './types';
6
+ export declare const useStyles: import("../../theme").IUseStyles<"root" | "textarea" | "autoSized" | "withLabel" | "wrapper" | "symbolsCount" | "symbolsCountError" | "symbolsCountActive" | "counter-default", unknown>;
6
7
  export type ITextAreaStyles = ITweakStyles<typeof useStyles, {
7
8
  tweakWithMessages: IWithMessagesStyles;
8
9
  tweakControlWrapper: IControlWrapperStyles;
9
- }>;
10
+ } & IWithPrefix<ITextAreaCounterPositions, 'counter-'> & IControlWrapperSizes>;
@@ -1,3 +1,3 @@
1
1
  export * from './TextArea';
2
- export * from './types';
3
2
  export type { ITextAreaStyles } from './TextArea.styles';
3
+ export * from './types';
@@ -1,2 +1,4 @@
1
- import { TextareaHTMLAttributes } from 'react';
2
- export type ITextAreaHTMLBaseProps = Pick<TextareaHTMLAttributes<HTMLTextAreaElement>, 'placeholder' | 'name' | 'maxLength' | 'rows' | 'onPaste' | 'onFocus' | 'onBlur'>;
1
+ import { IExtendableProps } from '../../types';
2
+ export interface ITextAreaCounterPositions extends IExtendableProps<'default'> {
3
+ }
4
+ export type ITextAreaCounterPosition = keyof ITextAreaCounterPositions;
@@ -1,6 +1,6 @@
1
1
  import { ITweakStyles } from '../../theme';
2
2
  import { IThemedPreloaderStyles } from '../ThemedPreloader';
3
- export declare const useStyles: import("../../theme").IUseStyles<"content" | "bold" | "root" | "circle" | "icon" | "active" | "disabled" | "primary" | "secondary" | "custom" | "l" | "xl" | "loader" | "loading" | "iconContainer" | "reverseContent", unknown>;
3
+ export declare const useStyles: import("../../theme").IUseStyles<"content" | "custom" | "bold" | "root" | "circle" | "icon" | "active" | "disabled" | "primary" | "secondary" | "l" | "xl" | "loader" | "loading" | "iconContainer" | "reverseContent", unknown>;
4
4
  export declare const preloaderStyles: IThemedPreloaderStyles;
5
5
  export type ITextButtonStyles = ITweakStyles<typeof useStyles, {
6
6
  tweakPreloader: IThemedPreloaderStyles;
@@ -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,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { Placement, Middleware, OffsetOptions, UseHoverProps } from '@floating-ui/react';
2
+ import { Placement, Middleware, OffsetOptions, UseHoverProps, UseClickProps, UseFocusProps, UseDismissProps, UseTransitionStatusProps } from '@floating-ui/react';
3
3
  import { ICommonProps, IDataAttributes, IRenderNode } from '../../types';
4
4
  import { IPopupArrowProps, IPopupEventType, IWithPopupChildrenProps, IWithPopupToggleEvent, IWithPopupTriggerProps } from './types';
5
5
  import { IWithPopupStyles } from './WithPopup.styles';
@@ -11,8 +11,11 @@ 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
21
  arrowProps?: IPopupArrowProps;
@@ -35,6 +38,11 @@ export interface IWithPopupProps extends ICommonProps<IWithPopupStyles> {
35
38
  /** Должна ли минимальная ширина попапа быть равна ширине триггера
36
39
  * @default false */
37
40
  isMinWidthSameAsTrigger?: boolean;
41
+ hoverOptions?: UseHoverProps;
42
+ clickOptions?: UseClickProps;
43
+ focusOptions?: UseFocusProps;
44
+ dismissOptions?: UseDismissProps;
45
+ transitionOptions?: UseTransitionStatusProps;
38
46
  onToggle?: (isActive: boolean, event?: IWithPopupToggleEvent) => void;
39
47
  }
40
48
  export declare const WithPopup: FC<IWithPopupProps>;
@@ -1,7 +1,10 @@
1
+ export * from './use-did-mount-effect';
2
+ export * from './use-dropdown';
3
+ export * from './use-intersection-ref';
1
4
  export * from './use-is-mounted';
5
+ export * from './use-latest-ref';
6
+ export * from './use-merge';
7
+ export * from './use-merged-refs';
8
+ export * from './use-mixed-styles';
2
9
  export * from './use-on-click-outside';
3
- export * from './use-dropdown';
4
10
  export * from './use-tweak-styles';
5
- export * from './use-did-mount-effect';
6
- export * from './use-mixed-styles';
7
- export * from './use-merged-refs';
@@ -0,0 +1,8 @@
1
+ import { RefCallback } from 'react';
2
+ export interface IInsertionRefOptions {
3
+ /** @default false */
4
+ isDisabled?: boolean;
5
+ onIntersection?: VoidFunction;
6
+ onIntersectionEnd?: VoidFunction;
7
+ }
8
+ export declare const useIntersectionRef: (options?: IInsertionRefOptions) => RefCallback<Element>;
@@ -0,0 +1,2 @@
1
+ import { MutableRefObject } from 'react';
2
+ export declare const useLatestRef: <T>(value: T) => MutableRefObject<T>;
@@ -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,5 +1,5 @@
1
1
  import { RefObject } from 'react';
2
2
  export declare const checkElementParentsClassNames: (element: HTMLElement, className: string) => boolean;
3
3
  export declare const isElementOneOfParents: (element: HTMLElement, elToSearch: HTMLElement) => boolean;
4
- export declare function useOnClickOutsideWithRef<Elem extends HTMLElement, IgnoreElem extends HTMLElement>(ref: RefObject<Elem>, handler: (event: MouseEvent | TouchEvent) => void, ignoreRef?: RefObject<IgnoreElem>): void;
5
- export declare function useOnClickOutside<Elem extends HTMLElement, IgnoreElem extends HTMLElement>(ref: RefObject<Elem>, handler: (event: MouseEvent | TouchEvent) => void, ignoreClassName?: string, ignoreRef?: RefObject<IgnoreElem>): void;
4
+ export declare function useOnClickOutsideWithRef<Elem extends HTMLElement, IgnoreElem extends HTMLElement>(refOrGetter: RefObject<Elem | null> | (() => Elem | null | undefined) | undefined, handler: (event: MouseEvent | TouchEvent) => void, ignoreRef?: RefObject<IgnoreElem>): void;
5
+ export declare function useOnClickOutside<Elem extends HTMLElement, IgnoreElem extends HTMLElement>(refOrGetter: RefObject<Elem | null> | (() => Elem | null | undefined) | undefined, handler: (event: MouseEvent | TouchEvent) => void, ignoreClassName?: string, ignoreRef?: RefObject<IgnoreElem>): void;
@@ -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]>[];