@astral/ui 4.85.0 → 4.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/components/NotificationList/ListItem/useLogic/useLogic.js +1 -1
  2. package/components/PageHeader/HeaderContent/HeaderContent.d.ts +2 -2
  3. package/components/PageHeader/HeaderContent/HeaderContent.js +3 -3
  4. package/components/PageHeader/HeaderContent/styles.d.ts +4 -0
  5. package/components/PageHeader/HeaderContent/styles.js +11 -1
  6. package/components/PageHeader/PageHeader.js +2 -2
  7. package/components/PageHeader/styles.js +2 -2
  8. package/components/PageHeader/types.d.ts +10 -0
  9. package/components/createGlobalState/createGlobalState.d.ts +6 -0
  10. package/components/createGlobalState/createGlobalState.js +25 -0
  11. package/components/createGlobalState/index.d.ts +1 -0
  12. package/components/createGlobalState/index.js +1 -0
  13. package/components/createGlobalState/public.d.ts +1 -0
  14. package/components/createGlobalState/public.js +1 -0
  15. package/components/createGlobalState/utils/index.d.ts +1 -0
  16. package/components/createGlobalState/utils/index.js +1 -0
  17. package/components/createGlobalState/utils/resolveHookState/index.d.ts +1 -0
  18. package/components/createGlobalState/utils/resolveHookState/index.js +1 -0
  19. package/components/createGlobalState/utils/resolveHookState/resolveHookState.d.ts +4 -0
  20. package/components/createGlobalState/utils/resolveHookState/resolveHookState.js +8 -0
  21. package/components/createGlobalState/utils/types.d.ts +5 -0
  22. package/components/createGlobalState/utils/types.js +1 -0
  23. package/components/useDebounce/hooks/useTimeoutFn/index.d.ts +1 -0
  24. package/components/useDebounce/hooks/useTimeoutFn/index.js +1 -0
  25. package/components/useDebounce/hooks/useTimeoutFn/useTimeoutFn.d.ts +2 -0
  26. package/components/useDebounce/hooks/useTimeoutFn/useTimeoutFn.js +29 -0
  27. package/components/useDebounce/index.d.ts +1 -0
  28. package/components/useDebounce/index.js +1 -0
  29. package/components/useDebounce/public.d.ts +1 -0
  30. package/components/useDebounce/public.js +1 -0
  31. package/components/useDebounce/useDebounce.d.ts +6 -0
  32. package/components/useDebounce/useDebounce.js +10 -0
  33. package/components/useFirstMountState/index.d.ts +1 -1
  34. package/components/useFirstMountState/index.js +1 -1
  35. package/components/useFirstMountState/public.d.ts +1 -1
  36. package/components/useFirstMountState/public.js +1 -1
  37. package/components/useFirstMountState/useFirstMountState.d.ts +4 -1
  38. package/components/useFirstMountState/useFirstMountState.js +12 -1
  39. package/components/useIntersection/index.d.ts +1 -0
  40. package/components/useIntersection/index.js +1 -0
  41. package/components/useIntersection/public.d.ts +1 -0
  42. package/components/useIntersection/public.js +1 -0
  43. package/components/useIntersection/useIntersection.d.ts +5 -0
  44. package/components/useIntersection/useIntersection.js +22 -0
  45. package/components/useInterval/index.d.ts +1 -1
  46. package/components/useInterval/index.js +1 -1
  47. package/components/useInterval/public.d.ts +1 -1
  48. package/components/useInterval/public.js +1 -1
  49. package/components/useInterval/useInterval.d.ts +6 -1
  50. package/components/useInterval/useInterval.js +19 -1
  51. package/components/useIsomorphicLayoutEffect/index.d.ts +1 -0
  52. package/components/useIsomorphicLayoutEffect/index.js +1 -0
  53. package/components/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +2 -0
  54. package/components/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +5 -0
  55. package/components/useLocalStorage/index.d.ts +1 -1
  56. package/components/useLocalStorage/index.js +1 -1
  57. package/components/useLocalStorage/public.d.ts +1 -1
  58. package/components/useLocalStorage/public.js +1 -1
  59. package/components/useLocalStorage/useLocalStorage.d.ts +15 -1
  60. package/components/useLocalStorage/useLocalStorage.js +96 -1
  61. package/components/useMeasure/index.d.ts +1 -0
  62. package/components/useMeasure/index.js +1 -0
  63. package/components/useMeasure/public.d.ts +1 -0
  64. package/components/useMeasure/public.js +1 -0
  65. package/components/useMeasure/useMeasure.d.ts +13 -0
  66. package/components/useMeasure/useMeasure.js +42 -0
  67. package/components/useNewToggle/index.d.ts +1 -0
  68. package/components/useNewToggle/index.js +1 -0
  69. package/components/useNewToggle/public.d.ts +1 -0
  70. package/components/useNewToggle/public.js +1 -0
  71. package/components/useNewToggle/useNewToggle.d.ts +4 -0
  72. package/components/useNewToggle/useNewToggle.js +8 -0
  73. package/components/useRafState/hooks/useUnmount/index.d.ts +1 -0
  74. package/components/useRafState/hooks/useUnmount/index.js +1 -0
  75. package/components/useRafState/hooks/useUnmount/useUnmount.d.ts +1 -0
  76. package/components/useRafState/hooks/useUnmount/useUnmount.js +7 -0
  77. package/components/useRafState/index.d.ts +1 -0
  78. package/components/useRafState/index.js +1 -0
  79. package/components/useRafState/useRafState.d.ts +2 -0
  80. package/components/useRafState/useRafState.js +16 -0
  81. package/components/useScroll/index.d.ts +1 -0
  82. package/components/useScroll/index.js +1 -0
  83. package/components/useScroll/public.d.ts +1 -0
  84. package/components/useScroll/public.js +1 -0
  85. package/components/useScroll/useScroll.d.ts +9 -0
  86. package/components/useScroll/useScroll.js +39 -0
  87. package/components/useSet/index.d.ts +1 -1
  88. package/components/useSet/index.js +1 -1
  89. package/components/useSet/public.d.ts +1 -1
  90. package/components/useSet/public.js +1 -1
  91. package/components/useSet/useSet.d.ts +14 -1
  92. package/components/useSet/useSet.js +26 -1
  93. package/components/useSize/index.d.ts +1 -0
  94. package/components/useSize/index.js +1 -0
  95. package/components/useSize/public.d.ts +1 -0
  96. package/components/useSize/public.js +1 -0
  97. package/components/useSize/useSize.d.ts +17 -0
  98. package/components/useSize/useSize.js +79 -0
  99. package/components/useToggle/useToggle.d.ts +1 -0
  100. package/components/useToggle/useToggle.js +1 -0
  101. package/components/useUpdateEffect/index.d.ts +1 -1
  102. package/components/useUpdateEffect/index.js +1 -1
  103. package/components/useUpdateEffect/public.d.ts +1 -1
  104. package/components/useUpdateEffect/public.js +1 -1
  105. package/components/useUpdateEffect/useUpdateEffect.d.ts +5 -1
  106. package/components/useUpdateEffect/useUpdateEffect.js +13 -1
  107. package/components/useWindowScroll/index.d.ts +1 -0
  108. package/components/useWindowScroll/index.js +1 -0
  109. package/components/useWindowScroll/public.d.ts +1 -0
  110. package/components/useWindowScroll/public.js +1 -0
  111. package/components/useWindowScroll/useWindowScroll.d.ts +8 -0
  112. package/components/useWindowScroll/useWindowScroll.js +40 -0
  113. package/components/utils/addEventListenerSafe/addEventListenerSafe.d.ts +1 -0
  114. package/components/utils/addEventListenerSafe/addEventListenerSafe.js +5 -0
  115. package/components/utils/addEventListenerSafe/index.d.ts +1 -0
  116. package/components/utils/addEventListenerSafe/index.js +1 -0
  117. package/components/utils/isBrowser/index.d.ts +1 -0
  118. package/components/utils/isBrowser/index.js +1 -0
  119. package/components/utils/isBrowser/isBrowser.d.ts +1 -0
  120. package/components/utils/isBrowser/isBrowser.js +1 -0
  121. package/components/utils/removeEventListenerSafe/index.d.ts +1 -0
  122. package/components/utils/removeEventListenerSafe/index.js +1 -0
  123. package/components/utils/removeEventListenerSafe/removeEventListenerSafe.d.ts +1 -0
  124. package/components/utils/removeEventListenerSafe/removeEventListenerSafe.js +5 -0
  125. package/components/utils/replaceRaf/constants.d.ts +1 -0
  126. package/components/utils/replaceRaf/constants.js +1 -0
  127. package/components/utils/replaceRaf/index.d.ts +1 -0
  128. package/components/utils/replaceRaf/index.js +1 -0
  129. package/components/utils/replaceRaf/replaceRaf.d.ts +18 -0
  130. package/components/utils/replaceRaf/replaceRaf.js +81 -0
  131. package/hook-form/FormPageLayoutBase/useLogic/useLogic.d.ts +1 -0
  132. package/node/components/NotificationList/ListItem/useLogic/useLogic.js +2 -2
  133. package/node/components/PageHeader/HeaderContent/HeaderContent.d.ts +2 -2
  134. package/node/components/PageHeader/HeaderContent/HeaderContent.js +2 -2
  135. package/node/components/PageHeader/HeaderContent/styles.d.ts +4 -0
  136. package/node/components/PageHeader/HeaderContent/styles.js +12 -2
  137. package/node/components/PageHeader/PageHeader.js +2 -2
  138. package/node/components/PageHeader/styles.js +2 -2
  139. package/node/components/PageHeader/types.d.ts +10 -0
  140. package/node/components/createGlobalState/createGlobalState.d.ts +6 -0
  141. package/node/components/createGlobalState/createGlobalState.js +29 -0
  142. package/node/components/createGlobalState/index.d.ts +1 -0
  143. package/node/components/createGlobalState/index.js +17 -0
  144. package/node/components/createGlobalState/public.d.ts +1 -0
  145. package/node/components/createGlobalState/public.js +17 -0
  146. package/node/components/createGlobalState/utils/index.d.ts +1 -0
  147. package/node/components/createGlobalState/utils/index.js +17 -0
  148. package/node/components/createGlobalState/utils/resolveHookState/index.d.ts +1 -0
  149. package/node/components/createGlobalState/utils/resolveHookState/index.js +17 -0
  150. package/node/components/createGlobalState/utils/resolveHookState/resolveHookState.d.ts +4 -0
  151. package/node/components/createGlobalState/utils/resolveHookState/resolveHookState.js +12 -0
  152. package/node/components/createGlobalState/utils/types.d.ts +5 -0
  153. package/node/components/createGlobalState/utils/types.js +2 -0
  154. package/node/components/useDebounce/hooks/useTimeoutFn/index.d.ts +1 -0
  155. package/node/components/useDebounce/hooks/useTimeoutFn/index.js +17 -0
  156. package/node/components/useDebounce/hooks/useTimeoutFn/useTimeoutFn.d.ts +2 -0
  157. package/node/components/useDebounce/hooks/useTimeoutFn/useTimeoutFn.js +33 -0
  158. package/node/components/useDebounce/index.d.ts +1 -0
  159. package/node/components/useDebounce/index.js +17 -0
  160. package/node/components/useDebounce/public.d.ts +1 -0
  161. package/node/components/useDebounce/public.js +17 -0
  162. package/node/components/useDebounce/useDebounce.d.ts +6 -0
  163. package/node/components/useDebounce/useDebounce.js +14 -0
  164. package/node/components/useFirstMountState/index.d.ts +1 -1
  165. package/node/components/useFirstMountState/index.js +15 -3
  166. package/node/components/useFirstMountState/public.d.ts +1 -1
  167. package/node/components/useFirstMountState/public.js +15 -3
  168. package/node/components/useFirstMountState/useFirstMountState.d.ts +4 -1
  169. package/node/components/useFirstMountState/useFirstMountState.js +13 -2
  170. package/node/components/useIntersection/index.d.ts +1 -0
  171. package/node/components/useIntersection/index.js +17 -0
  172. package/node/components/useIntersection/public.d.ts +1 -0
  173. package/node/components/useIntersection/public.js +17 -0
  174. package/node/components/useIntersection/useIntersection.d.ts +5 -0
  175. package/node/components/useIntersection/useIntersection.js +26 -0
  176. package/node/components/useInterval/index.d.ts +1 -1
  177. package/node/components/useInterval/index.js +15 -3
  178. package/node/components/useInterval/public.d.ts +1 -1
  179. package/node/components/useInterval/public.js +15 -3
  180. package/node/components/useInterval/useInterval.d.ts +6 -1
  181. package/node/components/useInterval/useInterval.js +20 -2
  182. package/node/components/useIsomorphicLayoutEffect/index.d.ts +1 -0
  183. package/node/components/useIsomorphicLayoutEffect/index.js +17 -0
  184. package/node/components/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +2 -0
  185. package/node/components/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +8 -0
  186. package/node/components/useLocalStorage/index.d.ts +1 -1
  187. package/node/components/useLocalStorage/index.js +5 -14
  188. package/node/components/useLocalStorage/public.d.ts +1 -1
  189. package/node/components/useLocalStorage/public.js +5 -14
  190. package/node/components/useLocalStorage/useLocalStorage.d.ts +15 -1
  191. package/node/components/useLocalStorage/useLocalStorage.js +97 -2
  192. package/node/components/useMeasure/index.d.ts +1 -0
  193. package/node/components/useMeasure/index.js +8 -0
  194. package/node/components/useMeasure/public.d.ts +1 -0
  195. package/node/components/useMeasure/public.js +8 -0
  196. package/node/components/useMeasure/useMeasure.d.ts +13 -0
  197. package/node/components/useMeasure/useMeasure.js +44 -0
  198. package/node/components/useNewToggle/index.d.ts +1 -0
  199. package/node/components/useNewToggle/index.js +17 -0
  200. package/node/components/useNewToggle/public.d.ts +1 -0
  201. package/node/components/useNewToggle/public.js +17 -0
  202. package/node/components/useNewToggle/useNewToggle.d.ts +4 -0
  203. package/node/components/useNewToggle/useNewToggle.js +12 -0
  204. package/node/components/useRafState/hooks/useUnmount/index.d.ts +1 -0
  205. package/node/components/useRafState/hooks/useUnmount/index.js +17 -0
  206. package/node/components/useRafState/hooks/useUnmount/useUnmount.d.ts +1 -0
  207. package/node/components/useRafState/hooks/useUnmount/useUnmount.js +11 -0
  208. package/node/components/useRafState/index.d.ts +1 -0
  209. package/node/components/useRafState/index.js +17 -0
  210. package/node/components/useRafState/useRafState.d.ts +2 -0
  211. package/node/components/useRafState/useRafState.js +20 -0
  212. package/node/components/useScroll/index.d.ts +1 -0
  213. package/node/components/useScroll/index.js +17 -0
  214. package/node/components/useScroll/public.d.ts +1 -0
  215. package/node/components/useScroll/public.js +17 -0
  216. package/node/components/useScroll/useScroll.d.ts +9 -0
  217. package/node/components/useScroll/useScroll.js +43 -0
  218. package/node/components/useSet/index.d.ts +1 -1
  219. package/node/components/useSet/index.js +15 -3
  220. package/node/components/useSet/public.d.ts +1 -1
  221. package/node/components/useSet/public.js +15 -3
  222. package/node/components/useSet/useSet.d.ts +14 -1
  223. package/node/components/useSet/useSet.js +27 -2
  224. package/node/components/useSize/index.d.ts +1 -0
  225. package/node/components/useSize/index.js +8 -0
  226. package/node/components/useSize/public.d.ts +1 -0
  227. package/node/components/useSize/public.js +8 -0
  228. package/node/components/useSize/useSize.d.ts +17 -0
  229. package/node/components/useSize/useSize.js +106 -0
  230. package/node/components/useToggle/useToggle.d.ts +1 -0
  231. package/node/components/useToggle/useToggle.js +1 -0
  232. package/node/components/useUpdateEffect/index.d.ts +1 -1
  233. package/node/components/useUpdateEffect/index.js +15 -3
  234. package/node/components/useUpdateEffect/public.d.ts +1 -1
  235. package/node/components/useUpdateEffect/public.js +15 -3
  236. package/node/components/useUpdateEffect/useUpdateEffect.d.ts +5 -1
  237. package/node/components/useUpdateEffect/useUpdateEffect.js +14 -2
  238. package/node/components/useWindowScroll/index.d.ts +1 -0
  239. package/node/components/useWindowScroll/index.js +17 -0
  240. package/node/components/useWindowScroll/public.d.ts +1 -0
  241. package/node/components/useWindowScroll/public.js +17 -0
  242. package/node/components/useWindowScroll/useWindowScroll.d.ts +8 -0
  243. package/node/components/useWindowScroll/useWindowScroll.js +44 -0
  244. package/node/components/utils/addEventListenerSafe/addEventListenerSafe.d.ts +1 -0
  245. package/node/components/utils/addEventListenerSafe/addEventListenerSafe.js +9 -0
  246. package/node/components/utils/addEventListenerSafe/index.d.ts +1 -0
  247. package/node/components/utils/addEventListenerSafe/index.js +17 -0
  248. package/node/components/utils/isBrowser/index.d.ts +1 -0
  249. package/node/components/utils/isBrowser/index.js +17 -0
  250. package/node/components/utils/isBrowser/isBrowser.d.ts +1 -0
  251. package/node/components/utils/isBrowser/isBrowser.js +4 -0
  252. package/node/components/utils/removeEventListenerSafe/index.d.ts +1 -0
  253. package/node/components/utils/removeEventListenerSafe/index.js +17 -0
  254. package/node/components/utils/removeEventListenerSafe/removeEventListenerSafe.d.ts +1 -0
  255. package/node/components/utils/removeEventListenerSafe/removeEventListenerSafe.js +9 -0
  256. package/node/components/utils/replaceRaf/constants.d.ts +1 -0
  257. package/node/components/utils/replaceRaf/constants.js +4 -0
  258. package/node/components/utils/replaceRaf/index.d.ts +1 -0
  259. package/node/components/utils/replaceRaf/index.js +17 -0
  260. package/node/components/utils/replaceRaf/replaceRaf.d.ts +18 -0
  261. package/node/components/utils/replaceRaf/replaceRaf.js +86 -0
  262. package/node/hook-form/FormPageLayoutBase/useLogic/useLogic.d.ts +1 -0
  263. package/package.json +1 -2
