@pingux/astro 2.0.3 → 2.0.4-alpha.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.
Files changed (26) hide show
  1. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +5 -4
  2. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +12 -2
  3. package/lib/cjs/components/ListBox/Option.js +7 -3
  4. package/lib/cjs/components/ListItem/ListItem.styles.js +21 -7
  5. package/lib/cjs/components/MultivaluesField/MultivaluesField.stories.js +21 -11
  6. package/lib/cjs/components/TooltipTrigger/TooltipTrigger.stories.js +3 -1
  7. package/lib/cjs/hooks/index.js +7 -0
  8. package/lib/cjs/hooks/useOverlappingMenuHoverState/index.js +14 -0
  9. package/lib/cjs/hooks/useOverlappingMenuHoverState/useOverlappingMenuHoverState.js +61 -0
  10. package/lib/cjs/hooks/useOverlappingMenuHoverState/useOverlappingMenuHoverState.test.js +226 -0
  11. package/lib/cjs/recipes/LinkedListView.stories.js +189 -139
  12. package/lib/cjs/recipes/ListAndPanel.stories.js +21 -46
  13. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.stories.js +5 -4
  14. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +12 -2
  15. package/lib/components/ListBox/Option.js +7 -3
  16. package/lib/components/ListItem/ListItem.styles.js +21 -7
  17. package/lib/components/MultivaluesField/MultivaluesField.stories.js +21 -11
  18. package/lib/components/TooltipTrigger/TooltipTrigger.stories.js +3 -1
  19. package/lib/hooks/index.js +1 -0
  20. package/lib/hooks/useOverlappingMenuHoverState/index.js +1 -0
  21. package/lib/hooks/useOverlappingMenuHoverState/useOverlappingMenuHoverState.js +53 -0
  22. package/lib/hooks/useOverlappingMenuHoverState/useOverlappingMenuHoverState.test.js +219 -0
  23. package/lib/recipes/LinkedListView.stories.js +191 -141
  24. package/lib/recipes/ListAndPanel.stories.js +21 -46
  25. package/package.json +1 -1
  26. package/NOTICE.html +0 -12399
@@ -9,6 +9,7 @@ import MoreVertIcon from 'mdi-react/MoreVertIcon';
9
9
  import PencilIcon from 'mdi-react/PencilIcon';
10
10
  import PlusIcon from 'mdi-react/PlusIcon';
11
11
  import { useOverlayPanelState } from '../hooks';
12
+ import useOverlappingMenuHoverState from '../hooks/useOverlappingMenuHoverState';
12
13
  import { Box, Icon, IconButton, Link, ListItem, ListView, Menu, OverlayPanel, PopoverMenu, SearchField, Separator, SwitchField, Tab, Tabs, Text } from '../index';
13
14
  import { jsx as ___EmotionJSX } from "@emotion/react";
14
15
  export default {
@@ -174,46 +175,20 @@ var ListElement = function ListElement(_ref) {
174
175
  var item = _ref.item,
175
176
  isHoverable = _ref.isHoverable,
176
177
  onClosePanel = _ref.onClosePanel;
177
- var _useState = useState(false),
178
- _useState2 = _slicedToArray(_useState, 2),
179
- isHovered = _useState2[0],
180
- setIsHovered = _useState2[1];
181
- var _useState3 = useState({}),
182
- _useState4 = _slicedToArray(_useState3, 2),
183
- mousePosition = _useState4[0],
184
- setMousePosition = _useState4[1];
185
178
  var listItemRef = useRef();
186
- var handleMenuHoverEnd = function handleMenuHoverEnd() {
187
- var currentPositionX = mousePosition.currentPositionX,
188
- currentPositionY = mousePosition.currentPositionY;
189
- var _listItemRef$current$ = listItemRef.current.getBoundingClientRect(),
190
- height = _listItemRef$current$.height,
191
- right = _listItemRef$current$.right,
192
- top = _listItemRef$current$.top;
193
- var hasMovedBackToRow = currentPositionY < top + height && currentPositionX < right;
194
- if (hasMovedBackToRow) {
195
- setIsHovered(true);
196
- return;
197
- }
198
- setIsHovered(false);
199
- };
200
- var handleMouseMove = function handleMouseMove(e) {
201
- setMousePosition({
202
- currentPositionX: e.clientX,
203
- currentPositionY: e.clientY
204
- });
205
- };
206
- var handleHoveEnd = function handleHoveEnd() {
207
- setIsHovered(false);
208
- };
209
- var handleHoveStart = function handleHoveStart() {
210
- setIsHovered(true);
211
- };
179
+ var _useOverlappingMenuHo = useOverlappingMenuHoverState({
180
+ listItemRef: listItemRef
181
+ }),
182
+ handleHoverEnd = _useOverlappingMenuHo.handleHoverEnd,
183
+ handleHoverStart = _useOverlappingMenuHo.handleHoverStart,
184
+ handleMenuHoverEnd = _useOverlappingMenuHo.handleMenuHoverEnd,
185
+ handleMouseMove = _useOverlappingMenuHo.handleMouseMove,
186
+ isHovered = _useOverlappingMenuHo.isHovered;
212
187
  return ___EmotionJSX(ListItem, {
213
188
  isHovered: isHoverable && isHovered,
214
189
  isRow: true,
215
- onHoverEnd: handleHoveEnd,
216
- onHoverStart: handleHoveStart,
190
+ onHoverEnd: handleHoverEnd,
191
+ onHoverStart: handleHoverStart,
217
192
  onMouseMove: handleMouseMove,
218
193
  ref: listItemRef,
219
194
  sx: sx.listElement.wrapper
@@ -245,9 +220,9 @@ var ListElement = function ListElement(_ref) {
245
220
  icon: MoreVertIcon,
246
221
  size: "md"
247
222
  })), ___EmotionJSX(Menu, {
248
- onAction: handleHoveEnd,
223
+ onAction: handleHoverEnd,
249
224
  onHoverEnd: handleMenuHoverEnd,
250
- onHoverStart: handleHoveStart
225
+ onHoverStart: handleHoverStart
251
226
  }, ___EmotionJSX(Item, {
252
227
  key: "enable"
253
228
  }, "Enable user"), ___EmotionJSX(Item, {
@@ -263,14 +238,14 @@ var ListElement = function ListElement(_ref) {
263
238
  }))));
264
239
  };
265
240
  export var Default = function Default() {
266
- var _useState5 = useState(),
267
- _useState6 = _slicedToArray(_useState5, 2),
268
- selectedItemId = _useState6[0],
269
- setSelectedItemId = _useState6[1];
270
- var _useState7 = useState(),
271
- _useState8 = _slicedToArray(_useState7, 2),
272
- selectedKeys = _useState8[0],
273
- setSelectedKeys = _useState8[1];
241
+ var _useState = useState(),
242
+ _useState2 = _slicedToArray(_useState, 2),
243
+ selectedItemId = _useState2[0],
244
+ setSelectedItemId = _useState2[1];
245
+ var _useState3 = useState(),
246
+ _useState4 = _slicedToArray(_useState3, 2),
247
+ selectedKeys = _useState4[0],
248
+ setSelectedKeys = _useState4[1];
274
249
  var _useOverlayPanelState = useOverlayPanelState(),
275
250
  panelState = _useOverlayPanelState.state,
276
251
  onPanelClose = _useOverlayPanelState.onClose;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "2.0.3",
3
+ "version": "2.0.4-alpha.1",
4
4
  "description": "PingUX themeable React component library",
5
5
  "repository": {
6
6
  "type": "git",