colibri-ui 0.8.47 → 0.8.51
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/Avatar/index.js +5 -5
- package/ClickOutside/index.d.ts +3 -2
- package/ClickOutside/index.js +7 -10
- package/Dropdown/Dropdown.module.css +8 -0
- package/Dropdown/index.d.ts +1 -1
- package/Dropdown/index.js +48 -96
- package/Dropdown/index.props.d.ts +2 -4
- package/Menu/components/MenuItem/index.js +3 -3
- package/Menu/index.js +1 -1
- package/MultiSelect/components/MenuOverlay/index.js +2 -5
- package/MultiSelect/index.js +7 -4
- package/MultiSelect/index.module.css +0 -1
- package/Select/components/MenuOverlay/index.js +1 -4
- package/Select/index.d.ts +2 -2
- package/Select/index.js +10 -7
- package/Tooltip/Tooltip.module.css +18 -112
- package/Tooltip/index.d.ts +3 -3
- package/Tooltip/index.js +50 -81
- package/Tooltip/index.props.d.ts +5 -6
- package/esm/Avatar/index.js +5 -5
- package/esm/ClickOutside/index.d.ts +3 -2
- package/esm/ClickOutside/index.js +8 -10
- package/esm/Dropdown/Dropdown.module.css +8 -0
- package/esm/Dropdown/index.d.ts +1 -1
- package/esm/Dropdown/index.js +46 -95
- package/esm/Dropdown/index.props.d.ts +2 -4
- package/esm/Menu/components/MenuItem/index.js +3 -3
- package/esm/Menu/index.js +1 -1
- package/esm/MultiSelect/components/MenuOverlay/index.js +2 -4
- package/esm/MultiSelect/index.js +7 -4
- package/esm/MultiSelect/index.module.css +0 -1
- package/esm/Select/components/MenuOverlay/index.js +1 -3
- package/esm/Select/index.d.ts +2 -2
- package/esm/Select/index.js +10 -7
- package/esm/Tooltip/Tooltip.module.css +18 -112
- package/esm/Tooltip/index.d.ts +3 -3
- package/esm/Tooltip/index.js +51 -82
- package/esm/Tooltip/index.props.d.ts +5 -6
- package/esm/hooks/useOnClickOutside/index.d.ts +9 -2
- package/esm/hooks/useOnClickOutside/index.js +5 -4
- package/esm/index.d.ts +0 -2
- package/esm/index.js +0 -2
- package/hooks/useOnClickOutside/index.d.ts +9 -2
- package/hooks/useOnClickOutside/index.js +5 -4
- package/index.d.ts +0 -2
- package/index.js +57 -61
- package/package.json +4 -3
- package/esm/helpers/on.js +0 -10
- package/helpers/on.js +0 -12
package/Avatar/index.js
CHANGED
|
@@ -23,8 +23,8 @@ var clx = classNames__default.default.bind(styles__default.default);
|
|
|
23
23
|
var getStubImage = function getStubImage(type) {
|
|
24
24
|
return type === index_props.AccountType.Organization ? orgCircle.default : userCircle.default;
|
|
25
25
|
};
|
|
26
|
-
var SIZE_CLASSES = _defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default({}, constants.AvatarSize.S, styles__default.default[
|
|
27
|
-
var TEXT_CLASSES = _defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default({}, constants.AvatarSize.S, styles__default.default[
|
|
26
|
+
var SIZE_CLASSES = _defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default({}, constants.AvatarSize.S, styles__default.default["size-s"]), constants.AvatarSize.M, styles__default.default["size-m"]), constants.AvatarSize.L, styles__default.default["size-l"]), constants.AvatarSize.XL, styles__default.default["size-xl"]), constants.AvatarSize.XXL, styles__default.default["size-xxl"]), constants.AvatarSize.XXXL, styles__default.default["size-xxxl"]);
|
|
27
|
+
var TEXT_CLASSES = _defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default({}, constants.AvatarSize.S, styles__default.default["text-s"]), constants.AvatarSize.M, styles__default.default["text-m"]), constants.AvatarSize.L, styles__default.default["text-l"]), constants.AvatarSize.XL, styles__default.default["text-xl"]), constants.AvatarSize.XXL, styles__default.default["text-xxl"]), constants.AvatarSize.XXXL, styles__default.default["text-xxxl"]);
|
|
28
28
|
var Avatar = /*#__PURE__*/React.memo(function (props) {
|
|
29
29
|
var src = props.src,
|
|
30
30
|
_props$size = props.size,
|
|
@@ -63,7 +63,7 @@ var Avatar = /*#__PURE__*/React.memo(function (props) {
|
|
|
63
63
|
"data-testid": "avatar",
|
|
64
64
|
alt: alt,
|
|
65
65
|
src: finalSrc,
|
|
66
|
-
className: clx(
|
|
66
|
+
className: clx("avatar", {
|
|
67
67
|
avatarBordered: !!bordered
|
|
68
68
|
}, SIZE_CLASSES[size], className)
|
|
69
69
|
}, rest)))) : (
|
|
@@ -75,12 +75,12 @@ var Avatar = /*#__PURE__*/React.memo(function (props) {
|
|
|
75
75
|
role: "button",
|
|
76
76
|
"aria-label": ariaLabel || "Avatar",
|
|
77
77
|
onClick: onClick,
|
|
78
|
-
className: clx(
|
|
78
|
+
className: clx("avatarInitials", {
|
|
79
79
|
avatarBordered: !!bordered,
|
|
80
80
|
loading: !!loading
|
|
81
81
|
}, SIZE_CLASSES[size], className)
|
|
82
82
|
}, rest), /*#__PURE__*/React__default.default.createElement("span", {
|
|
83
|
-
className: clx(
|
|
83
|
+
className: clx("initialsText", TEXT_CLASSES[size])
|
|
84
84
|
}, (initials === null || initials === void 0 ? void 0 : initials.trim().slice(0, 2)) || "")));
|
|
85
85
|
});
|
|
86
86
|
|
package/ClickOutside/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { FC, PropsWithChildren } from "react";
|
|
2
|
-
|
|
2
|
+
type ClickOutsideProps = {
|
|
3
3
|
onClick: (e: MouseEvent | TouchEvent) => void;
|
|
4
|
-
}
|
|
4
|
+
};
|
|
5
|
+
declare const ClickOutside: FC<PropsWithChildren<ClickOutsideProps>>;
|
|
5
6
|
export default ClickOutside;
|
package/ClickOutside/index.js
CHANGED
|
@@ -9,23 +9,20 @@ var index = require('../hooks/useOnClickOutside/index.js');
|
|
|
9
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
10
|
|
|
11
11
|
var _typeof__default = /*#__PURE__*/_interopDefault(_typeof);
|
|
12
|
-
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
13
12
|
|
|
14
13
|
var ClickOutside = function ClickOutside(_ref) {
|
|
15
14
|
var children = _ref.children,
|
|
16
15
|
onClick = _ref.onClick;
|
|
17
|
-
var childRef = React.useRef();
|
|
16
|
+
var childRef = React.useRef(null);
|
|
18
17
|
index.default(childRef, onClick);
|
|
19
|
-
if (! /*#__PURE__*/
|
|
18
|
+
if (! /*#__PURE__*/React.isValidElement(children)) return null;
|
|
20
19
|
var combinedRef = function combinedRef(node) {
|
|
21
20
|
childRef.current = node;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
childRefProp.current = node;
|
|
28
|
-
}
|
|
21
|
+
var childRefProp = children.ref;
|
|
22
|
+
if (typeof childRefProp === "function") {
|
|
23
|
+
childRefProp(node);
|
|
24
|
+
} else if (childRefProp && _typeof__default.default(childRefProp) === "object" && "current" in childRefProp) {
|
|
25
|
+
childRefProp.current = node;
|
|
29
26
|
}
|
|
30
27
|
};
|
|
31
28
|
return /*#__PURE__*/React.cloneElement(children, {
|
|
@@ -4,6 +4,14 @@
|
|
|
4
4
|
z-index: 1001;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
+
.popper-container.placement-top {
|
|
8
|
+
transform-origin: bottom center;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.popper-container.placement-bottom {
|
|
12
|
+
transform-origin: top center;
|
|
13
|
+
}
|
|
14
|
+
|
|
7
15
|
.overlay-container {
|
|
8
16
|
background-color: var(--palette-white);
|
|
9
17
|
border-color: var(--palette-bg-2);
|
package/Dropdown/index.d.ts
CHANGED
package/Dropdown/index.js
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
5
6
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
6
7
|
var React = require('react');
|
|
7
8
|
var classNames = require('classnames/bind');
|
|
8
|
-
var
|
|
9
|
-
var index = require('../
|
|
10
|
-
var on = require('../helpers/on.js');
|
|
11
|
-
var index$1 = require('../ClickOutside/index.js');
|
|
9
|
+
var react = require('@floating-ui/react');
|
|
10
|
+
var index = require('../ClickOutside/index.js');
|
|
12
11
|
var styles = require('./Dropdown.module.css');
|
|
13
12
|
|
|
14
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
14
|
|
|
15
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefault(_toConsumableArray);
|
|
16
16
|
var _slicedToArray__default = /*#__PURE__*/_interopDefault(_slicedToArray);
|
|
17
17
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
18
18
|
var classNames__default = /*#__PURE__*/_interopDefault(classNames);
|
|
@@ -27,7 +27,7 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
27
27
|
onVisibleChange = _ref.onVisibleChange,
|
|
28
28
|
overlay = _ref.overlay,
|
|
29
29
|
_ref$placement = _ref.placement,
|
|
30
|
-
placement = _ref$placement === void 0 ? "bottom-
|
|
30
|
+
placement = _ref$placement === void 0 ? "bottom-center" : _ref$placement,
|
|
31
31
|
_ref$strategy = _ref.strategy,
|
|
32
32
|
strategy = _ref$strategy === void 0 ? "absolute" : _ref$strategy,
|
|
33
33
|
_ref$trigger = _ref.trigger,
|
|
@@ -39,102 +39,55 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
39
39
|
_ref$preventAutoClose = _ref.preventAutoClose,
|
|
40
40
|
preventAutoClose = _ref$preventAutoClose === void 0 ? false : _ref$preventAutoClose,
|
|
41
41
|
_ref$flip = _ref.flip,
|
|
42
|
-
|
|
42
|
+
flipEnabled = _ref$flip === void 0 ? true : _ref$flip,
|
|
43
43
|
_ref$samewidth = _ref.samewidth,
|
|
44
44
|
samewidth = _ref$samewidth === void 0 ? false : _ref$samewidth;
|
|
45
|
-
var
|
|
45
|
+
var _a;
|
|
46
|
+
var _useState = React.useState(false),
|
|
46
47
|
_useState2 = _slicedToArray__default.default(_useState, 2),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var _useState3 = React.useState(null),
|
|
50
|
-
_useState4 = _slicedToArray__default.default(_useState3, 2),
|
|
51
|
-
popperElement = _useState4[0],
|
|
52
|
-
setPopperElement = _useState4[1];
|
|
53
|
-
var _useState5 = React.useState(false),
|
|
54
|
-
_useState6 = _slicedToArray__default.default(_useState5, 2),
|
|
55
|
-
visible = _useState6[0],
|
|
56
|
-
setVisible = _useState6[1];
|
|
48
|
+
visible = _useState2[0],
|
|
49
|
+
setVisible = _useState2[1];
|
|
57
50
|
var isVisible = visibleProp && visible && !disabled;
|
|
58
|
-
var
|
|
51
|
+
var _useFloating = react.useFloating({
|
|
52
|
+
open: isVisible,
|
|
53
|
+
onOpenChange: setVisible,
|
|
59
54
|
placement: placement,
|
|
60
55
|
strategy: strategy,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
enabled: flip,
|
|
64
|
-
options: {
|
|
65
|
-
fallbackPlacements: ["top"]
|
|
66
|
-
}
|
|
67
|
-
}, {
|
|
68
|
-
name: "preventOverflow",
|
|
69
|
-
enabled: preventOverflow
|
|
70
|
-
}]
|
|
56
|
+
whileElementsMounted: react.autoUpdate,
|
|
57
|
+
middleware: [react.offset(6)].concat(_toConsumableArray__default.default(flipEnabled ? [react.flip()] : []), _toConsumableArray__default.default(preventOverflow ? [react.shift()] : []))
|
|
71
58
|
}),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
59
|
+
refs = _useFloating.refs,
|
|
60
|
+
floatingStyles = _useFloating.floatingStyles,
|
|
61
|
+
context = _useFloating.context,
|
|
62
|
+
update = _useFloating.update,
|
|
63
|
+
finalPlacement = _useFloating.placement;
|
|
64
|
+
var hover = react.useHover(context, {
|
|
65
|
+
enabled: trigger.includes("hover")
|
|
66
|
+
});
|
|
67
|
+
var click = react.useClick(context, {
|
|
68
|
+
enabled: trigger.includes("click")
|
|
69
|
+
});
|
|
70
|
+
var focus = react.useFocus(context, {
|
|
71
|
+
enabled: trigger.includes("focus")
|
|
72
|
+
});
|
|
73
|
+
var dismiss = react.useDismiss(context);
|
|
74
|
+
var role = react.useRole(context, {
|
|
75
|
+
role: "menu"
|
|
76
|
+
});
|
|
77
|
+
var _useInteractions = react.useInteractions([hover, click, focus, dismiss, role]),
|
|
78
|
+
getReferenceProps = _useInteractions.getReferenceProps,
|
|
79
|
+
getFloatingProps = _useInteractions.getFloatingProps;
|
|
75
80
|
var isNotComponent = typeof children === "string";
|
|
76
81
|
var reference = React.useMemo(function () {
|
|
77
82
|
if (!children) return null;
|
|
78
83
|
return React.Children.only(isNotComponent ? /*#__PURE__*/React__default.default.createElement("button", null, children) : children);
|
|
79
84
|
}, [children, isNotComponent]);
|
|
80
|
-
var onToggle = function onToggle(event) {
|
|
81
|
-
var _a;
|
|
82
|
-
if ((_a = event.target) === null || _a === void 0 ? void 0 : _a.closest('[data-ignore-click="true"]')) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
setVisible(function (state) {
|
|
86
|
-
return !state;
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
var handleShow = function handleShow() {
|
|
90
|
-
return setVisible(true);
|
|
91
|
-
};
|
|
92
|
-
var handleHide = React.useCallback(function () {
|
|
93
|
-
setVisible(false);
|
|
94
|
-
}, []);
|
|
95
|
-
var onClickOutside = React.useCallback(function (event) {
|
|
96
|
-
if (controlElement === null || controlElement === void 0 ? void 0 : controlElement.contains(event.target)) return;
|
|
97
|
-
handleHide();
|
|
98
|
-
}, [handleHide, controlElement]);
|
|
99
85
|
var onClickOverlay = React.useCallback(function (event) {
|
|
100
86
|
event.stopPropagation();
|
|
101
87
|
if (!preventAutoClose) {
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
106
|
-
[handleHide]);
|
|
107
|
-
React.useEffect(function () {
|
|
108
|
-
var unsubscribes = [];
|
|
109
|
-
if (trigger.includes("click")) {
|
|
110
|
-
unsubscribes.push(on.on(controlElement, "click", onToggle, false));
|
|
88
|
+
setVisible(false);
|
|
111
89
|
}
|
|
112
|
-
|
|
113
|
-
unsubscribes.push(on.on(controlElement, "mouseenter", handleShow, false));
|
|
114
|
-
unsubscribes.push(on.on(controlElement, "mouseleave", handleHide, false));
|
|
115
|
-
unsubscribes.push(on.on(popperElement, "mouseenter", handleShow, false));
|
|
116
|
-
unsubscribes.push(on.on(popperElement, "mouseleave", handleHide, false));
|
|
117
|
-
}
|
|
118
|
-
if (trigger.includes("focus")) {
|
|
119
|
-
var onFocusOut = function onFocusOut() {
|
|
120
|
-
requestAnimationFrame(function () {
|
|
121
|
-
if (controlElement === null || controlElement === void 0 ? void 0 : controlElement.contains(document.activeElement)) return;
|
|
122
|
-
if (popperElement === null || popperElement === void 0 ? void 0 : popperElement.contains(document.activeElement)) return;
|
|
123
|
-
handleHide();
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
unsubscribes.push(on.on(controlElement, "focusin", handleShow, false));
|
|
127
|
-
unsubscribes.push(on.on(controlElement, "focusout", onFocusOut, false));
|
|
128
|
-
unsubscribes.push(on.on(popperElement, "focusin", handleShow, false));
|
|
129
|
-
unsubscribes.push(on.on(popperElement, "focusout", onFocusOut, false));
|
|
130
|
-
}
|
|
131
|
-
return function () {
|
|
132
|
-
return unsubscribes.forEach(function (un) {
|
|
133
|
-
return un();
|
|
134
|
-
});
|
|
135
|
-
};
|
|
136
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
137
|
-
}, [controlElement, popperElement, onToggle, handleShow, handleHide]);
|
|
90
|
+
}, [preventAutoClose]);
|
|
138
91
|
React.useEffect(function () {
|
|
139
92
|
if (onVisibleChange) onVisibleChange(visible);
|
|
140
93
|
}, [onVisibleChange, visible]);
|
|
@@ -142,24 +95,23 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
142
95
|
if (update) update();
|
|
143
96
|
}, [update, visible]);
|
|
144
97
|
return /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, reference && (/*#__PURE__*/React__default.default.createElement(reference.type, Object.assign({
|
|
145
|
-
ref:
|
|
98
|
+
ref: refs.setReference,
|
|
146
99
|
tabIndex: 0
|
|
147
|
-
}, reference.props))), isVisible && (/*#__PURE__*/React__default.default.createElement(
|
|
148
|
-
onClick:
|
|
100
|
+
}, getReferenceProps(reference.props)))), isVisible && (/*#__PURE__*/React__default.default.createElement(react.FloatingPortal, null, /*#__PURE__*/React__default.default.createElement(index.default, {
|
|
101
|
+
onClick: function onClick() {
|
|
102
|
+
return setVisible(false);
|
|
103
|
+
}
|
|
149
104
|
}, /*#__PURE__*/React__default.default.createElement("div", Object.assign({
|
|
150
|
-
ref:
|
|
105
|
+
ref: refs.setFloating,
|
|
151
106
|
"data-testid": "popper-container",
|
|
152
|
-
className: clx("popper-container"),
|
|
153
|
-
style: Object.assign(Object.assign(
|
|
107
|
+
className: clx("popper-container", "placement-".concat(finalPlacement)),
|
|
108
|
+
style: Object.assign(Object.assign({}, floatingStyles), {
|
|
154
109
|
zIndex: zIndex,
|
|
155
|
-
minWidth:
|
|
156
|
-
}), samewidth && {
|
|
157
|
-
maxWidth: controlElement === null || controlElement === void 0 ? void 0 : controlElement.offsetWidth
|
|
158
|
-
}), {
|
|
110
|
+
minWidth: samewidth ? "".concat((_a = refs.reference.current) === null || _a === void 0 ? void 0 : _a.offsetWidth, "px") : undefined,
|
|
159
111
|
fontSize: "".concat(fontSize, "px")
|
|
160
112
|
}),
|
|
161
113
|
tabIndex: 0
|
|
162
|
-
},
|
|
114
|
+
}, getFloatingProps()), /*#__PURE__*/React__default.default.createElement("div", {
|
|
163
115
|
"data-testid": "overlay-container",
|
|
164
116
|
className: clx("overlay-container"),
|
|
165
117
|
onClick: onClickOverlay
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
import type {
|
|
3
|
-
import type { Placement as PopperPlacement } from "@popperjs/core";
|
|
4
|
-
export type Placement = Extract<PopperPlacement, "bottom-start" | "bottom" | "bottom-end">;
|
|
2
|
+
import type { Placement, Strategy } from "@floating-ui/react";
|
|
5
3
|
export type Trigger = "click" | "hover" | "focus";
|
|
6
4
|
export type DropdownProps = {
|
|
7
5
|
zIndex?: number;
|
|
@@ -10,7 +8,7 @@ export type DropdownProps = {
|
|
|
10
8
|
onVisibleChange?: (visible: boolean) => void;
|
|
11
9
|
overlay: ReactNode;
|
|
12
10
|
placement?: Placement;
|
|
13
|
-
strategy?:
|
|
11
|
+
strategy?: Strategy;
|
|
14
12
|
trigger?: [Trigger, ...Trigger[]];
|
|
15
13
|
visible?: boolean;
|
|
16
14
|
preventOverflow?: boolean;
|
|
@@ -28,7 +28,7 @@ var MenuItem = function MenuItem(_a) {
|
|
|
28
28
|
ref = _a.ref,
|
|
29
29
|
props = tslib.__rest(_a, ["className", "isSelected", "variant", "disabled", "onClick", "children", "onMouseEnter", "ref"]);
|
|
30
30
|
var handleKeyDown = function handleKeyDown(event) {
|
|
31
|
-
if (!disabled && (event.key ===
|
|
31
|
+
if (!disabled && (event.key === "Enter" || event.key === " ")) {
|
|
32
32
|
event.preventDefault();
|
|
33
33
|
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
34
34
|
}
|
|
@@ -40,8 +40,8 @@ var MenuItem = function MenuItem(_a) {
|
|
|
40
40
|
"data-testid": "menuitem",
|
|
41
41
|
"aria-disabled": disabled || undefined,
|
|
42
42
|
className: clx("item", _defineProperty__default.default({
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
item_disabled: disabled,
|
|
44
|
+
item_selected: isSelected
|
|
45
45
|
}, "item_variant_".concat(variant), true), className),
|
|
46
46
|
onClick: !disabled ? onClick : undefined,
|
|
47
47
|
onKeyDown: handleKeyDown,
|
package/Menu/index.js
CHANGED
|
@@ -39,7 +39,7 @@ var Menu = function Menu(_ref) {
|
|
|
39
39
|
}, [children, selected, onClick, variant]);
|
|
40
40
|
return /*#__PURE__*/React__default.default.createElement("ul", {
|
|
41
41
|
ref: ref,
|
|
42
|
-
className: clx(
|
|
42
|
+
className: clx("menu", className),
|
|
43
43
|
role: "menu"
|
|
44
44
|
}, renderChild);
|
|
45
45
|
};
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var classNames = require('classnames/bind');
|
|
8
7
|
var index$2 = require('../../../Menu/index.js');
|
|
9
8
|
var index$3 = require('../MenuOverlayItem/index.js');
|
|
10
9
|
var index = require('../../../Typography/index.js');
|
|
@@ -16,10 +15,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
16
15
|
|
|
17
16
|
var _slicedToArray__default = /*#__PURE__*/_interopDefault(_slicedToArray);
|
|
18
17
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
19
|
-
var classNames__default = /*#__PURE__*/_interopDefault(classNames);
|
|
20
18
|
var styles__default = /*#__PURE__*/_interopDefault(styles);
|
|
21
19
|
|
|
22
|
-
var clx = classNames__default.default.bind(styles__default.default);
|
|
23
20
|
var OFFSET_ITEMS_COUNT = 2;
|
|
24
21
|
var MenuOverlay = function MenuOverlay(_ref) {
|
|
25
22
|
var groups = _ref.groups,
|
|
@@ -76,12 +73,12 @@ var MenuOverlay = function MenuOverlay(_ref) {
|
|
|
76
73
|
}, []);
|
|
77
74
|
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
78
75
|
ref: rootRef,
|
|
79
|
-
className:
|
|
76
|
+
className: styles__default.default.root
|
|
80
77
|
}, groups.map(function (group, index$5) {
|
|
81
78
|
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
82
79
|
key: "item-".concat(index$5)
|
|
83
80
|
}, /*#__PURE__*/React__default.default.createElement("div", {
|
|
84
|
-
className:
|
|
81
|
+
className: styles__default.default.title
|
|
85
82
|
}, /*#__PURE__*/React__default.default.createElement(index.default, {
|
|
86
83
|
style: {
|
|
87
84
|
color: "var(--typography-secondary)"
|
package/MultiSelect/index.js
CHANGED
|
@@ -129,16 +129,19 @@ var MultiSelect = function MultiSelect(_ref2) {
|
|
|
129
129
|
onChange: handleChange
|
|
130
130
|
}),
|
|
131
131
|
samewidth: true
|
|
132
|
+
}, /*#__PURE__*/React__default.default.createElement("div", {
|
|
133
|
+
tabIndex: 0,
|
|
134
|
+
role: "button"
|
|
132
135
|
}, /*#__PURE__*/React__default.default.createElement(index$4.default, {
|
|
133
136
|
hasError: hasError,
|
|
134
137
|
size: size,
|
|
135
138
|
style: style,
|
|
136
|
-
className: clx(
|
|
139
|
+
className: clx("root", {
|
|
137
140
|
root_auto: preparedLabel.length
|
|
138
141
|
}),
|
|
139
142
|
endIcon: /*#__PURE__*/React__default.default.createElement(Chevron.default, {
|
|
140
|
-
className: clx(
|
|
141
|
-
icon_isOpen: isOpen
|
|
143
|
+
className: clx("icon", {
|
|
144
|
+
icon_isOpen: isOpen && Boolean(!disabled)
|
|
142
145
|
})
|
|
143
146
|
}),
|
|
144
147
|
disabled: Boolean(disabled)
|
|
@@ -165,7 +168,7 @@ var MultiSelect = function MultiSelect(_ref2) {
|
|
|
165
168
|
name: name,
|
|
166
169
|
tabIndex: -1,
|
|
167
170
|
value: internalSelectedKeys.join(",") || ""
|
|
168
|
-
}))));
|
|
171
|
+
})))));
|
|
169
172
|
};
|
|
170
173
|
|
|
171
174
|
exports.default = MultiSelect;
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var classNames = require('classnames/bind');
|
|
8
7
|
var index = require('../../../Menu/index.js');
|
|
9
8
|
var index$1 = require('../MenuOverlayItem/index.js');
|
|
10
9
|
var styles = require('./index.module.css');
|
|
@@ -13,10 +12,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
13
12
|
|
|
14
13
|
var _slicedToArray__default = /*#__PURE__*/_interopDefault(_slicedToArray);
|
|
15
14
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
16
|
-
var classNames__default = /*#__PURE__*/_interopDefault(classNames);
|
|
17
15
|
var styles__default = /*#__PURE__*/_interopDefault(styles);
|
|
18
16
|
|
|
19
|
-
var clx = classNames__default.default.bind(styles__default.default);
|
|
20
17
|
var OFFSET_ITEMS_COUNT = 2;
|
|
21
18
|
var MenuOverlay = function MenuOverlay(_ref) {
|
|
22
19
|
var options = _ref.options,
|
|
@@ -50,7 +47,7 @@ var MenuOverlay = function MenuOverlay(_ref) {
|
|
|
50
47
|
}, [scrollView, rootRef]);
|
|
51
48
|
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
52
49
|
ref: rootRef,
|
|
53
|
-
className:
|
|
50
|
+
className: styles__default.default.root
|
|
54
51
|
}, /*#__PURE__*/React__default.default.createElement(index.default, {
|
|
55
52
|
ref: listRef,
|
|
56
53
|
selected: selected
|
package/Select/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { JSX } from "react";
|
|
2
2
|
import type { SelectProps } from "./index.props";
|
|
3
|
-
declare const Select: <T extends string>({ options, value, name, zIndex, fontSize, label, hint, hasError, required, placeholder, disabled, size, fullWidth, customInputRoot, className, onChange, }: SelectProps<T>) =>
|
|
3
|
+
declare const Select: <T extends string>({ options, value, name, zIndex, fontSize, label, hint, hasError, required, placeholder, disabled, size, fullWidth, customInputRoot, className, onChange, }: SelectProps<T>) => JSX.Element;
|
|
4
4
|
export default Select;
|
package/Select/index.js
CHANGED
|
@@ -57,7 +57,7 @@ var Select = function Select(_ref) {
|
|
|
57
57
|
};
|
|
58
58
|
});
|
|
59
59
|
}, [value, options]);
|
|
60
|
-
var
|
|
60
|
+
var preparedLabel = React.useMemo(function () {
|
|
61
61
|
var _a;
|
|
62
62
|
return (_a = preparedOptions.find(function (_ref3) {
|
|
63
63
|
var selected = _ref3.selected;
|
|
@@ -79,33 +79,36 @@ var Select = function Select(_ref) {
|
|
|
79
79
|
trigger: ["click"],
|
|
80
80
|
zIndex: zIndex,
|
|
81
81
|
fontSize: fontSize,
|
|
82
|
-
disabled:
|
|
82
|
+
disabled: Boolean(disabled),
|
|
83
83
|
overlay: /*#__PURE__*/React__default.default.createElement(index$2.default, {
|
|
84
84
|
options: preparedOptions,
|
|
85
85
|
onChange: onChange
|
|
86
86
|
}),
|
|
87
87
|
samewidth: true
|
|
88
|
-
}, customInputRoot ? customInputRoot : (/*#__PURE__*/React__default.default.createElement(
|
|
88
|
+
}, customInputRoot ? customInputRoot : (/*#__PURE__*/React__default.default.createElement("div", {
|
|
89
|
+
tabIndex: 0,
|
|
90
|
+
role: "button"
|
|
91
|
+
}, /*#__PURE__*/React__default.default.createElement(index$3.default, {
|
|
89
92
|
hasError: hasError,
|
|
90
93
|
size: size,
|
|
91
94
|
className: clx(styles__default.default.root),
|
|
92
95
|
endIcon: /*#__PURE__*/React__default.default.createElement(Chevron.default, {
|
|
93
96
|
className: clx(styles__default.default.icon, {
|
|
94
|
-
icon_isOpen: isOpen
|
|
97
|
+
icon_isOpen: isOpen && Boolean(!disabled)
|
|
95
98
|
})
|
|
96
99
|
}),
|
|
97
|
-
disabled:
|
|
100
|
+
disabled: Boolean(disabled)
|
|
98
101
|
}, /*#__PURE__*/React__default.default.createElement("div", {
|
|
99
102
|
className: clx(styles__default.default["base-input"]),
|
|
100
103
|
"data-testid": "base-input"
|
|
101
|
-
},
|
|
104
|
+
}, preparedLabel !== null && preparedLabel !== void 0 ? preparedLabel : (/*#__PURE__*/React__default.default.createElement("span", {
|
|
102
105
|
className: clx(styles__default.default.placeholder)
|
|
103
106
|
}, placeholder))), /*#__PURE__*/React__default.default.createElement("input", {
|
|
104
107
|
type: "hidden",
|
|
105
108
|
name: name,
|
|
106
109
|
tabIndex: -1,
|
|
107
110
|
value: value || ""
|
|
108
|
-
})))));
|
|
111
|
+
}))))));
|
|
109
112
|
};
|
|
110
113
|
|
|
111
114
|
exports.default = Select;
|
|
@@ -1,122 +1,28 @@
|
|
|
1
|
-
.
|
|
2
|
-
padding-top: 4px;
|
|
3
|
-
}
|
|
4
|
-
.root[data-popper-placement=bottom-start]::before {
|
|
5
|
-
left: 6px;
|
|
6
|
-
top: 0;
|
|
7
|
-
}
|
|
8
|
-
.root[data-popper-placement=bottom-end] {
|
|
9
|
-
padding-top: 4px;
|
|
10
|
-
}
|
|
11
|
-
.root[data-popper-placement=bottom-end]::before {
|
|
12
|
-
right: 6px;
|
|
13
|
-
top: 0;
|
|
14
|
-
}
|
|
15
|
-
.root[data-popper-placement=bottom] {
|
|
16
|
-
padding-top: 4px;
|
|
17
|
-
}
|
|
18
|
-
.root[data-popper-placement=bottom]::before {
|
|
19
|
-
left: 50%;
|
|
20
|
-
top: 0;
|
|
21
|
-
transform: translate(-50%, 0);
|
|
22
|
-
}
|
|
23
|
-
.root[data-popper-placement=right] {
|
|
24
|
-
padding-left: 4px;
|
|
25
|
-
}
|
|
26
|
-
.root[data-popper-placement=right]::before {
|
|
27
|
-
left: -6px;
|
|
28
|
-
top: 50%;
|
|
29
|
-
transform: translate(0, -50%) rotate(-90deg);
|
|
30
|
-
}
|
|
31
|
-
.root[data-popper-placement=right-start] {
|
|
32
|
-
padding-left: 4px;
|
|
33
|
-
}
|
|
34
|
-
.root[data-popper-placement=right-start]::before {
|
|
35
|
-
left: -6px;
|
|
36
|
-
top: 6px;
|
|
37
|
-
transform: rotate(-90deg);
|
|
38
|
-
}
|
|
39
|
-
.root[data-popper-placement=right-end] {
|
|
40
|
-
padding-left: 4px;
|
|
41
|
-
}
|
|
42
|
-
.root[data-popper-placement=right-end]::before {
|
|
43
|
-
bottom: 6px;
|
|
44
|
-
left: -6px;
|
|
45
|
-
transform: rotate(-90deg);
|
|
46
|
-
}
|
|
47
|
-
.root[data-popper-placement=left] {
|
|
48
|
-
padding-right: 4px;
|
|
49
|
-
}
|
|
50
|
-
.root[data-popper-placement=left]::before {
|
|
51
|
-
right: -6px;
|
|
52
|
-
top: 50%;
|
|
53
|
-
transform: translate(0, -50%) rotate(90deg);
|
|
54
|
-
}
|
|
55
|
-
.root[data-popper-placement=left-start] {
|
|
56
|
-
padding-right: 4px;
|
|
57
|
-
}
|
|
58
|
-
.root[data-popper-placement=left-start]::before {
|
|
59
|
-
right: -6px;
|
|
60
|
-
top: 6px;
|
|
61
|
-
transform: rotate(90deg);
|
|
62
|
-
}
|
|
63
|
-
.root[data-popper-placement=left-end] {
|
|
64
|
-
padding-right: 4px;
|
|
65
|
-
}
|
|
66
|
-
.root[data-popper-placement=left-end]::before {
|
|
67
|
-
bottom: 6px;
|
|
68
|
-
right: -6px;
|
|
69
|
-
transform: rotate(90deg);
|
|
70
|
-
}
|
|
71
|
-
.root[data-popper-placement=top] {
|
|
72
|
-
padding-bottom: 4px;
|
|
73
|
-
}
|
|
74
|
-
.root[data-popper-placement=top]::before {
|
|
75
|
-
bottom: 0;
|
|
76
|
-
left: 50%;
|
|
77
|
-
transform: translate(-50%, 0) rotate(180deg);
|
|
78
|
-
}
|
|
79
|
-
.root[data-popper-placement=top-start] {
|
|
80
|
-
padding-bottom: 4px;
|
|
81
|
-
}
|
|
82
|
-
.root[data-popper-placement=top-start]::before {
|
|
83
|
-
bottom: 0;
|
|
84
|
-
left: 6px;
|
|
85
|
-
transform: rotate(180deg);
|
|
86
|
-
}
|
|
87
|
-
.root[data-popper-placement=top-end] {
|
|
88
|
-
padding-bottom: 4px;
|
|
89
|
-
}
|
|
90
|
-
.root[data-popper-placement=top-end]::before {
|
|
91
|
-
bottom: 0;
|
|
92
|
-
right: 6px;
|
|
93
|
-
transform: rotate(180deg);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
.tail {
|
|
97
|
-
position: relative;
|
|
98
|
-
}
|
|
99
|
-
.tail::before {
|
|
100
|
-
border-bottom: 5px solid var(--tooltip-bg);
|
|
101
|
-
border-left: 6px solid transparent;
|
|
102
|
-
border-right: 6px solid transparent;
|
|
103
|
-
content: "";
|
|
104
|
-
height: 0;
|
|
105
|
-
position: absolute;
|
|
106
|
-
width: 0;
|
|
107
|
-
z-index: 3000;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.overlay {
|
|
1
|
+
.tooltip {
|
|
111
2
|
background-color: var(--tooltip-bg);
|
|
112
3
|
border-radius: 0.35rem;
|
|
4
|
+
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
|
|
5
|
+
box-sizing: border-box;
|
|
113
6
|
color: var(--tooltip-color);
|
|
7
|
+
display: inline-block;
|
|
114
8
|
font-size: 14px;
|
|
115
|
-
font-style: normal;
|
|
116
9
|
font-weight: 400;
|
|
117
10
|
line-height: 18px;
|
|
118
11
|
max-width: 200px;
|
|
119
|
-
overflow: hidden;
|
|
120
12
|
padding: 4px 10px;
|
|
121
13
|
position: relative;
|
|
14
|
+
z-index: 1000;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.content {
|
|
18
|
+
background-color: inherit;
|
|
19
|
+
border-radius: inherit;
|
|
20
|
+
color: inherit;
|
|
21
|
+
font-size: inherit;
|
|
22
|
+
font-weight: inherit;
|
|
23
|
+
line-height: inherit;
|
|
24
|
+
max-width: inherit;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
padding: inherit;
|
|
27
|
+
position: relative;
|
|
122
28
|
}
|