@astral/ui 4.86.0 → 4.87.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/components/NotificationList/ListItem/useLogic/useLogic.js +1 -1
  2. package/components/Select/Select.js +1 -1
  3. package/components/Select/useLogic/useLogic.d.ts +1 -1
  4. package/components/TagsList/types.d.ts +2 -2
  5. package/components/TagsList/useLogic/useLogic.js +16 -10
  6. package/components/TagsList/utils/getKey/getKey.js +4 -4
  7. package/components/createGlobalState/createGlobalState.d.ts +6 -0
  8. package/components/createGlobalState/createGlobalState.js +25 -0
  9. package/components/createGlobalState/index.d.ts +1 -0
  10. package/components/createGlobalState/index.js +1 -0
  11. package/components/createGlobalState/public.d.ts +1 -0
  12. package/components/createGlobalState/public.js +1 -0
  13. package/components/createGlobalState/utils/index.d.ts +1 -0
  14. package/components/createGlobalState/utils/index.js +1 -0
  15. package/components/createGlobalState/utils/resolveHookState/index.d.ts +1 -0
  16. package/components/createGlobalState/utils/resolveHookState/index.js +1 -0
  17. package/components/createGlobalState/utils/resolveHookState/resolveHookState.d.ts +4 -0
  18. package/components/createGlobalState/utils/resolveHookState/resolveHookState.js +8 -0
  19. package/components/createGlobalState/utils/types.d.ts +5 -0
  20. package/components/createGlobalState/utils/types.js +1 -0
  21. package/components/useDebounce/hooks/useTimeoutFn/index.d.ts +1 -0
  22. package/components/useDebounce/hooks/useTimeoutFn/index.js +1 -0
  23. package/components/useDebounce/hooks/useTimeoutFn/useTimeoutFn.d.ts +2 -0
  24. package/components/useDebounce/hooks/useTimeoutFn/useTimeoutFn.js +29 -0
  25. package/components/useDebounce/index.d.ts +1 -0
  26. package/components/useDebounce/index.js +1 -0
  27. package/components/useDebounce/public.d.ts +1 -0
  28. package/components/useDebounce/public.js +1 -0
  29. package/components/useDebounce/useDebounce.d.ts +6 -0
  30. package/components/useDebounce/useDebounce.js +10 -0
  31. package/components/useFirstMountState/index.d.ts +1 -1
  32. package/components/useFirstMountState/index.js +1 -1
  33. package/components/useFirstMountState/public.d.ts +1 -1
  34. package/components/useFirstMountState/public.js +1 -1
  35. package/components/useFirstMountState/useFirstMountState.d.ts +4 -1
  36. package/components/useFirstMountState/useFirstMountState.js +12 -1
  37. package/components/useIntersection/index.d.ts +1 -0
  38. package/components/useIntersection/index.js +1 -0
  39. package/components/useIntersection/public.d.ts +1 -0
  40. package/components/useIntersection/public.js +1 -0
  41. package/components/useIntersection/useIntersection.d.ts +5 -0
  42. package/components/useIntersection/useIntersection.js +22 -0
  43. package/components/useInterval/index.d.ts +1 -1
  44. package/components/useInterval/index.js +1 -1
  45. package/components/useInterval/public.d.ts +1 -1
  46. package/components/useInterval/public.js +1 -1
  47. package/components/useInterval/useInterval.d.ts +6 -1
  48. package/components/useInterval/useInterval.js +19 -1
  49. package/components/useIsomorphicLayoutEffect/index.d.ts +1 -0
  50. package/components/useIsomorphicLayoutEffect/index.js +1 -0
  51. package/components/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +2 -0
  52. package/components/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +5 -0
  53. package/components/useLocalStorage/index.d.ts +1 -1
  54. package/components/useLocalStorage/index.js +1 -1
  55. package/components/useLocalStorage/public.d.ts +1 -1
  56. package/components/useLocalStorage/public.js +1 -1
  57. package/components/useLocalStorage/useLocalStorage.d.ts +15 -1
  58. package/components/useLocalStorage/useLocalStorage.js +96 -1
  59. package/components/useMeasure/index.d.ts +1 -0
  60. package/components/useMeasure/index.js +1 -0
  61. package/components/useMeasure/public.d.ts +1 -0
  62. package/components/useMeasure/public.js +1 -0
  63. package/components/useMeasure/useMeasure.d.ts +13 -0
  64. package/components/useMeasure/useMeasure.js +42 -0
  65. package/components/useNewToggle/index.d.ts +1 -0
  66. package/components/useNewToggle/index.js +1 -0
  67. package/components/useNewToggle/public.d.ts +1 -0
  68. package/components/useNewToggle/public.js +1 -0
  69. package/components/useNewToggle/useNewToggle.d.ts +4 -0
  70. package/components/useNewToggle/useNewToggle.js +8 -0
  71. package/components/useRafState/hooks/useUnmount/index.d.ts +1 -0
  72. package/components/useRafState/hooks/useUnmount/index.js +1 -0
  73. package/components/useRafState/hooks/useUnmount/useUnmount.d.ts +1 -0
  74. package/components/useRafState/hooks/useUnmount/useUnmount.js +7 -0
  75. package/components/useRafState/index.d.ts +1 -0
  76. package/components/useRafState/index.js +1 -0
  77. package/components/useRafState/useRafState.d.ts +2 -0
  78. package/components/useRafState/useRafState.js +16 -0
  79. package/components/useScroll/index.d.ts +1 -0
  80. package/components/useScroll/index.js +1 -0
  81. package/components/useScroll/public.d.ts +1 -0
  82. package/components/useScroll/public.js +1 -0
  83. package/components/useScroll/useScroll.d.ts +9 -0
  84. package/components/useScroll/useScroll.js +39 -0
  85. package/components/useSet/index.d.ts +1 -1
  86. package/components/useSet/index.js +1 -1
  87. package/components/useSet/public.d.ts +1 -1
  88. package/components/useSet/public.js +1 -1
  89. package/components/useSet/useSet.d.ts +14 -1
  90. package/components/useSet/useSet.js +26 -1
  91. package/components/useSize/index.d.ts +1 -0
  92. package/components/useSize/index.js +1 -0
  93. package/components/useSize/public.d.ts +1 -0
  94. package/components/useSize/public.js +1 -0
  95. package/components/useSize/useSize.d.ts +17 -0
  96. package/components/useSize/useSize.js +79 -0
  97. package/components/useToggle/useToggle.d.ts +1 -0
  98. package/components/useToggle/useToggle.js +1 -0
  99. package/components/useUpdateEffect/index.d.ts +1 -1
  100. package/components/useUpdateEffect/index.js +1 -1
  101. package/components/useUpdateEffect/public.d.ts +1 -1
  102. package/components/useUpdateEffect/public.js +1 -1
  103. package/components/useUpdateEffect/useUpdateEffect.d.ts +5 -1
  104. package/components/useUpdateEffect/useUpdateEffect.js +13 -1
  105. package/components/useWindowScroll/index.d.ts +1 -0
  106. package/components/useWindowScroll/index.js +1 -0
  107. package/components/useWindowScroll/public.d.ts +1 -0
  108. package/components/useWindowScroll/public.js +1 -0
  109. package/components/useWindowScroll/useWindowScroll.d.ts +8 -0
  110. package/components/useWindowScroll/useWindowScroll.js +40 -0
  111. package/components/utils/addEventListenerSafe/addEventListenerSafe.d.ts +1 -0
  112. package/components/utils/addEventListenerSafe/addEventListenerSafe.js +5 -0
  113. package/components/utils/addEventListenerSafe/index.d.ts +1 -0
  114. package/components/utils/addEventListenerSafe/index.js +1 -0
  115. package/components/utils/isBrowser/index.d.ts +1 -0
  116. package/components/utils/isBrowser/index.js +1 -0
  117. package/components/utils/isBrowser/isBrowser.d.ts +1 -0
  118. package/components/utils/isBrowser/isBrowser.js +1 -0
  119. package/components/utils/removeEventListenerSafe/index.d.ts +1 -0
  120. package/components/utils/removeEventListenerSafe/index.js +1 -0
  121. package/components/utils/removeEventListenerSafe/removeEventListenerSafe.d.ts +1 -0
  122. package/components/utils/removeEventListenerSafe/removeEventListenerSafe.js +5 -0
  123. package/components/utils/replaceRaf/constants.d.ts +1 -0
  124. package/components/utils/replaceRaf/constants.js +1 -0
  125. package/components/utils/replaceRaf/index.d.ts +1 -0
  126. package/components/utils/replaceRaf/index.js +1 -0
  127. package/components/utils/replaceRaf/replaceRaf.d.ts +18 -0
  128. package/components/utils/replaceRaf/replaceRaf.js +81 -0
  129. package/node/components/NotificationList/ListItem/useLogic/useLogic.js +2 -2
  130. package/node/components/Select/Select.js +1 -1
  131. package/node/components/Select/useLogic/useLogic.d.ts +1 -1
  132. package/node/components/TagsList/types.d.ts +2 -2
  133. package/node/components/TagsList/useLogic/useLogic.js +16 -10
  134. package/node/components/TagsList/utils/getKey/getKey.js +4 -4
  135. package/node/components/createGlobalState/createGlobalState.d.ts +6 -0
  136. package/node/components/createGlobalState/createGlobalState.js +29 -0
  137. package/node/components/createGlobalState/index.d.ts +1 -0
  138. package/node/components/createGlobalState/index.js +17 -0
  139. package/node/components/createGlobalState/public.d.ts +1 -0
  140. package/node/components/createGlobalState/public.js +17 -0
  141. package/node/components/createGlobalState/utils/index.d.ts +1 -0
  142. package/node/components/createGlobalState/utils/index.js +17 -0
  143. package/node/components/createGlobalState/utils/resolveHookState/index.d.ts +1 -0
  144. package/node/components/createGlobalState/utils/resolveHookState/index.js +17 -0
  145. package/node/components/createGlobalState/utils/resolveHookState/resolveHookState.d.ts +4 -0
  146. package/node/components/createGlobalState/utils/resolveHookState/resolveHookState.js +12 -0
  147. package/node/components/createGlobalState/utils/types.d.ts +5 -0
  148. package/node/components/createGlobalState/utils/types.js +2 -0
  149. package/node/components/useDebounce/hooks/useTimeoutFn/index.d.ts +1 -0
  150. package/node/components/useDebounce/hooks/useTimeoutFn/index.js +17 -0
  151. package/node/components/useDebounce/hooks/useTimeoutFn/useTimeoutFn.d.ts +2 -0
  152. package/node/components/useDebounce/hooks/useTimeoutFn/useTimeoutFn.js +33 -0
  153. package/node/components/useDebounce/index.d.ts +1 -0
  154. package/node/components/useDebounce/index.js +17 -0
  155. package/node/components/useDebounce/public.d.ts +1 -0
  156. package/node/components/useDebounce/public.js +17 -0
  157. package/node/components/useDebounce/useDebounce.d.ts +6 -0
  158. package/node/components/useDebounce/useDebounce.js +14 -0
  159. package/node/components/useFirstMountState/index.d.ts +1 -1
  160. package/node/components/useFirstMountState/index.js +15 -3
  161. package/node/components/useFirstMountState/public.d.ts +1 -1
  162. package/node/components/useFirstMountState/public.js +15 -3
  163. package/node/components/useFirstMountState/useFirstMountState.d.ts +4 -1
  164. package/node/components/useFirstMountState/useFirstMountState.js +13 -2
  165. package/node/components/useIntersection/index.d.ts +1 -0
  166. package/node/components/useIntersection/index.js +17 -0
  167. package/node/components/useIntersection/public.d.ts +1 -0
  168. package/node/components/useIntersection/public.js +17 -0
  169. package/node/components/useIntersection/useIntersection.d.ts +5 -0
  170. package/node/components/useIntersection/useIntersection.js +26 -0
  171. package/node/components/useInterval/index.d.ts +1 -1
  172. package/node/components/useInterval/index.js +15 -3
  173. package/node/components/useInterval/public.d.ts +1 -1
  174. package/node/components/useInterval/public.js +15 -3
  175. package/node/components/useInterval/useInterval.d.ts +6 -1
  176. package/node/components/useInterval/useInterval.js +20 -2
  177. package/node/components/useIsomorphicLayoutEffect/index.d.ts +1 -0
  178. package/node/components/useIsomorphicLayoutEffect/index.js +17 -0
  179. package/node/components/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +2 -0
  180. package/node/components/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +8 -0
  181. package/node/components/useLocalStorage/index.d.ts +1 -1
  182. package/node/components/useLocalStorage/index.js +5 -14
  183. package/node/components/useLocalStorage/public.d.ts +1 -1
  184. package/node/components/useLocalStorage/public.js +5 -14
  185. package/node/components/useLocalStorage/useLocalStorage.d.ts +15 -1
  186. package/node/components/useLocalStorage/useLocalStorage.js +97 -2
  187. package/node/components/useMeasure/index.d.ts +1 -0
  188. package/node/components/useMeasure/index.js +8 -0
  189. package/node/components/useMeasure/public.d.ts +1 -0
  190. package/node/components/useMeasure/public.js +8 -0
  191. package/node/components/useMeasure/useMeasure.d.ts +13 -0
  192. package/node/components/useMeasure/useMeasure.js +44 -0
  193. package/node/components/useNewToggle/index.d.ts +1 -0
  194. package/node/components/useNewToggle/index.js +17 -0
  195. package/node/components/useNewToggle/public.d.ts +1 -0
  196. package/node/components/useNewToggle/public.js +17 -0
  197. package/node/components/useNewToggle/useNewToggle.d.ts +4 -0
  198. package/node/components/useNewToggle/useNewToggle.js +12 -0
  199. package/node/components/useRafState/hooks/useUnmount/index.d.ts +1 -0
  200. package/node/components/useRafState/hooks/useUnmount/index.js +17 -0
  201. package/node/components/useRafState/hooks/useUnmount/useUnmount.d.ts +1 -0
  202. package/node/components/useRafState/hooks/useUnmount/useUnmount.js +11 -0
  203. package/node/components/useRafState/index.d.ts +1 -0
  204. package/node/components/useRafState/index.js +17 -0
  205. package/node/components/useRafState/useRafState.d.ts +2 -0
  206. package/node/components/useRafState/useRafState.js +20 -0
  207. package/node/components/useScroll/index.d.ts +1 -0
  208. package/node/components/useScroll/index.js +17 -0
  209. package/node/components/useScroll/public.d.ts +1 -0
  210. package/node/components/useScroll/public.js +17 -0
  211. package/node/components/useScroll/useScroll.d.ts +9 -0
  212. package/node/components/useScroll/useScroll.js +43 -0
  213. package/node/components/useSet/index.d.ts +1 -1
  214. package/node/components/useSet/index.js +15 -3
  215. package/node/components/useSet/public.d.ts +1 -1
  216. package/node/components/useSet/public.js +15 -3
  217. package/node/components/useSet/useSet.d.ts +14 -1
  218. package/node/components/useSet/useSet.js +27 -2
  219. package/node/components/useSize/index.d.ts +1 -0
  220. package/node/components/useSize/index.js +8 -0
  221. package/node/components/useSize/public.d.ts +1 -0
  222. package/node/components/useSize/public.js +8 -0
  223. package/node/components/useSize/useSize.d.ts +17 -0
  224. package/node/components/useSize/useSize.js +106 -0
  225. package/node/components/useToggle/useToggle.d.ts +1 -0
  226. package/node/components/useToggle/useToggle.js +1 -0
  227. package/node/components/useUpdateEffect/index.d.ts +1 -1
  228. package/node/components/useUpdateEffect/index.js +15 -3
  229. package/node/components/useUpdateEffect/public.d.ts +1 -1
  230. package/node/components/useUpdateEffect/public.js +15 -3
  231. package/node/components/useUpdateEffect/useUpdateEffect.d.ts +5 -1
  232. package/node/components/useUpdateEffect/useUpdateEffect.js +14 -2
  233. package/node/components/useWindowScroll/index.d.ts +1 -0
  234. package/node/components/useWindowScroll/index.js +17 -0
  235. package/node/components/useWindowScroll/public.d.ts +1 -0
  236. package/node/components/useWindowScroll/public.js +17 -0
  237. package/node/components/useWindowScroll/useWindowScroll.d.ts +8 -0
  238. package/node/components/useWindowScroll/useWindowScroll.js +44 -0
  239. package/node/components/utils/addEventListenerSafe/addEventListenerSafe.d.ts +1 -0
  240. package/node/components/utils/addEventListenerSafe/addEventListenerSafe.js +9 -0
  241. package/node/components/utils/addEventListenerSafe/index.d.ts +1 -0
  242. package/node/components/utils/addEventListenerSafe/index.js +17 -0
  243. package/node/components/utils/isBrowser/index.d.ts +1 -0
  244. package/node/components/utils/isBrowser/index.js +17 -0
  245. package/node/components/utils/isBrowser/isBrowser.d.ts +1 -0
  246. package/node/components/utils/isBrowser/isBrowser.js +4 -0
  247. package/node/components/utils/removeEventListenerSafe/index.d.ts +1 -0
  248. package/node/components/utils/removeEventListenerSafe/index.js +17 -0
  249. package/node/components/utils/removeEventListenerSafe/removeEventListenerSafe.d.ts +1 -0
  250. package/node/components/utils/removeEventListenerSafe/removeEventListenerSafe.js +9 -0
  251. package/node/components/utils/replaceRaf/constants.d.ts +1 -0
  252. package/node/components/utils/replaceRaf/constants.js +4 -0
  253. package/node/components/utils/replaceRaf/index.d.ts +1 -0
  254. package/node/components/utils/replaceRaf/index.js +17 -0
  255. package/node/components/utils/replaceRaf/replaceRaf.d.ts +18 -0
  256. package/node/components/utils/replaceRaf/replaceRaf.js +86 -0
  257. package/package.json +1 -2
