@infomaximum/ui-kit 0.19.0 → 0.20.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.
- package/dist/components/BaseSelect/BaseSelect.d.ts +1 -1
- package/dist/components/BaseSelect/BaseSelect.js +21 -12
- package/dist/components/BaseSelect/BaseSelect.tokens.d.ts +1 -0
- package/dist/components/BaseSelect/BaseSelect.tokens.js +1 -0
- package/dist/components/BaseSelect/BaseSelect.types.d.ts +5 -2
- package/dist/components/BaseSelect/components/SelectOptionList/SelectOptionList.d.ts +1 -1
- package/dist/components/BaseSelect/components/SelectOptionList/SelectOptionList.js +6 -6
- package/dist/components/BaseSelect/components/SelectOptionList/SelectOptionList.types.d.ts +1 -0
- package/dist/components/BaseSelect/hooks/useDefaultCurrentValue.js +2 -1
- package/dist/components/BaseTooltip/BaseTooltip.js +38 -56
- package/dist/components/BaseTooltip/BaseTooltip.types.d.ts +1 -1
- package/dist/components/BaseTooltip/BaseTooltip.utils.d.ts +1 -3
- package/dist/components/BaseTooltip/BaseTooltip.utils.js +2 -32
- package/dist/components/BaseTooltip/hooks/useCustomFloating.d.ts +2 -1
- package/dist/components/BaseTooltip/hooks/useCustomFloating.js +9 -7
- package/dist/components/BaseTooltip/hooks/useShowTooltipController.d.ts +1 -2
- package/dist/components/BaseTooltip/hooks/useShowTooltipController.js +42 -57
- package/dist/components/Collapse/Collapse.js +1 -1
- package/dist/components/Dropdown/Dropdown.types.d.ts +1 -0
- package/dist/components/Dropdown/components/SubMenu/SubMenu.js +7 -3
- package/dist/components/InternalPicker/styles/DatePanel.styles.d.ts +596 -596
- package/dist/components/InternalPicker/styles/Popup.styles.d.ts +593 -593
- package/dist/components/NewDropdown/NewDropdown.d.ts +2 -0
- package/dist/components/NewDropdown/NewDropdown.js +180 -0
- package/dist/components/NewDropdown/NewDropdown.styles.d.ts +10 -0
- package/dist/components/NewDropdown/NewDropdown.styles.js +11 -0
- package/dist/components/NewDropdown/NewDropdown.tokens.d.ts +18 -0
- package/dist/components/NewDropdown/NewDropdown.tokens.js +14 -0
- package/dist/components/NewDropdown/NewDropdown.types.d.ts +132 -0
- package/dist/components/NewDropdown/NewDropdown.utils.d.ts +26 -0
- package/dist/components/NewDropdown/NewDropdown.utils.js +55 -0
- package/dist/components/NewDropdown/components/Divider/Divider.d.ts +2 -0
- package/dist/components/NewDropdown/components/Divider/Divider.js +21 -0
- package/dist/components/NewDropdown/components/Divider/Divider.styles.d.ts +10 -0
- package/dist/components/NewDropdown/components/Divider/Divider.styles.js +12 -0
- package/dist/components/NewDropdown/components/Divider/index.d.ts +1 -0
- package/dist/components/NewDropdown/components/GroupItem/GroupItem.d.ts +3 -0
- package/dist/components/NewDropdown/components/GroupItem/GroupItem.js +33 -0
- package/dist/components/NewDropdown/components/GroupItem/GroupItem.styles.d.ts +29 -0
- package/dist/components/NewDropdown/components/GroupItem/GroupItem.styles.js +31 -0
- package/dist/components/NewDropdown/components/GroupItem/GroupItem.types.d.ts +5 -0
- package/dist/components/NewDropdown/components/GroupItem/index.d.ts +1 -0
- package/dist/components/NewDropdown/components/Menu/Menu.d.ts +3 -0
- package/dist/components/NewDropdown/components/Menu/Menu.js +33 -0
- package/dist/components/NewDropdown/components/Menu/Menu.styles.d.ts +2 -0
- package/dist/components/NewDropdown/components/Menu/Menu.styles.js +8 -0
- package/dist/components/NewDropdown/components/Menu/Menu.types.d.ts +11 -0
- package/dist/components/NewDropdown/components/Menu/index.d.ts +1 -0
- package/dist/components/NewDropdown/components/MenuItem/MenuItem.d.ts +3 -0
- package/dist/components/NewDropdown/components/MenuItem/MenuItem.js +75 -0
- package/dist/components/NewDropdown/components/MenuItem/MenuItem.styles.d.ts +42 -0
- package/dist/components/NewDropdown/components/MenuItem/MenuItem.styles.js +67 -0
- package/dist/components/NewDropdown/components/MenuItem/MenuItem.types.d.ts +5 -0
- package/dist/components/NewDropdown/components/MenuItem/index.d.ts +1 -0
- package/dist/components/NewDropdown/components/SubMenuItem/SubMenuItem.d.ts +3 -0
- package/dist/components/NewDropdown/components/SubMenuItem/SubMenuItem.js +170 -0
- package/dist/components/NewDropdown/components/SubMenuItem/SubMenuItem.styles.d.ts +13 -0
- package/dist/components/NewDropdown/components/SubMenuItem/SubMenuItem.styles.js +15 -0
- package/dist/components/NewDropdown/components/SubMenuItem/SubMenuItem.types.d.ts +5 -0
- package/dist/components/NewDropdown/components/SubMenuItem/index.d.ts +1 -0
- package/dist/components/NewDropdown/contexts/NewDropdownContext.d.ts +9 -0
- package/dist/components/NewDropdown/contexts/NewDropdownContext.js +8 -0
- package/dist/components/NewDropdown/contexts/NewDropdownNavigationContext.d.ts +11 -0
- package/dist/components/NewDropdown/contexts/NewDropdownNavigationContext.js +8 -0
- package/dist/components/NewDropdown/hooks/useContextMenu/index.d.ts +2 -0
- package/dist/components/NewDropdown/hooks/useContextMenu/useContextMenu.d.ts +9 -0
- package/dist/components/NewDropdown/hooks/useContextMenu/useContextMenu.js +38 -0
- package/dist/components/NewDropdown/hooks/useContextMenu/useContextMenu.types.d.ts +7 -0
- package/dist/components/NewDropdown/hooks/useNewDropdownTokens/index.d.ts +1 -0
- package/dist/components/NewDropdown/hooks/useNewDropdownTokens/useNewDropdownTokens.d.ts +7 -0
- package/dist/components/NewDropdown/hooks/useNewDropdownTokens/useNewDropdownTokens.js +14 -0
- package/dist/components/NewDropdown/hooks/useNewDropdownTokens/useNewDropdownTokens.types.d.ts +6 -0
- package/dist/components/NewDropdown/index.d.ts +2 -0
- package/dist/components/Segmented/Segmented.js +1 -1
- package/dist/components/Select/Select.d.ts +9 -1
- package/dist/components/Select/Select.js +53 -28
- package/dist/components/Select/Select.types.d.ts +5 -1
- package/dist/components/Select/Select.utils.d.ts +10 -1
- package/dist/components/Select/Select.utils.js +110 -7
- package/dist/components/Select/components/SelectGroupOption/SelectGroupOption.d.ts +5 -0
- package/dist/components/Select/components/SelectGroupOption/SelectGroupOption.js +68 -0
- package/dist/components/Select/components/SelectGroupOption/SelectGroupOption.styles.d.ts +28 -0
- package/dist/components/Select/components/SelectGroupOption/SelectGroupOption.styles.js +34 -0
- package/dist/components/Select/components/SelectGroupOption/SelectGroupOption.types.d.ts +21 -0
- package/dist/components/Select/components/SelectGroupOption/SelectGroupOption.types.js +7 -0
- package/dist/components/Select/components/SelectOption/SelectOption.d.ts +3 -2
- package/dist/components/Select/components/SelectOption/SelectOption.js +25 -15
- package/dist/components/Select/components/SelectOption/SelectOption.styles.d.ts +16 -2
- package/dist/components/Select/components/SelectOption/SelectOption.styles.js +18 -2
- package/dist/components/Select/components/SelectOption/SelectOption.types.d.ts +5 -0
- package/dist/components/Select/contexts/DepthContext.d.ts +3 -0
- package/dist/components/Select/contexts/DepthContext.js +9 -0
- package/dist/components/Select/contexts/SelectRenderContext.d.ts +11 -0
- package/dist/components/Select/contexts/SelectRenderContext.js +7 -0
- package/dist/components/Select/forStories/dataForExamples.d.ts +65 -3
- package/dist/components/Select/hooks/useElementSizesController.d.ts +5 -0
- package/dist/components/Select/hooks/useElementSizesController.js +17 -0
- package/dist/components/Select/hooks/useKeyControl.d.ts +4 -4
- package/dist/components/Select/hooks/useKeyControl.js +15 -10
- package/dist/components/Slider/components/SliderHandleTooltip/SliderHandleTooltip.js +1 -1
- package/dist/components/Slider/components/SliderInternal/SliderInternal.js +1 -1
- package/dist/components/Table/features/tableRowSelection/hooks/useTableRowSelection/useTableRowSelection.js +1 -1
- package/dist/components/Table/hooks/useTableVisualParamsChange/utils.d.ts +1 -1
- package/dist/components/Tabs/Tabs.utils.d.ts +2 -2
- package/dist/components/Tabs/Tabs.utils.js +11 -24
- package/dist/components/Tabs/components/TabBar/TabBar.js +8 -7
- package/dist/components/Tabs/components/TabItem/TabItem.js +7 -5
- package/dist/components/Tabs/components/TabItem/TabItem.styles.d.ts +1 -1
- package/dist/components/Tabs/components/TabItem/TabItem.types.d.ts +1 -0
- package/dist/components/Tabs/hooks/useMoreTabsController.d.ts +2 -1
- package/dist/components/Tabs/hooks/useMoreTabsController.js +10 -6
- package/dist/components/TreeSelect/TreeSelect.js +8 -3
- package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.types.d.ts +1 -0
- package/dist/components/TreeSelect/hooks/useKeyControl.d.ts +2 -2
- package/dist/components/TreeSelect/hooks/useKeyControl.js +9 -8
- package/dist/hooks/useInputModeDetector/index.d.ts +2 -0
- package/dist/hooks/useInputModeDetector/useInputModeDetector.d.ts +13 -0
- package/dist/hooks/useInputModeDetector/useInputModeDetector.js +50 -0
- package/dist/hooks/useInputModeDetector/useInputModeDetector.types.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/package.json +2 -1
|
@@ -2,7 +2,7 @@ import { useState, useRef, useEffect, useCallback, useMemo } from "react";
|
|
|
2
2
|
import { isUndefined } from "lodash-es";
|
|
3
3
|
import { convertSecondsToMilliseconds } from "../../../utils/converters.js";
|
|
4
4
|
import "@floating-ui/react";
|
|
5
|
-
import { setNewReferencePosition
|
|
5
|
+
import { setNewReferencePosition } from "../BaseTooltip.utils.js";
|
|
6
6
|
const useShowTooltipController = ({
|
|
7
7
|
trigger,
|
|
8
8
|
defaultOpen,
|
|
@@ -13,7 +13,6 @@ const useShowTooltipController = ({
|
|
|
13
13
|
refs,
|
|
14
14
|
placement,
|
|
15
15
|
onOpenChange,
|
|
16
|
-
onContextMenu,
|
|
17
16
|
arrowRef
|
|
18
17
|
}) => {
|
|
19
18
|
const [isOpen, setIsOpen] = useState(defaultOpen);
|
|
@@ -21,38 +20,20 @@ const useShowTooltipController = ({
|
|
|
21
20
|
useEffect(() => {
|
|
22
21
|
setIsOpen(defaultOpen);
|
|
23
22
|
}, [defaultOpen, open]);
|
|
24
|
-
const isOpenResult = open ?? isOpen;
|
|
25
|
-
const closeTooltip = useCallback(() => {
|
|
26
|
-
setIsOpen(false);
|
|
27
|
-
onOpenChange == null ? void 0 : onOpenChange(false);
|
|
28
|
-
}, [onOpenChange]);
|
|
29
|
-
const handleMouseUp = useCallback((e) => {
|
|
30
|
-
var _a, _b;
|
|
31
|
-
if (!e.target) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const isFloatingElement = (_a = refs.floating.current) == null ? void 0 : _a.contains(e.target);
|
|
35
|
-
const isReferenceElement = (_b = refs.domReference.current) == null ? void 0 : _b.contains(e.target);
|
|
36
|
-
const isContextMenu = trigger.includes("contextMenu");
|
|
37
|
-
if (isFloatingElement || isReferenceElement && !isContextMenu) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
closeTooltip();
|
|
41
|
-
document.body.removeEventListener("mouseup", handleMouseUp);
|
|
42
|
-
}, [closeTooltip, refs.domReference, refs.floating, trigger]);
|
|
43
23
|
const showTooltip = useCallback(() => {
|
|
44
24
|
if (isUndefined(open)) {
|
|
45
|
-
document.body.addEventListener("mouseup", handleMouseUp);
|
|
46
25
|
setIsOpen(true);
|
|
47
26
|
}
|
|
48
27
|
if (open !== true && isOpen !== true) {
|
|
49
28
|
onOpenChange == null ? void 0 : onOpenChange(true);
|
|
50
29
|
}
|
|
51
|
-
}, [
|
|
30
|
+
}, [isOpen, onOpenChange, open]);
|
|
52
31
|
const hideTooltip = useCallback(() => {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
32
|
+
if (isUndefined(open)) {
|
|
33
|
+
setIsOpen(false);
|
|
34
|
+
}
|
|
35
|
+
onOpenChange == null ? void 0 : onOpenChange(false);
|
|
36
|
+
}, [onOpenChange, open]);
|
|
56
37
|
const handlePointerEnter = useMemo(() => {
|
|
57
38
|
if (!trigger.includes("hover")) {
|
|
58
39
|
return;
|
|
@@ -101,9 +82,6 @@ const useShowTooltipController = ({
|
|
|
101
82
|
return (e) => {
|
|
102
83
|
var _a;
|
|
103
84
|
e.stopPropagation();
|
|
104
|
-
if (trigger.includes("contextMenu")) {
|
|
105
|
-
setContextMenuPosition(refs, e);
|
|
106
|
-
}
|
|
107
85
|
const isReferenceElement = (_a = refs.domReference.current) == null ? void 0 : _a.contains(e.target);
|
|
108
86
|
if (!isReferenceElement) {
|
|
109
87
|
return;
|
|
@@ -112,55 +90,62 @@ const useShowTooltipController = ({
|
|
|
112
90
|
setNewReferencePosition(refs, e, placement, arrowRef);
|
|
113
91
|
}
|
|
114
92
|
if (isUndefined(open)) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
} else {
|
|
118
|
-
showTooltip();
|
|
119
|
-
}
|
|
93
|
+
setIsOpen((prev) => !prev);
|
|
94
|
+
onOpenChange == null ? void 0 : onOpenChange(isOpen);
|
|
120
95
|
} else {
|
|
121
96
|
onOpenChange == null ? void 0 : onOpenChange(!open);
|
|
122
97
|
}
|
|
123
98
|
};
|
|
124
|
-
}, [arrowRef,
|
|
99
|
+
}, [arrowRef, isOpen, onOpenChange, open, placement, refs, showInCursorPosition, trigger]);
|
|
125
100
|
const handleContextMenu = useMemo(() => {
|
|
126
101
|
if (!trigger.includes("contextMenu")) {
|
|
127
102
|
return void 0;
|
|
128
103
|
}
|
|
129
104
|
return (e) => {
|
|
130
|
-
setContextMenuPosition(refs, e);
|
|
131
|
-
if (onContextMenu) {
|
|
132
|
-
onContextMenu(e);
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
105
|
e.preventDefault();
|
|
106
|
+
refs.setPositionReference({
|
|
107
|
+
getBoundingClientRect() {
|
|
108
|
+
return {
|
|
109
|
+
width: 0,
|
|
110
|
+
height: 0,
|
|
111
|
+
x: e.clientX,
|
|
112
|
+
y: e.clientY,
|
|
113
|
+
top: e.clientY,
|
|
114
|
+
right: e.clientX,
|
|
115
|
+
bottom: e.clientY,
|
|
116
|
+
left: e.clientX
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
});
|
|
136
120
|
showTooltip();
|
|
137
121
|
};
|
|
138
|
-
}, [
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}, [handleMouseUp]);
|
|
144
|
-
useEffect(() => {
|
|
145
|
-
if (open) {
|
|
146
|
-
document.body.addEventListener("mouseup", handleMouseUp);
|
|
122
|
+
}, [refs, showTooltip, trigger]);
|
|
123
|
+
const handleMouseUp = useCallback((e) => {
|
|
124
|
+
var _a, _b;
|
|
125
|
+
if (!e.target) {
|
|
126
|
+
return;
|
|
147
127
|
}
|
|
148
|
-
|
|
149
|
-
|
|
128
|
+
const isFloatingElement = (_a = refs.floating.current) == null ? void 0 : _a.contains(e.target);
|
|
129
|
+
const isReferenceElement = (_b = refs.domReference.current) == null ? void 0 : _b.contains(e.target);
|
|
130
|
+
if (!isOpen || isFloatingElement || isReferenceElement) {
|
|
131
|
+
return;
|
|
150
132
|
}
|
|
151
|
-
|
|
133
|
+
hideTooltip();
|
|
134
|
+
}, [hideTooltip, isOpen, refs.domReference, refs.floating]);
|
|
135
|
+
useEffect(() => {
|
|
136
|
+
document.body.addEventListener("mouseup", handleMouseUp);
|
|
137
|
+
return () => document.body.removeEventListener("mouseup", handleMouseUp);
|
|
138
|
+
}, [handleMouseUp]);
|
|
152
139
|
const handlePointerUp = useMemo(() => {
|
|
153
140
|
if (!trigger.includes("click")) {
|
|
154
141
|
return void 0;
|
|
155
142
|
}
|
|
156
143
|
return (e) => {
|
|
157
|
-
|
|
158
|
-
e.stopPropagation();
|
|
159
|
-
}
|
|
144
|
+
e.stopPropagation();
|
|
160
145
|
};
|
|
161
|
-
}, [
|
|
146
|
+
}, [trigger]);
|
|
162
147
|
return {
|
|
163
|
-
isOpen:
|
|
148
|
+
isOpen: open ?? isOpen,
|
|
164
149
|
handlePointerEnter,
|
|
165
150
|
handlePointerLeave,
|
|
166
151
|
handleFocus,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { memo, useMemo, useCallback } from "react";
|
|
3
|
+
import { useControlledState } from "../../hooks/useControlledState/useControlledState.js";
|
|
3
4
|
import { getCollapseTokens } from "./Collapse.tokens.js";
|
|
4
5
|
import { getCollapseContainerStyle } from "./Collapse.styles.js";
|
|
5
6
|
import { CollapsePanel } from "./components/CollapsePanel/CollapsePanel.js";
|
|
6
7
|
import { useTheme } from "../../hooks/useTheme/useTheme.js";
|
|
7
|
-
import { useControlledState } from "../../hooks/useControlledState/useControlledState.js";
|
|
8
8
|
const normalizeKeys = (key) => {
|
|
9
9
|
if (key === void 0) {
|
|
10
10
|
return [];
|
|
@@ -127,6 +127,7 @@ export interface SubMenuType {
|
|
|
127
127
|
key: DropdownItemKeyType;
|
|
128
128
|
e: MouseEvent;
|
|
129
129
|
}) => void;
|
|
130
|
+
dropdownRender?: (menu: ReactNode) => ReactNode;
|
|
130
131
|
}
|
|
131
132
|
export declare const isSubMenu: (item: ItemType) => item is SubMenuType;
|
|
132
133
|
export declare const isMenuItem: (item: ItemType) => item is MenuItem;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { memo, useRef, useContext, useEffect, useMemo, useCallback } from "react";
|
|
3
|
+
import { isFunction } from "lodash-es";
|
|
3
4
|
import { dropdownContext } from "../../contexts/dropdownContext.js";
|
|
4
5
|
import { Menu } from "../Menu/Menu.js";
|
|
5
6
|
import { offset, flip, useFloating, autoUpdate, useHover, useInteractions } from "@floating-ui/react";
|
|
@@ -16,7 +17,8 @@ const SubMenu = memo(({
|
|
|
16
17
|
styles,
|
|
17
18
|
search,
|
|
18
19
|
clearSearchValue,
|
|
19
|
-
onClick
|
|
20
|
+
onClick,
|
|
21
|
+
dropdownRender
|
|
20
22
|
}) => {
|
|
21
23
|
const timerId = useRef(null);
|
|
22
24
|
const context = useContext(dropdownContext);
|
|
@@ -121,6 +123,8 @@ const SubMenu = memo(({
|
|
|
121
123
|
document.body.addEventListener("mouseup", handleMouseUp);
|
|
122
124
|
return () => document.body.removeEventListener("mouseup", handleMouseUp);
|
|
123
125
|
}, [handleMouseUp]);
|
|
126
|
+
const menuElement = useMemo(() => /* @__PURE__ */ jsx(Menu, { ...context, items: children, title: label, subMenuOpen: context.subMenuOpen, search, styles, onClick }), [children, context, label, onClick, search, styles]);
|
|
127
|
+
const floatingContent = isFunction(dropdownRender) ? dropdownRender(menuElement) : menuElement;
|
|
124
128
|
return /* @__PURE__ */ jsxs("div", { ref: refs.setReference, ...getReferenceProps, onPointerEnter: handlePointerEnter, onPointerLeave: handlePointerLeave, onClick: handleClick, onMouseUp: (e) => {
|
|
125
129
|
e.stopPropagation();
|
|
126
130
|
}, onMouseDown: (e) => {
|
|
@@ -130,7 +134,7 @@ const SubMenu = memo(({
|
|
|
130
134
|
!isStepMode && (isOpen || !!context.forceSubMenuRender) && /* @__PURE__ */ jsx("div", { ref: refs.setFloating, style: {
|
|
131
135
|
...floatingStyles,
|
|
132
136
|
visibility: isOpen ? "visible" : "hidden"
|
|
133
|
-
}, ...getFloatingProps, children:
|
|
137
|
+
}, ...getFloatingProps, children: floatingContent })
|
|
134
138
|
] });
|
|
135
139
|
});
|
|
136
140
|
export {
|