@synerise/ds-utils 1.2.0 → 1.3.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.
- package/CHANGELOG.md +208 -861
- package/README.md +1 -0
- package/dist/doubleClickListener/doubleClickListener.d.ts +2 -2
- package/dist/doubleClickListener/doubleClickListener.js +0 -2
- package/dist/focusWithArrowKeys/focusWithArrowKeys.d.ts +1 -1
- package/dist/getPopupContainer/getPopupContainer.js +3 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -1
- package/dist/regex/regex.js +1 -2
- package/dist/renderWithHighlight/renderWithHighlight.d.ts +1 -1
- package/dist/selectColorByLetter/selectColorByLetter.js +4 -2
- package/dist/testing/index.js +0 -1
- package/dist/testing/renderWithProvider/renderWithProvider.d.ts +4 -4
- package/dist/testing/renderWithProvider/renderWithProvider.js +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/useCombinedRefs/useCombinedRefs.d.ts +1 -1
- package/dist/useCombinedRefs/useCombinedRefs.js +0 -1
- package/dist/useElementInView/useElementInView.d.ts +1 -1
- package/dist/useIsMounted/useIsMounted.d.ts +2 -0
- package/dist/useIsMounted/useIsMounted.js +11 -0
- package/dist/useOnClickOutside/useOnClickOutside.d.ts +9 -4
- package/dist/useOnClickOutside/useOnClickOutside.js +2 -2
- package/dist/useResize/useResize.js +3 -3
- package/dist/useResizeObserver/useResizeObserver.d.ts +1 -1
- package/dist/useResizeObserver/useResizeObserver.js +1 -1
- package/dist/useResizeToFit/useResizeToFit.d.ts +1 -1
- package/dist/useResizeToFit/useResizeToFit.js +1 -1
- package/dist/useSearchResults/search.utils.d.ts +2 -2
- package/dist/useSearchResults/search.utils.js +3 -1
- package/dist/useSearchResults/useSearchResults.d.ts +1 -1
- package/dist/useSearchResults/useSearchResults.js +3 -1
- package/dist/useTraceUpdate/index.js +0 -3
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
declare function doubleClickListener<T
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
declare function doubleClickListener<T>(onClick: (e: React.SyntheticEvent<T>) => void, onDblClick: (e: React.SyntheticEvent<T>) => void, delay?: number): React.ReactEventHandler<T>;
|
|
3
3
|
export default doubleClickListener;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { default as hexToRgba } from './hexToRgba/hexToRgba';
|
|
2
2
|
export { default as toCamelCase } from './toCamelCase/toCamelCase';
|
|
3
|
-
export { useOnClickOutside } from './useOnClickOutside/useOnClickOutside';
|
|
3
|
+
export { useOnClickOutside, type HandledEventsType, } from './useOnClickOutside/useOnClickOutside';
|
|
4
4
|
export { renderWithHighlight } from './renderWithHighlight/renderWithHighlight';
|
|
5
5
|
export { default as selectColorByLetter } from './selectColorByLetter/selectColorByLetter';
|
|
6
6
|
export { default as focusWithArrowKeys } from './focusWithArrowKeys/focusWithArrowKeys';
|
|
@@ -11,6 +11,7 @@ export { default as useResizeObserver } from './useResizeObserver/useResizeObser
|
|
|
11
11
|
export { default as useBreakpoint } from './useBreakpoint/useBreakpoint';
|
|
12
12
|
export { default as useCombinedRefs } from './useCombinedRefs/useCombinedRefs';
|
|
13
13
|
export { default as usePrevious } from './usePrevious/usePrevious';
|
|
14
|
+
export { useIsMounted } from './useIsMounted/useIsMounted';
|
|
14
15
|
export { default as useElementInView } from './useElementInView/useElementInView';
|
|
15
16
|
export { default as useOverscrollBlock } from './useOverscrollBlock/useOverscrollBlock';
|
|
16
17
|
export { default as useResizeToFit } from './useResizeToFit/useResizeToFit';
|
|
@@ -23,5 +24,4 @@ export * from './useTraceUpdate';
|
|
|
23
24
|
export * from './getPopupContainer';
|
|
24
25
|
export * from './useLatestRef';
|
|
25
26
|
export declare const NOOP: () => void;
|
|
26
|
-
export type { HandledEventsType } from './useOnClickOutside/useOnClickOutside';
|
|
27
27
|
export type { DataAttributes, ExactlyOne, LiteralStringUnion, WithHTMLAttributes, DeepPartial, RequiredProps, } from './types/types';
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export { default as useResizeObserver } from './useResizeObserver/useResizeObser
|
|
|
11
11
|
export { default as useBreakpoint } from './useBreakpoint/useBreakpoint';
|
|
12
12
|
export { default as useCombinedRefs } from './useCombinedRefs/useCombinedRefs';
|
|
13
13
|
export { default as usePrevious } from './usePrevious/usePrevious';
|
|
14
|
+
export { useIsMounted } from './useIsMounted/useIsMounted';
|
|
14
15
|
export { default as useElementInView } from './useElementInView/useElementInView';
|
|
15
16
|
export { default as useOverscrollBlock } from './useOverscrollBlock/useOverscrollBlock';
|
|
16
17
|
export { default as useResizeToFit } from './useResizeToFit/useResizeToFit';
|
|
@@ -22,4 +23,4 @@ export * from './omitKeys/omitKeys';
|
|
|
22
23
|
export * from './useTraceUpdate';
|
|
23
24
|
export * from './getPopupContainer';
|
|
24
25
|
export * from './useLatestRef';
|
|
25
|
-
export var NOOP = function NOOP() {};
|
|
26
|
+
export var NOOP = function NOOP() {};
|
package/dist/regex/regex.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
2
|
export declare const renderWithHighlight: (name: string, highlight?: string, className?: string, testId?: string) => ReactNode;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { theme } from '@synerise/ds-core';
|
|
2
1
|
import latinize from 'latinize';
|
|
2
|
+
import { theme } from '@synerise/ds-core';
|
|
3
3
|
export var palette = ['blue', 'cyan', 'fern', 'green', 'orange', 'yellow', 'red', 'mars', 'pink', 'violet', 'purple'];
|
|
4
4
|
function getColorByLetter() {
|
|
5
5
|
var colors = {};
|
|
@@ -10,7 +10,9 @@ function getColorByLetter() {
|
|
|
10
10
|
}
|
|
11
11
|
export var colorByLetter = getColorByLetter();
|
|
12
12
|
export function getColor(colorString, forAvatar) {
|
|
13
|
-
if (!forAvatar)
|
|
13
|
+
if (!forAvatar) {
|
|
14
|
+
return theme.palette[colorString];
|
|
15
|
+
}
|
|
14
16
|
return {
|
|
15
17
|
color: colorString.split('-')[0],
|
|
16
18
|
hue: colorString.split('-')[1]
|
package/dist/testing/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type DSProviderProps } from '@synerise/ds-core';
|
|
3
|
+
import { type DataFormatNotationType } from '@synerise/ds-data-format';
|
|
4
|
+
import { type RenderOptions, type RenderResult } from '@testing-library/react';
|
|
5
5
|
type Options = Omit<RenderOptions, 'queries'>;
|
|
6
6
|
declare const renderWithProvider: (node: ReactNode, options?: Options, props?: Partial<Omit<DSProviderProps, 'onErrorIntl' | 'dataFormatConfig'>> & {
|
|
7
7
|
notation?: DataFormatNotationType;
|
|
@@ -2,9 +2,9 @@ var _excluded = ["notation"];
|
|
|
2
2
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
3
3
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
4
4
|
import React from 'react';
|
|
5
|
-
import { render } from '@testing-library/react';
|
|
6
5
|
import { DSProvider } from '@synerise/ds-core';
|
|
7
6
|
import { getDataFormatConfigFromNotation } from '@synerise/ds-data-format';
|
|
7
|
+
import { render } from '@testing-library/react';
|
|
8
8
|
import { NOOP } from '../../index';
|
|
9
9
|
var _renderWithProvider = function renderWithProvider(node, options, props) {
|
|
10
10
|
var _ref = props || {},
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
declare const useCombinedRefs: <T
|
|
2
|
+
declare const useCombinedRefs: <T>(...refs: React.Ref<T | null>[]) => React.MutableRefObject<T | null>;
|
|
3
3
|
export default useCombinedRefs;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
export var useIsMounted = function useIsMounted() {
|
|
3
|
+
var isMounted = useRef(false);
|
|
4
|
+
useEffect(function () {
|
|
5
|
+
isMounted.current = true;
|
|
6
|
+
return function () {
|
|
7
|
+
isMounted.current = false;
|
|
8
|
+
};
|
|
9
|
+
}, []);
|
|
10
|
+
return isMounted;
|
|
11
|
+
};
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { RefObject } from 'react';
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
2
|
declare const MOUSEDOWN = "mousedown";
|
|
3
3
|
declare const TOUCHSTART = "touchstart";
|
|
4
|
-
declare const
|
|
5
|
-
declare const
|
|
6
|
-
type HandledEvents = [
|
|
4
|
+
declare const _CLICK = "click";
|
|
5
|
+
declare const _CONTEXTMENU = "contextmenu";
|
|
6
|
+
type HandledEvents = [
|
|
7
|
+
typeof MOUSEDOWN,
|
|
8
|
+
typeof TOUCHSTART,
|
|
9
|
+
typeof _CLICK,
|
|
10
|
+
typeof _CONTEXTMENU
|
|
11
|
+
];
|
|
7
12
|
export type HandledEventsType = HandledEvents[number];
|
|
8
13
|
type PossibleEvent = {
|
|
9
14
|
[Type in HandledEventsType]: HTMLElementEventMap[Type];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useEffect, useRef } from 'react';
|
|
2
2
|
var MOUSEDOWN = 'mousedown';
|
|
3
3
|
var TOUCHSTART = 'touchstart';
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var _CLICK = 'click';
|
|
5
|
+
var _CONTEXTMENU = 'contextmenu';
|
|
6
6
|
var defaultEvents = [MOUSEDOWN, TOUCHSTART];
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
2
|
var useResize = function useResize(componentRef, visible) {
|
|
4
3
|
if (visible === void 0) {
|
|
5
4
|
visible = true;
|
|
@@ -12,9 +11,10 @@ var useResize = function useResize(componentRef, visible) {
|
|
|
12
11
|
setDimensions = _React$useState[1];
|
|
13
12
|
React.useEffect(function () {
|
|
14
13
|
var getDimensions = function getDimensions() {
|
|
14
|
+
var _componentRef$current, _componentRef$current2;
|
|
15
15
|
return {
|
|
16
|
-
width: (componentRef == null ? void 0 :
|
|
17
|
-
height: (componentRef == null ? void 0 :
|
|
16
|
+
width: (componentRef == null || (_componentRef$current = componentRef.current) == null ? void 0 : _componentRef$current.offsetWidth) || 0,
|
|
17
|
+
height: (componentRef == null || (_componentRef$current2 = componentRef.current) == null ? void 0 : _componentRef$current2.offsetHeight) || 0
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
20
|
var handleResize = function handleResize() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
2
|
var useResizeObserver = function useResizeObserver(elementRef, resizeHandler) {
|
|
3
3
|
var _useState = useState(new DOMRect()),
|
|
4
4
|
dimensions = _useState[0],
|
|
@@ -3,7 +3,7 @@ type useResizeToFitProps = {
|
|
|
3
3
|
onResize: (width: number) => void;
|
|
4
4
|
autoObserve?: boolean;
|
|
5
5
|
};
|
|
6
|
-
declare const useResizeToFit: <T extends HTMLElement = HTMLDivElement>({ onResize, autoObserve }: useResizeToFitProps) => {
|
|
6
|
+
declare const useResizeToFit: <T extends HTMLElement = HTMLDivElement>({ onResize, autoObserve, }: useResizeToFitProps) => {
|
|
7
7
|
elementRef: import("react").RefObject<T>;
|
|
8
8
|
disconnect: () => void;
|
|
9
9
|
observe: () => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ReactText } from 'react';
|
|
2
|
-
import { BaseGroupType } from './useSearchResults';
|
|
1
|
+
import { type ReactText } from 'react';
|
|
2
|
+
import { type BaseGroupType } from './useSearchResults';
|
|
3
3
|
export declare const isItemInGroup: <GroupType extends BaseGroupType<GroupType>>(groupId?: ReactText, currentGroup?: GroupType | undefined) => boolean;
|
|
4
4
|
export declare const getActiveTabGroup: <GroupType extends BaseGroupType<GroupType>>(tabIndex: number, groups?: GroupType[] | undefined) => GroupType | undefined;
|
|
5
5
|
export declare const getGroupName: <GroupType extends BaseGroupType<GroupType>>(groupId: ReactText, groups: BaseGroupType<GroupType>[]) => string | undefined;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export var isItemInGroup = function isItemInGroup(groupId, currentGroup) {
|
|
2
|
-
if (!currentGroup || !groupId)
|
|
2
|
+
if (!currentGroup || !groupId) {
|
|
3
|
+
return true;
|
|
4
|
+
}
|
|
3
5
|
return currentGroup.subGroups ? (currentGroup == null ? void 0 : currentGroup.subGroups.findIndex(function (group) {
|
|
4
6
|
return group.id === groupId;
|
|
5
7
|
})) > -1 : groupId === currentGroup.id;
|
|
@@ -14,7 +14,9 @@ export var useSearchResults = function useSearchResults(items, groups, activeTab
|
|
|
14
14
|
});
|
|
15
15
|
}, [groups]);
|
|
16
16
|
var searchResults = useMemo(function () {
|
|
17
|
-
if (!searchQuery)
|
|
17
|
+
if (!searchQuery) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
18
20
|
var result = [];
|
|
19
21
|
var itemsNumber = items.length;
|
|
20
22
|
for (var i = 0; i < itemsNumber; i += 1) {
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
|
|
3
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
4
2
|
export var useTraceUpdate = function useTraceUpdate(props) {
|
|
5
3
|
var prev = useRef(props);
|
|
6
4
|
useEffect(function () {
|
|
@@ -8,7 +6,6 @@ export var useTraceUpdate = function useTraceUpdate(props) {
|
|
|
8
6
|
var k = _ref[0],
|
|
9
7
|
v = _ref[1];
|
|
10
8
|
if (prev.current[k] !== v) {
|
|
11
|
-
// eslint-disable-next-line no-param-reassign
|
|
12
9
|
ps[k] = [prev.current[k], v];
|
|
13
10
|
}
|
|
14
11
|
return ps;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Utils UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "synerise/synerise-design",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
],
|
|
34
34
|
"types": "dist/index.d.ts",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@synerise/ds-data-format": "^1.0.
|
|
36
|
+
"@synerise/ds-data-format": "^1.0.1",
|
|
37
37
|
"latinize": "^0.5.0"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"react": ">=16.9.0 <= 18.3.1",
|
|
42
42
|
"styled-components": "^5.3.3"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "4512641033ba3581a3df208143c547fcfed45895"
|
|
45
45
|
}
|