New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@snack-uikit/utils

Package Overview
Dependencies
Maintainers
0
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@snack-uikit/utils - npm Package Compare versions

Comparing version 3.5.1-preview-20b0f520.0 to 3.5.1-preview-379c4ff3.0

dist/cjs/hooks/useSwipeable.d.ts

15

dist/cjs/components/ThemeProvider/ThemeProvider.d.ts
import { ReactNode } from 'react';
type UseThemePropsWithDefaultTheme = {
/**
* Объект с указанием соответсвия темы и css-класса
*/
themeMap: Record<string, string>;
/**
* Значение темы по умолчанию
*/
defaultTheme: string;
};
type UseThemeProps = {
/**
* Объект с указанием соответсвия темы и css-класса
*/
themeMap: Record<string, string>;
};
export type ThemeProviderProps = {
/**
* Дети, которые будут обёрнуты в провайдер
*/
children: ReactNode;
} & (UseThemePropsWithDefaultTheme | UseThemeProps);
/**
* Провайдер, предназначенный для работы с темами
*/
export declare function ThemeProvider({ children, ...props }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
export {};

3

dist/cjs/components/ThemeProvider/ThemeProvider.js

@@ -18,2 +18,5 @@ "use strict";

const contexts_1 = require("./contexts");
/**
* Провайдер, предназначенный для работы с темами
*/
function ThemeProvider(_a) {

@@ -20,0 +23,0 @@ var {

2

dist/cjs/hooks/index.d.ts
export * from './useDebounce';
export * from './useEventHandler';
export * from './useIsomorphicLayoutEffect';
export * from './useSwipe';
export * from './useSwipeable';
export * from './useThemeConfig';
export * from './useValueControl';

@@ -28,4 +28,4 @@ "use strict";

__exportStar(require("./useIsomorphicLayoutEffect"), exports);
__exportStar(require("./useSwipe"), exports);
__exportStar(require("./useSwipeable"), exports);
__exportStar(require("./useThemeConfig"), exports);
__exportStar(require("./useValueControl"), exports);

@@ -0,1 +1,6 @@

/**
* Хук задерживает выполнение функции или обновление значения до тех пор,
* пока не пройдет определенный период времени без новых вызовов.
* @function React hook
*/
export declare function useDebounce(callback: () => void, timeout?: number): () => void;

@@ -10,2 +10,7 @@ "use strict";

const useEventHandler_1 = require("./useEventHandler");
/**
* Хук задерживает выполнение функции или обновление значения до тех пор,
* пока не пройдет определенный период времени без новых вызовов.
* @function React hook
*/
function useDebounce(callback) {

@@ -12,0 +17,0 @@ let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;

@@ -0,1 +1,6 @@

/**
* Хук для создания обработчика событий с неизменной функцией.
* @function React hook
* @param handler коллбек события, без параметров
*/
export declare function useEventHandler<T extends (...args: never[]) => unknown>(handler: T): T;

@@ -9,2 +9,7 @@ "use strict";

const useIsomorphicLayoutEffect_1 = require("./useIsomorphicLayoutEffect");
/**
* Хук для создания обработчика событий с неизменной функцией.
* @function React hook
* @param handler коллбек события, без параметров
*/
function useEventHandler(handler) {

@@ -11,0 +16,0 @@ const handlerRef = (0, react_1.useRef)(null);

import { useLayoutEffect as useLayoutEffectInternal } from 'react';
/**
* Хук используется вместо стандартного useLayoutEffect-а,
* нужен для корректной работы SSR
* @function React hook
*/
export declare const useLayoutEffect: typeof useLayoutEffectInternal;

@@ -10,2 +10,7 @@ "use strict";

const utils_1 = require("../utils");
/**
* Хук используется вместо стандартного useLayoutEffect-а,
* нужен для корректной работы SSR
* @function React hook
*/
exports.useLayoutEffect = (0, utils_1.isBrowser)() ? react_1.useLayoutEffect : react_1.useEffect;

@@ -6,4 +6,10 @@ type UseThemePropsWithDefaultTheme<T extends string> = {

type UseThemeProps<T extends string> = {
/**
* Объект с указанием соответсвия темы и css-класса
*/
themeMap: Record<T, string>;
};
/**
* Хук для работы с темами
*/
export declare function useThemeConfig<T extends string>(props: UseThemeProps<T>): {

@@ -10,0 +16,0 @@ theme: T | undefined;

type UseValueControl<TValue> = {
/**
* Значение состояния
*/
value?: TValue;
/**
* Значение по умолчанию
*/
defaultValue?: TValue;
/**
* Колбек, вызываемый на смену состояния
*/
onChange?(value: TValue): void;
defaultValue?: TValue;
};
/**
* Хук для работы с состоянием.
* Нужен для поддержки controlled/uncontrolled поведения, в зависимости от того были ли переданы входные аргументы
*/
export declare function useValueControl<TValue>({ value, onChange, defaultValue }: UseValueControl<TValue>): readonly [TValue | undefined, (value: any, ...args: any[]) => ReturnType<import("uncontrollable").Handler> | void];
export {};

@@ -8,2 +8,6 @@ "use strict";

const uncontrollable_1 = require("uncontrollable");
/**
* Хук для работы с состоянием.
* Нужен для поддержки controlled/uncontrolled поведения, в зависимости от того были ли переданы входные аргументы
*/
function useValueControl(_ref) {

@@ -10,0 +14,0 @@ let {

export * from './hooks';
export * from './components';
export * from './utils';
export * from './components';
export * from './types';

@@ -26,4 +26,4 @@ "use strict";

__exportStar(require("./hooks"), exports);
__exportStar(require("./components"), exports);
__exportStar(require("./utils"), exports);
__exportStar(require("./components"), exports);
__exportStar(require("./types"), exports);

@@ -0,1 +1,5 @@

/**
* Utility-тип, преобразующий константные значения объекта в union
* @function type
*/
export type ValueOf<T> = T[keyof T];

@@ -5,4 +5,16 @@ import { AriaAttributes } from 'react';

} & AriaAttributes & T;
/**
* Функция для исключения вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
export declare function excludeSupportProps<T extends Record<string, unknown>>(props: T): {};
/**
* Функция для отбора свойства data-test-id
* @function helper
*/
export declare function extractDataTestProps<T extends Record<string, unknown>>(props: T): Record<string, unknown>;
/**
* Функция для отбора вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
export declare function extractSupportProps<T extends Record<string, unknown>>(props: T): Record<string, unknown>;

@@ -22,10 +22,22 @@ "use strict";

}
/**
* Функция для исключения вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
function excludeSupportProps(props) {
return excludeProps(props, DATA_AND_ARIA_REGEXP);
}
/**
* Функция для отбора свойства data-test-id
* @function helper
*/
function extractDataTestProps(props) {
return extractProps(props, DATA_TEST_REGEXP);
}
/**
* Функция для отбора вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
function extractSupportProps(props) {
return extractProps(props, DATA_AND_ARIA_REGEXP);
}

@@ -0,1 +1,6 @@

/**
* Функция проверки текущей среды выполнения кода,
* нужна для корректной работы SSR
* @function helper
*/
export declare function isBrowser(): boolean;

@@ -7,2 +7,7 @@ "use strict";

exports.isBrowser = isBrowser;
/**
* Функция проверки текущей среды выполнения кода,
* нужна для корректной работы SSR
* @function helper
*/
function isBrowser() {

@@ -9,0 +14,0 @@ // eslint-disable-next-line @cloud-ru/ssr-safe-react/domApi

import { ReactNode } from 'react';
type UseThemePropsWithDefaultTheme = {
/**
* Объект с указанием соответсвия темы и css-класса
*/
themeMap: Record<string, string>;
/**
* Значение темы по умолчанию
*/
defaultTheme: string;
};
type UseThemeProps = {
/**
* Объект с указанием соответсвия темы и css-класса
*/
themeMap: Record<string, string>;
};
export type ThemeProviderProps = {
/**
* Дети, которые будут обёрнуты в провайдер
*/
children: ReactNode;
} & (UseThemePropsWithDefaultTheme | UseThemeProps);
/**
* Провайдер, предназначенный для работы с темами
*/
export declare function ThemeProvider({ children, ...props }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
export {};

@@ -15,2 +15,5 @@ var __rest = (this && this.__rest) || function (s, e) {

import { ThemeContext } from './contexts';
/**
* Провайдер, предназначенный для работы с темами
*/
export function ThemeProvider(_a) {

@@ -17,0 +20,0 @@ var { children } = _a, props = __rest(_a, ["children"]);

export * from './useDebounce';
export * from './useEventHandler';
export * from './useIsomorphicLayoutEffect';
export * from './useSwipe';
export * from './useSwipeable';
export * from './useThemeConfig';
export * from './useValueControl';
export * from './useDebounce';
export * from './useEventHandler';
export * from './useIsomorphicLayoutEffect';
export * from './useSwipe';
export * from './useSwipeable';
export * from './useThemeConfig';
export * from './useValueControl';

@@ -0,1 +1,6 @@

/**
* Хук задерживает выполнение функции или обновление значения до тех пор,
* пока не пройдет определенный период времени без новых вызовов.
* @function React hook
*/
export declare function useDebounce(callback: () => void, timeout?: number): () => void;
import { useRef } from 'react';
import { isBrowser } from '../utils';
import { useEventHandler } from './useEventHandler';
/**
* Хук задерживает выполнение функции или обновление значения до тех пор,
* пока не пройдет определенный период времени без новых вызовов.
* @function React hook
*/
export function useDebounce(callback, timeout = 0) {

@@ -5,0 +10,0 @@ const timeStampRef = useRef(0);

@@ -0,1 +1,6 @@

/**
* Хук для создания обработчика событий с неизменной функцией.
* @function React hook
* @param handler коллбек события, без параметров
*/
export declare function useEventHandler<T extends (...args: never[]) => unknown>(handler: T): T;
import { useCallback, useRef } from 'react';
import { useLayoutEffect } from './useIsomorphicLayoutEffect';
/**
* Хук для создания обработчика событий с неизменной функцией.
* @function React hook
* @param handler коллбек события, без параметров
*/
export function useEventHandler(handler) {

@@ -4,0 +9,0 @@ const handlerRef = useRef(null);

import { useLayoutEffect as useLayoutEffectInternal } from 'react';
/**
* Хук используется вместо стандартного useLayoutEffect-а,
* нужен для корректной работы SSR
* @function React hook
*/
export declare const useLayoutEffect: typeof useLayoutEffectInternal;
// eslint-disable-next-line no-restricted-imports
import { useEffect, useLayoutEffect as useLayoutEffectInternal } from 'react';
import { isBrowser } from '../utils';
/**
* Хук используется вместо стандартного useLayoutEffect-а,
* нужен для корректной работы SSR
* @function React hook
*/
export const useLayoutEffect = isBrowser() ? useLayoutEffectInternal : useEffect;

@@ -6,4 +6,10 @@ type UseThemePropsWithDefaultTheme<T extends string> = {

type UseThemeProps<T extends string> = {
/**
* Объект с указанием соответсвия темы и css-класса
*/
themeMap: Record<T, string>;
};
/**
* Хук для работы с темами
*/
export declare function useThemeConfig<T extends string>(props: UseThemeProps<T>): {

@@ -10,0 +16,0 @@ theme: T | undefined;

type UseValueControl<TValue> = {
/**
* Значение состояния
*/
value?: TValue;
/**
* Значение по умолчанию
*/
defaultValue?: TValue;
/**
* Колбек, вызываемый на смену состояния
*/
onChange?(value: TValue): void;
defaultValue?: TValue;
};
/**
* Хук для работы с состоянием.
* Нужен для поддержки controlled/uncontrolled поведения, в зависимости от того были ли переданы входные аргументы
*/
export declare function useValueControl<TValue>({ value, onChange, defaultValue }: UseValueControl<TValue>): readonly [TValue | undefined, (value: any, ...args: any[]) => ReturnType<import("uncontrollable").Handler> | void];
export {};
import { useUncontrolledProp } from 'uncontrollable';
/**
* Хук для работы с состоянием.
* Нужен для поддержки controlled/uncontrolled поведения, в зависимости от того были ли переданы входные аргументы
*/
export function useValueControl({ value, onChange, defaultValue }) {

@@ -3,0 +7,0 @@ return useUncontrolledProp(value, defaultValue, (newValue) => {

export * from './hooks';
export * from './components';
export * from './utils';
export * from './components';
export * from './types';
export * from './hooks';
export * from './components';
export * from './utils';
export * from './components';
export * from './types';

@@ -0,1 +1,5 @@

/**
* Utility-тип, преобразующий константные значения объекта в union
* @function type
*/
export type ValueOf<T> = T[keyof T];

@@ -5,4 +5,16 @@ import { AriaAttributes } from 'react';

} & AriaAttributes & T;
/**
* Функция для исключения вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
export declare function excludeSupportProps<T extends Record<string, unknown>>(props: T): {};
/**
* Функция для отбора свойства data-test-id
* @function helper
*/
export declare function extractDataTestProps<T extends Record<string, unknown>>(props: T): Record<string, unknown>;
/**
* Функция для отбора вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
export declare function extractSupportProps<T extends Record<string, unknown>>(props: T): Record<string, unknown>;

@@ -15,10 +15,22 @@ const DATA_TEST_REGEXP = /^data-test-/;

}
/**
* Функция для исключения вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
export function excludeSupportProps(props) {
return excludeProps(props, DATA_AND_ARIA_REGEXP);
}
/**
* Функция для отбора свойства data-test-id
* @function helper
*/
export function extractDataTestProps(props) {
return extractProps(props, DATA_TEST_REGEXP);
}
/**
* Функция для отбора вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
export function extractSupportProps(props) {
return extractProps(props, DATA_AND_ARIA_REGEXP);
}

@@ -0,1 +1,6 @@

/**
* Функция проверки текущей среды выполнения кода,
* нужна для корректной работы SSR
* @function helper
*/
export declare function isBrowser(): boolean;

@@ -0,1 +1,6 @@

/**
* Функция проверки текущей среды выполнения кода,
* нужна для корректной работы SSR
* @function helper
*/
export function isBrowser() {

@@ -2,0 +7,0 @@ // eslint-disable-next-line @cloud-ru/ssr-safe-react/domApi

@@ -7,3 +7,3 @@ {

"title": "Utils",
"version": "3.5.1-preview-20b0f520.0",
"version": "3.5.1-preview-379c4ff3.0",
"sideEffects": [

@@ -43,3 +43,3 @@ "*.css",

},
"gitHead": "3d9f58d349ce6413d2242d7a42b8ba624815dcc0"
"gitHead": "e0e768ac8f2e20d41a94b304b67c8541f304786f"
}

@@ -12,1 +12,86 @@ # Utils

[Changelog](./CHANGELOG.md)
[//]: DOCUMENTATION_SECTION_START
[//]: THIS_SECTION_IS_AUTOGENERATED_PLEASE_DONT_EDIT_IT
## useDebounce
`React hook`
Хук задерживает выполнение функции или обновление значения до тех пор,
пока не пройдет определенный период времени без новых вызовов.
## useEventHandler
`React hook`
Хук для создания обработчика событий с неизменной функцией.
## useLayoutEffect
`React hook`
Хук используется вместо стандартного useLayoutEffect-а,
нужен для корректной работы SSR
## useSwipeable
Хук для работы с событиями свайпа
### Props
| name | type | default value | description |
|------|------|---------------|-------------|
| enabled | `boolean` | true | Включен ли свайп |
| availableDirections | `SwipeDirections[]` | - | Направления, в которых будет работать свайп. Укажите это свойство, чтобы предотвратить конфликты и заблокировать свайп в родительских элементах по этим направлениям. |
| onSwipedDown | `SwipeCallback` | - | Called after a DOWN swipe |
| onSwipedLeft | `SwipeCallback` | - | Called after a LEFT swipe |
| onSwipedRight | `SwipeCallback` | - | Called after a RIGHT swipe |
| onSwipedUp | `SwipeCallback` | - | Called after a UP swipe |
| onSwipeStart | `SwipeCallback` | - | Called at start of a tracked swipe. |
| onSwiped | `SwipeCallback` | - | Called after any swipe. |
| onSwiping | `SwipeCallback` | - | Called for each move event during a tracked swipe. |
| onTap | `TapCallback` | - | Called after a tap. A touch under the min distance, `delta`. |
| onTouchStartOrOnMouseDown | `TapCallback` | - | Called for `touchstart` and `mousedown`. |
| onTouchEndOrOnMouseUp | `TapCallback` | - | Called for `touchend` and `mouseup`. |
| delta | `ConfigurationOptionDelta` | - | Min distance(px) before a swipe starts. **Default**: `10` |
| preventScrollOnSwipe | `boolean` | - | Prevents scroll during swipe in most cases. **Default**: `false` |
| rotationAngle | `number` | - | Set a rotation angle. **Default**: `0` |
| trackMouse | `boolean` | - | Track mouse input. **Default**: `false` |
| trackTouch | `boolean` | - | Track touch input. **Default**: `true` |
| swipeDuration | `number` | - | Allowable duration of a swipe (ms). **Default**: `Infinity` |
| touchEventOptions | `{ passive: boolean; }` | - | Options for touch event listeners |
## useThemeConfig
Хук для работы с темами
### Props
| name | type | default value | description |
|------|------|---------------|-------------|
| themeMap* | `Record<T, string>` | - | Объект с указанием соответсвия темы и css-класса |
## useValueControl
Хук для работы с состоянием.
Нужен для поддержки controlled/uncontrolled поведения, в зависимости от того были ли переданы входные аргументы
### Props
| name | type | default value | description |
|------|------|---------------|-------------|
| value | `TValue` | - | Значение состояния |
| defaultValue | `TValue` | - | Значение по умолчанию |
| onChange | `(value: TValue) => void` | - | Колбек, вызываемый на смену состояния |
## ThemeProvider
Провайдер, предназначенный для работы с темами
### Props
| name | type | default value | description |
|------|------|---------------|-------------|
| defaultTheme* | `string` | - | Значение темы по умолчанию |
| themeMap* | `Record<string, string>` | - | Объект с указанием соответсвия темы и css-класса |
| children* | `ReactNode` | - | Дети, которые будут обёрнуты в провайдер |
## excludeSupportProps
`helper`
Функция для исключения вспомогательных свойств (data-test-id & aria-*)
## extractDataTestProps
`helper`
Функция для отбора свойства data-test-id
## extractSupportProps
`helper`
Функция для отбора вспомогательных свойств (data-test-id & aria-*)
## isBrowser
`helper`
Функция проверки текущей среды выполнения кода,
нужна для корректной работы SSR
[//]: DOCUMENTATION_SECTION_END
export * from './useDebounce';
export * from './useEventHandler';
export * from './useIsomorphicLayoutEffect';
export * from './useSwipe';
export * from './useSwipeable';
export * from './useThemeConfig';
export * from './useValueControl';

@@ -6,2 +6,7 @@ import { useRef } from 'react';

/**
* Хук задерживает выполнение функции или обновление значения до тех пор,
* пока не пройдет определенный период времени без новых вызовов.
* @function React hook
*/
export function useDebounce(callback: () => void, timeout = 0) {

@@ -8,0 +13,0 @@ const timeStampRef = useRef<number>(0);

@@ -5,2 +5,7 @@ import { useCallback, useRef } from 'react';

/**
* Хук для создания обработчика событий с неизменной функцией.
* @function React hook
* @param handler коллбек события, без параметров
*/
export function useEventHandler<T extends (...args: never[]) => unknown>(handler: T) {

@@ -7,0 +12,0 @@ const handlerRef = useRef<T | null>(null);

@@ -6,2 +6,7 @@ // eslint-disable-next-line no-restricted-imports

/**
* Хук используется вместо стандартного useLayoutEffect-а,
* нужен для корректной работы SSR
* @function React hook
*/
export const useLayoutEffect = isBrowser() ? useLayoutEffectInternal : useEffect;
import { useUncontrolledProp } from 'uncontrollable';
type UseValueControl<TValue> = {
/**
* Значение состояния
*/
value?: TValue;
/**
* Значение по умолчанию
*/
defaultValue?: TValue;
/**
* Колбек, вызываемый на смену состояния
*/
onChange?(value: TValue): void;
defaultValue?: TValue;
};
/**
* Хук для работы с состоянием.
* Нужен для поддержки controlled/uncontrolled поведения, в зависимости от того были ли переданы входные аргументы
*/
export function useValueControl<TValue>({ value, onChange, defaultValue }: UseValueControl<TValue>) {

@@ -10,0 +23,0 @@ return useUncontrolledProp<TValue>(value, defaultValue, (newValue: TValue) => {

export * from './hooks';
export * from './components';
export * from './utils';
export * from './components';
export * from './types';

@@ -0,1 +1,5 @@

/**
* Utility-тип, преобразующий константные значения объекта в union
* @function type
*/
export type ValueOf<T> = T[keyof T];

@@ -19,7 +19,10 @@ import { AriaAttributes } from 'react';

function extractProps<T extends Record<string, unknown>>(props: T, regex: RegExp) {
return Object.keys(props).reduce((nextProps, prop) => {
if (prop.match(regex)) nextProps[prop] = props[prop];
return Object.keys(props).reduce(
(nextProps, prop) => {
if (prop.match(regex)) nextProps[prop] = props[prop];
return nextProps;
}, {} as Record<string, unknown>);
return nextProps;
},
{} as Record<string, unknown>,
);
}

@@ -32,2 +35,6 @@

/**
* Функция для исключения вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
export function excludeSupportProps<T extends Record<string, unknown>>(props: T) {

@@ -37,2 +44,6 @@ return excludeProps(props, DATA_AND_ARIA_REGEXP);

/**
* Функция для отбора свойства data-test-id
* @function helper
*/
export function extractDataTestProps<T extends Record<string, unknown>>(props: T) {

@@ -42,4 +53,8 @@ return extractProps(props, DATA_TEST_REGEXP);

/**
* Функция для отбора вспомогательных свойств (data-test-id & aria-*)
* @function helper
*/
export function extractSupportProps<T extends Record<string, unknown>>(props: T) {
return extractProps(props, DATA_AND_ARIA_REGEXP);
}

@@ -0,1 +1,6 @@

/**
* Функция проверки текущей среды выполнения кода,
* нужна для корректной работы SSR
* @function helper
*/
export function isBrowser() {

@@ -2,0 +7,0 @@ // eslint-disable-next-line @cloud-ru/ssr-safe-react/domApi

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc