@decisiv/ui-components 2.0.1-alpha.195 → 2.0.1-alpha.196
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/lib/components/JumpTo/JumpToMenu.d.ts.map +1 -1
- package/lib/components/JumpTo/JumpToMenu.js +23 -4
- package/lib/components/JumpTo/index.test.js +84 -0
- package/lib/components/Popover/index.d.ts.map +1 -1
- package/lib/components/Popover/index.js +3 -2
- package/lib/components/Popover/types.d.ts +1 -0
- package/lib/components/Popover/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JumpToMenu.d.ts","sourceRoot":"","sources":["../../../src/components/JumpTo/JumpToMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"JumpToMenu.d.ts","sourceRoot":"","sources":["../../../src/components/JumpTo/JumpToMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAcf,OAAO,EAAc,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AA4J7D,QAAA,MAAM,iBAAiB,+EAAyB,CAAC;AAKjD,eAAe,iBAAiB,CAAC"}
|
|
@@ -75,7 +75,8 @@ function JumpToMenu(props, forwardedRef) {
|
|
|
75
75
|
hide: function hide() {},
|
|
76
76
|
isVisible: false,
|
|
77
77
|
show: function show() {},
|
|
78
|
-
toggle: function toggle() {}
|
|
78
|
+
toggle: function toggle() {},
|
|
79
|
+
contentNode: null
|
|
79
80
|
}),
|
|
80
81
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
81
82
|
popover = _useState4[0],
|
|
@@ -113,6 +114,7 @@ function JumpToMenu(props, forwardedRef) {
|
|
|
113
114
|
selector = _ref2.selector;
|
|
114
115
|
itemSelected.current = true;
|
|
115
116
|
popover.hide();
|
|
117
|
+
setIsPopoverVisible(false);
|
|
116
118
|
selector && (0, _utils.jumpToSelector)(selector, globalOffset, itemOffset);
|
|
117
119
|
};
|
|
118
120
|
|
|
@@ -124,10 +126,27 @@ function JumpToMenu(props, forwardedRef) {
|
|
|
124
126
|
}, []);
|
|
125
127
|
var handleMouseEnter = (0, _react.useCallback)(function () {
|
|
126
128
|
setIsPopoverVisible(true);
|
|
127
|
-
|
|
129
|
+
|
|
130
|
+
if (popover && popover.contentNode) {
|
|
131
|
+
(0, _focusWithoutScrolling.default)(popover.contentNode);
|
|
132
|
+
}
|
|
133
|
+
}, [openOnMouseHover, popover, popover && popover.contentNode]);
|
|
128
134
|
var handleMouseLeave = (0, _react.useCallback)(function () {
|
|
129
135
|
setIsPopoverVisible(false);
|
|
130
136
|
}, [openOnMouseHover, popover]);
|
|
137
|
+
var handleMouseEnterButton = (0, _react.useCallback)(function () {
|
|
138
|
+
if (openOnMouseHover) {
|
|
139
|
+
buttonRef && buttonRef.current && (0, _focusWithoutScrolling.default)(buttonRef.current);
|
|
140
|
+
setIsPopoverVisible(true);
|
|
141
|
+
|
|
142
|
+
if (popover && popover.contentNode) {
|
|
143
|
+
(0, _focusWithoutScrolling.default)(popover.contentNode);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}, [openOnMouseHover, buttonRef, popover && popover.contentNode]);
|
|
147
|
+
(0, _react.useEffect)(function () {
|
|
148
|
+
if (!debouncedVisible) itemSelected.current = false;
|
|
149
|
+
}, [debouncedVisible, itemSelected.current]);
|
|
131
150
|
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Button.default, _extends({
|
|
132
151
|
icon: popover.isVisible ? _ChevronUp.default : _ChevronDown.default,
|
|
133
152
|
iconPosition: "right",
|
|
@@ -137,7 +156,7 @@ function JumpToMenu(props, forwardedRef) {
|
|
|
137
156
|
size: "small",
|
|
138
157
|
text: translate(label, 'jumpTo.menuLabel'),
|
|
139
158
|
variant: "ghost",
|
|
140
|
-
onMouseEnter:
|
|
159
|
+
onMouseEnter: handleMouseEnterButton,
|
|
141
160
|
onMouseLeave: handleMouseLeave
|
|
142
161
|
}, popover.ariaAttributes)), _react.default.createElement(_Popover.default, {
|
|
143
162
|
contentRole: "menu",
|
|
@@ -148,7 +167,7 @@ function JumpToMenu(props, forwardedRef) {
|
|
|
148
167
|
zIndex: zIndex,
|
|
149
168
|
onShow: onShow,
|
|
150
169
|
onHide: onHide,
|
|
151
|
-
visible: openOnMouseHover ? debouncedVisible : undefined,
|
|
170
|
+
visible: openOnMouseHover ? debouncedVisible && !itemSelected.current : undefined,
|
|
152
171
|
onMouseEnter: handleMouseEnter,
|
|
153
172
|
onMouseLeave: handleMouseLeave
|
|
154
173
|
}, _react.default.createElement(_Menu.default, _extends({
|
|
@@ -124,4 +124,88 @@ describe('JumpTo', function () {
|
|
|
124
124
|
expect(container.children[0].childElementCount).toEqual(0);
|
|
125
125
|
});
|
|
126
126
|
});
|
|
127
|
+
describe('with openOnMouseHover', function () {
|
|
128
|
+
it('renders list on hover', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
129
|
+
var label, items, _renderJumpTo4, baseElement, getByText;
|
|
130
|
+
|
|
131
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
132
|
+
while (1) {
|
|
133
|
+
switch (_context2.prev = _context2.next) {
|
|
134
|
+
case 0:
|
|
135
|
+
label = 'TEST LABEL';
|
|
136
|
+
items = [{
|
|
137
|
+
label: 'First Item',
|
|
138
|
+
selector: '#item-1'
|
|
139
|
+
}, {
|
|
140
|
+
label: 'Second Item',
|
|
141
|
+
selector: '#item-2'
|
|
142
|
+
}];
|
|
143
|
+
_renderJumpTo4 = renderJumpTo({
|
|
144
|
+
label: label,
|
|
145
|
+
items: items,
|
|
146
|
+
openOnMouseHover: true,
|
|
147
|
+
variant: 'menu'
|
|
148
|
+
}), baseElement = _renderJumpTo4.baseElement, getByText = _renderJumpTo4.getByText;
|
|
149
|
+
(0, _react2.act)(function () {
|
|
150
|
+
_react2.fireEvent.mouseEnter(getByText(label));
|
|
151
|
+
});
|
|
152
|
+
_context2.next = 6;
|
|
153
|
+
return (0, _react2.waitForElement)(function () {
|
|
154
|
+
return getByText(items[0].label);
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
case 6:
|
|
158
|
+
expect(baseElement).toMatchSnapshot();
|
|
159
|
+
|
|
160
|
+
case 7:
|
|
161
|
+
case "end":
|
|
162
|
+
return _context2.stop();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}, _callee2);
|
|
166
|
+
})));
|
|
167
|
+
it('closes popover after selecting an item', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
|
|
168
|
+
var label, items, _renderJumpTo5, baseElement, getByText, queryByText;
|
|
169
|
+
|
|
170
|
+
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
171
|
+
while (1) {
|
|
172
|
+
switch (_context3.prev = _context3.next) {
|
|
173
|
+
case 0:
|
|
174
|
+
label = 'TEST LABEL';
|
|
175
|
+
items = [{
|
|
176
|
+
label: 'First Item',
|
|
177
|
+
selector: '#item-1'
|
|
178
|
+
}, {
|
|
179
|
+
label: 'Second Item',
|
|
180
|
+
selector: '#item-2'
|
|
181
|
+
}];
|
|
182
|
+
_renderJumpTo5 = renderJumpTo({
|
|
183
|
+
label: label,
|
|
184
|
+
items: items,
|
|
185
|
+
openOnMouseHover: true,
|
|
186
|
+
variant: 'menu'
|
|
187
|
+
}), baseElement = _renderJumpTo5.baseElement, getByText = _renderJumpTo5.getByText, queryByText = _renderJumpTo5.queryByText;
|
|
188
|
+
(0, _react2.act)(function () {
|
|
189
|
+
_react2.fireEvent.mouseEnter(getByText(label));
|
|
190
|
+
});
|
|
191
|
+
_context3.next = 6;
|
|
192
|
+
return (0, _react2.waitForElement)(function () {
|
|
193
|
+
return getByText(items[0].label);
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
case 6:
|
|
197
|
+
(0, _react2.act)(function () {
|
|
198
|
+
_react2.fireEvent.click(getByText(items[0].label));
|
|
199
|
+
});
|
|
200
|
+
expect(queryByText(items[0].label)).toBeNull();
|
|
201
|
+
expect(baseElement).toMatchSnapshot();
|
|
202
|
+
|
|
203
|
+
case 9:
|
|
204
|
+
case "end":
|
|
205
|
+
return _context3.stop();
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}, _callee3);
|
|
209
|
+
})));
|
|
210
|
+
});
|
|
127
211
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAUN,MAAM,OAAO,CAAC;AAWf,OAAc,EAAE,WAAW,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,WAAW,IAAI,eAAe,EAE9B,SAAS,IAAI,aAAa,EAC1B,YAAY,IAAI,SAAS,EACzB,MAAM,IAAI,aAAa,EACvB,cAAc,IAAI,kBAAkB,EACpC,mBAAmB,IAAI,uBAAuB,EAE/C,MAAM,SAAS,CAAC;AAGjB,oBAAY,UAAU,GAAG,cAAc,CAAC;AACxC,oBAAY,WAAW,GAAG,eAAe,CAAC;AAC1C,oBAAY,WAAW,GAAG,eAAe,CAAC;AAC1C,oBAAY,SAAS,GAAG,aAAa,CAAC;AACtC,oBAAY,YAAY,GAAG,SAAS,CAAC;AACrC,oBAAY,MAAM,GAAG,aAAa,CAAC;AACnC,oBAAY,cAAc,GAAG,kBAAkB,CAAC;AAChD,oBAAY,mBAAmB,GAAG,uBAAuB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAUN,MAAM,OAAO,CAAC;AAWf,OAAc,EAAE,WAAW,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,WAAW,IAAI,eAAe,EAE9B,SAAS,IAAI,aAAa,EAC1B,YAAY,IAAI,SAAS,EACzB,MAAM,IAAI,aAAa,EACvB,cAAc,IAAI,kBAAkB,EACpC,mBAAmB,IAAI,uBAAuB,EAE/C,MAAM,SAAS,CAAC;AAGjB,oBAAY,UAAU,GAAG,cAAc,CAAC;AACxC,oBAAY,WAAW,GAAG,eAAe,CAAC;AAC1C,oBAAY,WAAW,GAAG,eAAe,CAAC;AAC1C,oBAAY,SAAS,GAAG,aAAa,CAAC;AACtC,oBAAY,YAAY,GAAG,SAAS,CAAC;AACrC,oBAAY,MAAM,GAAG,aAAa,CAAC;AACnC,oBAAY,cAAc,GAAG,kBAAkB,CAAC;AAChD,oBAAY,mBAAmB,GAAG,uBAAuB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAyQnC,QAAA,MAAM,cAAc,mFAAsB,CAAC;AAkD3C,eAAe,cAAc,CAAC"}
|
|
@@ -199,9 +199,10 @@ var Popover = function Popover(props, instanceRef) {
|
|
|
199
199
|
isVisible: isVisible,
|
|
200
200
|
show: show,
|
|
201
201
|
toggle: toggle,
|
|
202
|
-
targetNode: targetNode
|
|
202
|
+
targetNode: targetNode,
|
|
203
|
+
contentNode: contentRef.current
|
|
203
204
|
});
|
|
204
|
-
}, [instanceRef, ariaAttributes, hide, isVisible, show, toggle, targetNode]); // React to changes to the `visible` prop if we are a controlled component
|
|
205
|
+
}, [instanceRef, ariaAttributes, hide, isVisible, show, toggle, targetNode, contentRef && contentRef.current]); // React to changes to the `visible` prop if we are a controlled component
|
|
205
206
|
|
|
206
207
|
(0, _react.useEffect)(function () {
|
|
207
208
|
return setIsVisible(visible !== undefined ? visible : isVisible);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,cAAc,EACd,YAAY,EACZ,SAAS,EACT,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,oBAAY,IAAI,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;AAEtC,oBAAY,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAElD,oBAAY,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AACvD,oBAAY,SAAS,GAAG,OAAO,GAAG,KAAK,CAAC;AAExC,oBAAY,gBAAgB,GAAG,MAAM,IAAI,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decisiv/ui-components",
|
|
3
|
-
"version": "2.0.1-alpha.
|
|
3
|
+
"version": "2.0.1-alpha.196+9518bb9",
|
|
4
4
|
"description": "Decisiv's design system React components",
|
|
5
5
|
"author": "Decisiv UI Development Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
73
|
"private": false,
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "9518bb958af5cb4a795b7feddcaf1695d75ac8ba"
|
|
75
75
|
}
|