@@ -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);
@@ -0,0 +1,18 @@
1
+ export type Stub = {
2
+ add: (cb: Function) => number;
3
+ remove: (id: number) => void;
4
+ flush: (duration?: number) => void;
5
+ reset: () => void;
6
+ step: (steps?: number, duration?: number) => void;
7
+ };
8
+ export declare function createStub(frameDuration?: number, startTime?: number): Stub;
9
+ type ReplaceRafOptions = {
10
+ frameDuration?: number;
11
+ startTime?: number;
12
+ };
13
+ type ReplaceRafRoot = {
14
+ requestAnimationFrame: (callback: FrameRequestCallback) => number;
15
+ cancelAnimationFrame: (handle: number) => void;
16
+ };
17
+ export declare function replaceRaf(roots?: ReplaceRafRoot[], { frameDuration, startTime, }?: ReplaceRafOptions): void;
18
+ export {};
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.replaceRaf = exports.createStub = void 0;
4
+ const constants_1 = require("./constants");
5
+ const now = () => {
6
+ if (performance) {
7
+ return performance.now();
8
+ }
9
+ return Date.now();
10
+ };
11
+ function createStub(frameDuration = constants_1.defaultFrameDuration, startTime = now()) {
12
+ const frames = [];
13
+ let frameId = 0;
14
+ let currentTime = startTime;
15
+ const add = (cb) => {
16
+ const id = ++frameId;
17
+ const callback = (time) => {
18
+ cb(time);
19
+ // remove callback from frames after calling it
20
+ remove(id);
21
+ };
22
+ frames.push({
23
+ id,
24
+ callback,
25
+ });
26
+ return id;
27
+ };
28
+ const remove = (id) => {
29
+ const index = frames.findIndex((frame) => frame.id === id);
30
+ if (index === -1) {
31
+ return;
32
+ }
33
+ // remove frame from array
34
+ frames.splice(index, 1);
35
+ };
36
+ const flush = (duration = frameDuration) => {
37
+ while (frames.length) {
38
+ step(1, duration);
39
+ }
40
+ };
41
+ const reset = () => {
42
+ frames.length = 0;
43
+ currentTime = startTime;
44
+ };
45
+ const step = (steps = 1, duration = frameDuration) => {
46
+ if (steps === 0) {
47
+ return;
48
+ }
49
+ // This line can cause a precision error if both `currentTime`
50
+ // and `duration` are numbers with decimal components.
51
+ currentTime = currentTime + duration;
52
+ const shallow = frames.slice(0);
53
+ shallow.forEach((frame) => {
54
+ frame.callback(currentTime);
55
+ });
56
+ return step(steps - 1, duration);
57
+ };
58
+ const api = {
59
+ add,
60
+ remove,
61
+ reset,
62
+ flush,
63
+ step,
64
+ };
65
+ return api;
66
+ }
67
+ exports.createStub = createStub;
68
+ function replaceRaf(roots = [], { frameDuration = constants_1.defaultFrameDuration, startTime = now(), } = {}) {
69
+ // automatic usage of 'window' or 'global' if no roots are provided
70
+ if (!roots.length) {
71
+ roots.push(typeof window !== 'undefined' ? window : global);
72
+ }
73
+ // all roots share the same stub
74
+ const stub = createStub(frameDuration, startTime);
75
+ roots.forEach((root) => {
76
+ root.requestAnimationFrame = stub.add;
77
+ // $FlowFixMe - incorrect typing
78
+ Object.assign(root.requestAnimationFrame, {
79
+ step: stub.step,
80
+ flush: stub.flush,
81
+ reset: stub.reset,
82
+ });
83
+ root.cancelAnimationFrame = stub.remove;
84
+ });
85
+ }
86
+ exports.replaceRaf = replaceRaf;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astral/ui",
3
- "version": "4.86.0",
3
+ "version": "4.87.1",
4
4
  "browser": "./index.js",
5
5
  "main": "./node/index.js",
6
6
  "dependencies": {
@@ -19,7 +19,6 @@
19
19
  "react-imask-next": "npm:react-imask@7.6.1",
20
20
  "react-toastify": "9.0.3",
21
21
  "react-toastify-next": "npm:react-toastify@10.0.5",
22
- "react-use": "17.6.0",
23
22
  "react-virtuoso": "4.18.1",
24
23
  "remeda": "^1.61.0",
25
24
  "react-pdf": "9.2.1",