@@ -0,0 +1,9 @@
1
+ import { type RefObject } from 'react';
2
+ export interface IState {
3
+ x: number;
4
+ y: number;
5
+ }
6
+ /**
7
+ * Хук отслеживает позицию скролла внутри HTML-элемента, на который передан ref.
8
+ */
9
+ export declare const useScroll: (ref: RefObject<HTMLElement | null>) => IState;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useScroll = void 0;
4
+ const react_1 = require("react");
5
+ const useRafState_1 = require("../useRafState");
6
+ const addEventListenerSafe_1 = require("../utils/addEventListenerSafe");
7
+ const removeEventListenerSafe_1 = require("../utils/removeEventListenerSafe");
8
+ /**
9
+ * Хук отслеживает позицию скролла внутри HTML-элемента, на который передан ref.
10
+ */
11
+ const useScroll = (ref) => {
12
+ if (process.env.NODE_ENV === 'development' &&
13
+ (typeof ref !== 'object' || typeof ref.current === 'undefined')) {
14
+ throw new Error('`useScroll` expects a single ref argument.');
15
+ }
16
+ const [state, setState] = (0, useRafState_1.useRafState)({
17
+ x: 0,
18
+ y: 0,
19
+ });
20
+ (0, react_1.useEffect)(() => {
21
+ const handler = () => {
22
+ if (ref.current) {
23
+ setState({
24
+ x: ref.current.scrollLeft,
25
+ y: ref.current.scrollTop,
26
+ });
27
+ }
28
+ };
29
+ if (ref.current) {
30
+ (0, addEventListenerSafe_1.addEventListenerSafe)(ref.current, 'scroll', handler, {
31
+ capture: false,
32
+ passive: true,
33
+ });
34
+ }
35
+ return () => {
36
+ if (ref.current) {
37
+ (0, removeEventListenerSafe_1.removeEventListenerSafe)(ref.current, 'scroll', handler);
38
+ }
39
+ };
40
+ }, [ref]);
41
+ return state;
42
+ };
43
+ exports.useScroll = useScroll;
@@ -1 +1 @@
1
- export { useSet } from './useSet';
1
+ export * from './useSet';
@@ -1,5 +1,17 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useSet = void 0;
4
- var useSet_1 = require("./useSet");
5
- Object.defineProperty(exports, "useSet", { enumerable: true, get: function () { return useSet_1.useSet; } });
17
+ __exportStar(require("./useSet"), exports);
@@ -1 +1 @@
1
- export { useSet } from './useSet';
1
+ export * from './useSet';
@@ -1,5 +1,17 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useSet = void 0;
4
- var useSet_1 = require("./useSet");
5
- Object.defineProperty(exports, "useSet", { enumerable: true, get: function () { return useSet_1.useSet; } });
17
+ __exportStar(require("./useSet"), exports);
@@ -1 +1,14 @@
1
- export { useSet } from 'react-use';
1
+ export interface IStableActions<TKey> {
2
+ add: (key: TKey) => void;
3
+ remove: (key: TKey) => void;
4
+ toggle: (key: TKey) => void;
5
+ reset: () => void;
6
+ clear: () => void;
7
+ }
8
+ export interface IActions<TKey> extends IStableActions<TKey> {
9
+ has: (key: TKey) => boolean;
10
+ }
11
+ /**
12
+ * Хук отслеживает состояние Set и предоставляет методы для его изменения.
13
+ */
14
+ export declare const useSet: <TKey>(initialSet?: Set<TKey>) => [Set<TKey>, IActions<TKey>];
@@ -1,5 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useSet = void 0;
4
- var react_use_1 = require("react-use");
5
- Object.defineProperty(exports, "useSet", { enumerable: true, get: function () { return react_use_1.useSet; } });
4
+ const react_1 = require("react");
5
+ /**
6
+ * Хук отслеживает состояние Set и предоставляет методы для его изменения.
7
+ */
8
+ const useSet = (initialSet = new Set()) => {
9
+ const [set, setSet] = (0, react_1.useState)(initialSet);
10
+ const stableActions = (0, react_1.useMemo)(() => {
11
+ const add = (item) => setSet((prevSet) => new Set([...Array.from(prevSet), item]));
12
+ const remove = (item) => setSet((prevSet) => new Set(Array.from(prevSet).filter((i) => i !== item)));
13
+ const toggle = (item) => setSet((prevSet) => prevSet.has(item)
14
+ ? new Set(Array.from(prevSet).filter((i) => i !== item))
15
+ : new Set([...Array.from(prevSet), item]));
16
+ return {
17
+ add,
18
+ remove,
19
+ toggle,
20
+ reset: () => setSet(initialSet),
21
+ clear: () => setSet(new Set()),
22
+ };
23
+ }, [setSet]);
24
+ const utils = {
25
+ has: (0, react_1.useCallback)((item) => set.has(item), [set]),
26
+ ...stableActions,
27
+ };
28
+ return [set, utils];
29
+ };
30
+ exports.useSet = useSet;
@@ -0,0 +1 @@
1
+ export { default as useSize } from './useSize';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useSize = void 0;
7
+ var useSize_1 = require("./useSize");
8
+ Object.defineProperty(exports, "useSize", { enumerable: true, get: function () { return __importDefault(useSize_1).default; } });
@@ -0,0 +1 @@
1
+ export { default as useSize } from './useSize';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useSize = void 0;
7
+ var useSize_1 = require("./useSize");
8
+ Object.defineProperty(exports, "useSize", { enumerable: true, get: function () { return __importDefault(useSize_1).default; } });
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ type ElementProps = {
3
+ style?: React.CSSProperties;
4
+ children?: React.ReactNode;
5
+ };
6
+ export type Element = ((state: IState) => React.ReactElement<ElementProps>) | React.ReactElement<ElementProps>;
7
+ export interface IState {
8
+ width: number;
9
+ height: number;
10
+ }
11
+ /**
12
+ * Хук отслеживает размеры HTML-элемента.
13
+ * Создает iframe, который растягивается на весь размер элемента и слушает событие resize.
14
+ */
15
+ export declare const useSize: (element: Element, { width, height }?: Partial<IState>) => [React.ReactElement<ElementProps>, IState];
16
+ declare const useSizeExport: (element: Element, { width, height }?: Partial<IState>) => [React.ReactElement<ElementProps>, IState];
17
+ export default useSizeExport;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.useSize = void 0;
27
+ const React = __importStar(require("react"));
28
+ const addEventListenerSafe_1 = require("../utils/addEventListenerSafe");
29
+ const isBrowser_1 = require("../utils/isBrowser");
30
+ const removeEventListenerSafe_1 = require("../utils/removeEventListenerSafe");
31
+ const { useState, useEffect, useRef } = React;
32
+ const defer = (callback) => setTimeout(callback, 35);
33
+ /**
34
+ * Хук отслеживает размеры HTML-элемента.
35
+ * Создает iframe, который растягивается на весь размер элемента и слушает событие resize.
36
+ */
37
+ const useSize = (element, { width = Infinity, height = Infinity } = {}) => {
38
+ const [state, setState] = useState({ width, height });
39
+ const elementNode = typeof element === 'function' ? element(state) : element;
40
+ const style = elementNode.props.style || {};
41
+ const ref = useRef(null);
42
+ let window = null;
43
+ const setSize = () => {
44
+ const iframe = ref.current;
45
+ const size = iframe
46
+ ? {
47
+ width: iframe.offsetWidth,
48
+ height: iframe.offsetHeight,
49
+ }
50
+ : { width, height };
51
+ setState(size);
52
+ };
53
+ const onWindow = (windowToListenOn) => {
54
+ (0, addEventListenerSafe_1.addEventListenerSafe)(windowToListenOn, 'resize', setSize);
55
+ defer(setSize);
56
+ };
57
+ useEffect(() => {
58
+ const iframe = ref.current;
59
+ if (!iframe) {
60
+ // iframe will be undefined if component is already unmounted
61
+ return;
62
+ }
63
+ if (iframe.contentWindow) {
64
+ window = iframe.contentWindow;
65
+ onWindow(window);
66
+ }
67
+ else {
68
+ const onLoad = () => {
69
+ (0, addEventListenerSafe_1.addEventListenerSafe)(iframe, 'load', onLoad);
70
+ window = iframe.contentWindow;
71
+ onWindow(window);
72
+ };
73
+ (0, removeEventListenerSafe_1.removeEventListenerSafe)(iframe, 'load', onLoad);
74
+ }
75
+ return () => {
76
+ if (window) {
77
+ (0, removeEventListenerSafe_1.removeEventListenerSafe)(window, 'resize', setSize);
78
+ }
79
+ };
80
+ }, []);
81
+ style.position = 'relative';
82
+ const sized = React.cloneElement(elementNode, { style }, ...[
83
+ React.createElement('iframe', {
84
+ ref,
85
+ style: {
86
+ background: 'transparent',
87
+ border: 'none',
88
+ height: '100%',
89
+ left: 0,
90
+ position: 'absolute',
91
+ top: 0,
92
+ width: '100%',
93
+ zIndex: -1,
94
+ },
95
+ }),
96
+ ...React.Children.toArray(elementNode.props.children),
97
+ ]);
98
+ return [sized, state];
99
+ };
100
+ exports.useSize = useSize;
101
+ const useSizeFallback = ((element, { width = Infinity, height = Infinity } = {}) => [
102
+ typeof element === 'function' ? element({ width, height }) : element,
103
+ { width, height },
104
+ ]);
105
+ const useSizeExport = isBrowser_1.isBrowser ? exports.useSize : useSizeFallback;
106
+ exports.default = useSizeExport;
@@ -37,6 +37,7 @@ type UseToggleOptions<TCloseArgs extends Arguments, TOpenArgs extends Arguments>
37
37
  onInactive?: CloseHandler<TCloseArgs>;
38
38
  };
39
39
  /**
40
+ * @deprecated
40
41
  * хук хранящий стейт активности, и предоставляющий методы переключения с проксируемыми аргументами, позволяет уменьшить бойлерплейт код
41
42
  */
42
43
  export declare const useToggle: <TCloseArgs extends Arguments, TOpenArgs extends Arguments>(params?: UseToggleOptions<TCloseArgs, TOpenArgs> | undefined) => UseToggleResultTuple<TCloseArgs, TOpenArgs>;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useToggle = void 0;
4
4
  const react_1 = require("react");
5
5
  /**
6
+ * @deprecated
6
7
  * хук хранящий стейт активности, и предоставляющий методы переключения с проксируемыми аргументами, позволяет уменьшить бойлерплейт код
7
8
  */
8
9
  const useToggle = (params) => {
@@ -1 +1 @@
1
- export { useUpdateEffect } from './useUpdateEffect';
1
+ export * from './useUpdateEffect';
@@ -1,5 +1,17 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useUpdateEffect = void 0;
4
- var useUpdateEffect_1 = require("./useUpdateEffect");
5
- Object.defineProperty(exports, "useUpdateEffect", { enumerable: true, get: function () { return useUpdateEffect_1.useUpdateEffect; } });
17
+ __exportStar(require("./useUpdateEffect"), exports);
@@ -1 +1 @@
1
- export { useUpdateEffect } from './useUpdateEffect';
1
+ export * from './useUpdateEffect';
@@ -1,5 +1,17 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useUpdateEffect = void 0;
4
- var useUpdateEffect_1 = require("./useUpdateEffect");
5
- Object.defineProperty(exports, "useUpdateEffect", { enumerable: true, get: function () { return useUpdateEffect_1.useUpdateEffect; } });
17
+ __exportStar(require("./useUpdateEffect"), exports);
@@ -1 +1,5 @@
1
- export { useUpdateEffect } from 'react-use';
1
+ import { useEffect } from 'react';
2
+ /**
3
+ * Хук, который выполняет эффект только после первого монтирования компонента.
4
+ */
5
+ export declare const useUpdateEffect: typeof useEffect;
@@ -1,5 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useUpdateEffect = void 0;
4
- var react_use_1 = require("react-use");
5
- Object.defineProperty(exports, "useUpdateEffect", { enumerable: true, get: function () { return react_use_1.useUpdateEffect; } });
4
+ const react_1 = require("react");
5
+ const useFirstMountState_1 = require("../useFirstMountState");
6
+ /**
7
+ * Хук, который выполняет эффект только после первого монтирования компонента.
8
+ */
9
+ const useUpdateEffect = (effect, deps) => {
10
+ const isFirstMount = (0, useFirstMountState_1.useFirstMountState)();
11
+ (0, react_1.useEffect)(() => {
12
+ if (!isFirstMount) {
13
+ return effect();
14
+ }
15
+ }, deps);
16
+ };
17
+ exports.useUpdateEffect = useUpdateEffect;
@@ -0,0 +1 @@
1
+ export * from './useWindowScroll';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useWindowScroll"), exports);
@@ -0,0 +1 @@
1
+ export * from './useWindowScroll';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useWindowScroll"), exports);
@@ -0,0 +1,8 @@
1
+ export interface IState {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ /**
6
+ * Хук отслеживает позицию скролла в окне браузера.
7
+ */
8
+ export declare const useWindowScroll: () => IState;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useWindowScroll = void 0;
4
+ const react_1 = require("react");
5
+ const useRafState_1 = require("../useRafState");
6
+ const addEventListenerSafe_1 = require("../utils/addEventListenerSafe");
7
+ const isBrowser_1 = require("../utils/isBrowser");
8
+ const removeEventListenerSafe_1 = require("../utils/removeEventListenerSafe");
9
+ /**
10
+ * Хук отслеживает позицию скролла в окне браузера.
11
+ */
12
+ const useWindowScroll = () => {
13
+ const [state, setState] = (0, useRafState_1.useRafState)(() => ({
14
+ x: isBrowser_1.isBrowser ? window.pageXOffset : 0,
15
+ y: isBrowser_1.isBrowser ? window.pageYOffset : 0,
16
+ }));
17
+ (0, react_1.useEffect)(() => {
18
+ const handler = () => {
19
+ setState((newState) => {
20
+ const { pageXOffset, pageYOffset } = window;
21
+ //Check state for change, return same state if no change happened to prevent rerender
22
+ //(see useState/setState documentation). useState/setState is used internally in useRafState/setState.
23
+ return newState.x !== pageXOffset || newState.y !== pageYOffset
24
+ ? {
25
+ x: pageXOffset,
26
+ y: pageYOffset,
27
+ }
28
+ : newState;
29
+ });
30
+ };
31
+ //We have to update window scroll at mount, before subscription.
32
+ //Window scroll may be changed between render and effect handler.
33
+ handler();
34
+ (0, addEventListenerSafe_1.addEventListenerSafe)(window, 'scroll', handler, {
35
+ capture: false,
36
+ passive: true,
37
+ });
38
+ return () => {
39
+ (0, removeEventListenerSafe_1.removeEventListenerSafe)(window, 'scroll', handler);
40
+ };
41
+ }, []);
42
+ return state;
43
+ };
44
+ exports.useWindowScroll = useWindowScroll;
@@ -0,0 +1 @@
1
+ export declare function addEventListenerSafe<T extends Window | Document | HTMLElement | EventTarget>(obj: T | null, ...args: Parameters<T['addEventListener']>): void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addEventListenerSafe = void 0;
4
+ function addEventListenerSafe(obj, ...args) {
5
+ if (obj?.addEventListener) {
6
+ obj.addEventListener(...args);
7
+ }
8
+ }
9
+ exports.addEventListenerSafe = addEventListenerSafe;
@@ -0,0 +1 @@
1
+ export * from './addEventListenerSafe';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./addEventListenerSafe"), exports);
@@ -0,0 +1 @@
1
+ export * from './isBrowser';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./isBrowser"), exports);
@@ -0,0 +1 @@
1
+ export declare const isBrowser: boolean;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBrowser = void 0;
4
+ exports.isBrowser = typeof window !== 'undefined';
@@ -0,0 +1 @@
1
+ export * from './removeEventListenerSafe';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./removeEventListenerSafe"), exports);
@@ -0,0 +1 @@
1
+ export declare function removeEventListenerSafe<T extends Window | Document | HTMLElement | EventTarget>(obj: T | null, ...args: Parameters<T['removeEventListener']>): void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeEventListenerSafe = void 0;
4
+ function removeEventListenerSafe(obj, ...args) {
5
+ if (obj?.removeEventListener) {
6
+ obj.removeEventListener(...args);
7
+ }
8
+ }
9
+ exports.removeEventListenerSafe = removeEventListenerSafe;
@@ -0,0 +1 @@
1
+ export declare const defaultFrameDuration: number;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultFrameDuration = void 0;
4
+ exports.defaultFrameDuration = 1000 / 60;
@@ -0,0 +1 @@
1
+ export * from './replaceRaf';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./replaceRaf"), exports);