@neo4j-ndl/react 3.5.6 → 3.6.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.
Files changed (84) hide show
  1. package/lib/cjs/_common/IconIndicatorWrapper.js +43 -0
  2. package/lib/cjs/_common/IconIndicatorWrapper.js.map +1 -0
  3. package/lib/cjs/next/index.js +38 -0
  4. package/lib/cjs/next/index.js.map +1 -0
  5. package/lib/cjs/next/side-navigation/SideNavigation.js +206 -0
  6. package/lib/cjs/next/side-navigation/SideNavigation.js.map +1 -0
  7. package/lib/cjs/next/side-navigation/index.js +38 -0
  8. package/lib/cjs/next/side-navigation/index.js.map +1 -0
  9. package/lib/cjs/next/side-navigation/stories/index.js +43 -0
  10. package/lib/cjs/next/side-navigation/stories/index.js.map +1 -0
  11. package/lib/cjs/next/side-navigation/stories/side-nav-badges.story.js +74 -0
  12. package/lib/cjs/next/side-navigation/stories/side-nav-badges.story.js.map +1 -0
  13. package/lib/cjs/next/side-navigation/stories/side-nav-compact.story.js +56 -0
  14. package/lib/cjs/next/side-navigation/stories/side-nav-compact.story.js.map +1 -0
  15. package/lib/cjs/next/side-navigation/stories/side-nav-default.story.js +57 -0
  16. package/lib/cjs/next/side-navigation/stories/side-nav-default.story.js.map +1 -0
  17. package/lib/cjs/next/side-navigation/stories/side-nav-secondary.story.js +72 -0
  18. package/lib/cjs/next/side-navigation/stories/side-nav-secondary.story.js.map +1 -0
  19. package/lib/cjs/next/side-navigation/stories/side-nav.stories.js +87 -0
  20. package/lib/cjs/next/side-navigation/stories/side-nav.stories.js.map +1 -0
  21. package/lib/cjs/popover/Popover.js +2 -1
  22. package/lib/cjs/popover/Popover.js.map +1 -1
  23. package/lib/cjs/popover/use-popover.js +4 -2
  24. package/lib/cjs/popover/use-popover.js.map +1 -1
  25. package/lib/cjs/side-navigation/SideNavigation.js +4 -1
  26. package/lib/cjs/side-navigation/SideNavigation.js.map +1 -1
  27. package/lib/cjs/spotlight/Spotlight.js +2 -2
  28. package/lib/cjs/spotlight/Spotlight.js.map +1 -1
  29. package/lib/cjs/spotlight/SpotlightProvider.js +10 -10
  30. package/lib/cjs/spotlight/SpotlightProvider.js.map +1 -1
  31. package/lib/cjs/spotlight/SpotlightTarget.js +9 -8
  32. package/lib/cjs/spotlight/SpotlightTarget.js.map +1 -1
  33. package/lib/cjs/spotlight/use-indicator.js +20 -20
  34. package/lib/cjs/spotlight/use-indicator.js.map +1 -1
  35. package/lib/esm/_common/IconIndicatorWrapper.js +37 -0
  36. package/lib/esm/_common/IconIndicatorWrapper.js.map +1 -0
  37. package/lib/esm/next/index.js +22 -0
  38. package/lib/esm/next/index.js.map +1 -0
  39. package/lib/esm/next/side-navigation/SideNavigation.js +200 -0
  40. package/lib/esm/next/side-navigation/SideNavigation.js.map +1 -0
  41. package/lib/esm/next/side-navigation/index.js +22 -0
  42. package/lib/esm/next/side-navigation/index.js.map +1 -0
  43. package/lib/esm/next/side-navigation/stories/index.js +33 -0
  44. package/lib/esm/next/side-navigation/stories/index.js.map +1 -0
  45. package/lib/esm/next/side-navigation/stories/side-nav-badges.story.js +72 -0
  46. package/lib/esm/next/side-navigation/stories/side-nav-badges.story.js.map +1 -0
  47. package/lib/esm/next/side-navigation/stories/side-nav-compact.story.js +54 -0
  48. package/lib/esm/next/side-navigation/stories/side-nav-compact.story.js.map +1 -0
  49. package/lib/esm/next/side-navigation/stories/side-nav-default.story.js +55 -0
  50. package/lib/esm/next/side-navigation/stories/side-nav-default.story.js.map +1 -0
  51. package/lib/esm/next/side-navigation/stories/side-nav-secondary.story.js +70 -0
  52. package/lib/esm/next/side-navigation/stories/side-nav-secondary.story.js.map +1 -0
  53. package/lib/esm/next/side-navigation/stories/side-nav.stories.js +84 -0
  54. package/lib/esm/next/side-navigation/stories/side-nav.stories.js.map +1 -0
  55. package/lib/esm/popover/Popover.js +2 -1
  56. package/lib/esm/popover/Popover.js.map +1 -1
  57. package/lib/esm/popover/use-popover.js +4 -2
  58. package/lib/esm/popover/use-popover.js.map +1 -1
  59. package/lib/esm/side-navigation/SideNavigation.js +4 -1
  60. package/lib/esm/side-navigation/SideNavigation.js.map +1 -1
  61. package/lib/esm/spotlight/Spotlight.js +2 -2
  62. package/lib/esm/spotlight/Spotlight.js.map +1 -1
  63. package/lib/esm/spotlight/SpotlightProvider.js +10 -10
  64. package/lib/esm/spotlight/SpotlightProvider.js.map +1 -1
  65. package/lib/esm/spotlight/SpotlightTarget.js +9 -8
  66. package/lib/esm/spotlight/SpotlightTarget.js.map +1 -1
  67. package/lib/esm/spotlight/use-indicator.js +20 -20
  68. package/lib/esm/spotlight/use-indicator.js.map +1 -1
  69. package/lib/types/_common/IconIndicatorWrapper.d.ts +31 -0
  70. package/lib/types/next/index.d.ts +21 -0
  71. package/lib/types/next/side-navigation/SideNavigation.d.ts +93 -0
  72. package/lib/types/next/side-navigation/index.d.ts +21 -0
  73. package/lib/types/next/side-navigation/stories/index.d.ts +28 -0
  74. package/lib/types/next/side-navigation/stories/side-nav-badges.story.d.ts +23 -0
  75. package/lib/types/next/side-navigation/stories/side-nav-compact.story.d.ts +23 -0
  76. package/lib/types/next/side-navigation/stories/side-nav-default.story.d.ts +23 -0
  77. package/lib/types/next/side-navigation/stories/side-nav-secondary.story.d.ts +23 -0
  78. package/lib/types/next/side-navigation/stories/side-nav.stories.d.ts +95 -0
  79. package/lib/types/popover/Popover.d.ts +3 -1
  80. package/lib/types/popover/use-popover.d.ts +2 -1
  81. package/lib/types/side-navigation/SideNavigation.d.ts +4 -1
  82. package/lib/types/spotlight/Spotlight.d.ts +6 -0
  83. package/lib/types/spotlight/SpotlightProvider.d.ts +3 -1
  84. package/package.json +7 -2
@@ -36,8 +36,8 @@ const calcOffset = (variant, placement, rects) => {
36
36
  if (variant === 'border') {
37
37
  // Border variant is always centered around the middle point
38
38
  return {
39
- mainAxis: -rects.reference.height / 2 - rects.floating.height / 2,
40
39
  crossAxis: 0,
40
+ mainAxis: -rects.reference.height / 2 - rects.floating.height / 2,
41
41
  };
42
42
  }
43
43
  const [mainAxisPlacement, crossAxisPlacement] = placement.split('-');
@@ -59,43 +59,43 @@ const calcOffset = (variant, placement, rects) => {
59
59
  mainAxis = -rects.reference.height + rects.floating.height;
60
60
  }
61
61
  return {
62
- mainAxis,
63
62
  crossAxis: crossAxisMult[crossAxisPlacement] *
64
63
  (rects.reference.width / 2 - rects.floating.width * 1.5),
64
+ mainAxis,
65
65
  };
66
66
  };
67
67
  function useIndicator({ isOpen, indicatorVariant = 'border', indicatorPlacement = 'top-right', targetRef, hasPulse = true, hasAnchorPortal, }) {
68
68
  const data = (0, react_1.useFloating)({
69
- open: isOpen,
70
- placement: 'bottom',
69
+ elements: {
70
+ reference: targetRef === null || targetRef === void 0 ? void 0 : targetRef.current,
71
+ },
71
72
  middleware: [
72
73
  (0, react_1.offset)(({ rects }) => calcOffset(indicatorVariant, indicatorPlacement, rects)),
73
74
  ],
75
+ open: isOpen,
76
+ placement: 'bottom',
74
77
  whileElementsMounted: react_1.autoUpdate,
75
- elements: {
76
- reference: targetRef === null || targetRef === void 0 ? void 0 : targetRef.current,
77
- },
78
78
  });
79
79
  const context = data.context;
80
80
  const role = (0, react_1.useRole)(context);
81
81
  const interactions = (0, react_1.useInteractions)([role]);
82
82
  return (0, react_2.useMemo)(() => {
83
- var _a, _b, _c;
84
- return (Object.assign(Object.assign(Object.assign({}, interactions), data), { style: {
85
- width: indicatorVariant === 'border'
86
- ? `${((_a = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) === null || _a === void 0 ? void 0 : _a.clientWidth) || 0}px`
87
- : '8px',
88
- height: indicatorVariant === 'border'
89
- ? `${((_b = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) === null || _b === void 0 ? void 0 : _b.clientHeight) || 0}px`
90
- : '8px',
91
- borderRadius: indicatorVariant === 'border'
92
- ? `${((_c = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) === null || _c === void 0 ? void 0 : _c.style.borderRadius) || 0}`
93
- : '50%',
94
- }, indicatorClasses: (0, classnames_1.default)('ndl-spotlight-target-open', {
83
+ var _a, _b, _c, _d, _e, _f;
84
+ return (Object.assign(Object.assign(Object.assign({}, interactions), data), { hasAnchorPortal, indicatorClasses: (0, classnames_1.default)('ndl-spotlight-target-indicator', {
95
85
  'ndl-spotlight-target-indicator-border': indicatorVariant === 'border',
96
86
  'ndl-spotlight-target-indicator-point': indicatorVariant === 'point',
97
87
  'ndl-spotlight-target-pulse': hasPulse,
98
- }), hasAnchorPortal }));
88
+ }), style: {
89
+ borderRadius: indicatorVariant === 'border'
90
+ ? `${(_b = (_a = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) === null || _a === void 0 ? void 0 : _a.style.borderRadius) !== null && _b !== void 0 ? _b : 0}`
91
+ : '50%',
92
+ height: indicatorVariant === 'border'
93
+ ? `${(_d = (_c = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) === null || _c === void 0 ? void 0 : _c.clientHeight) !== null && _d !== void 0 ? _d : 0}px`
94
+ : '8px',
95
+ width: indicatorVariant === 'border'
96
+ ? `${(_f = (_e = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) === null || _e === void 0 ? void 0 : _e.clientWidth) !== null && _f !== void 0 ? _f : 0}px`
97
+ : '8px',
98
+ } }));
99
99
  }, [
100
100
  interactions,
101
101
  data,
@@ -1 +1 @@
1
- {"version":3,"file":"use-indicator.js","sourceRoot":"","sources":["../../../src/spotlight/use-indicator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-indicator.js","sourceRoot":"","sources":["../../../src/spotlight/use-indicator.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ import classNames from 'classnames';
23
+ import { forwardRef } from 'react';
24
+ export const IconIndicatorWrapper = forwardRef(({ children, type, className, style, htmlAttributes }, ref) => {
25
+ const classes = classNames('ndl-icon-indicator-wrapper', className);
26
+ return (_jsxs("div", Object.assign({ ref: ref, className: classes, style: style }, htmlAttributes, { children: [children, _jsx(IconIndicator, { type: type })] })));
27
+ });
28
+ const IconIndicator = ({ type = 'info' }) => {
29
+ const classes = classNames('ndl-icon-indicator', {
30
+ 'ndl-danger': type === 'danger',
31
+ 'ndl-info': type === 'info',
32
+ 'ndl-warning': type === 'warning',
33
+ });
34
+ return (_jsx("svg", { width: "5", height: "5", viewBox: "0 0 5 5", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: classes, children: _jsx("circle", { cx: "2.5", cy: "2.5", r: "2.5" }) }));
35
+ };
36
+ IconIndicatorWrapper.displayName = 'IconIndicatorWrapper';
37
+ //# sourceMappingURL=IconIndicatorWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconIndicatorWrapper.js","sourceRoot":"","sources":["../../../src/_common/IconIndicatorWrapper.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAcnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAG5C,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,EAAE;IAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;IAEpE,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAM,cAAc,eAChE,QAAQ,EACT,KAAC,aAAa,IAAC,IAAI,EAAE,IAAI,GAAI,KACzB,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAMH,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,EAAsB,EAAE,EAAE;IAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,EAAE;QAC/C,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,UAAU,EAAE,IAAI,KAAK,MAAM;QAC3B,aAAa,EAAE,IAAI,KAAK,SAAS;KAClC,CAAC,CAAC;IAEH,OAAO,CACL,cACE,KAAK,EAAC,GAAG,EACT,MAAM,EAAC,GAAG,EACV,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAE,OAAO,YAElB,iBAAQ,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,GAAG,GAChC,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,oBAAoB,CAAC,WAAW,GAAG,sBAAsB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export * from './side-navigation';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/next/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,200 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ /**
14
+ *
15
+ * Copyright (c) "Neo4j"
16
+ * Neo4j Sweden AB [http://neo4j.com]
17
+ *
18
+ * This file is part of Neo4j.
19
+ *
20
+ * Neo4j is free software: you can redistribute it and/or modify
21
+ * it under the terms of the GNU General Public License as published by
22
+ * the Free Software Foundation, either version 3 of the License, or
23
+ * (at your option) any later version.
24
+ *
25
+ * This program is distributed in the hope that it will be useful,
26
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
27
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28
+ * GNU General Public License for more details.
29
+ *
30
+ * You should have received a copy of the GNU General Public License
31
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
32
+ */
33
+ import { useMergeRefs } from '@floating-ui/react';
34
+ import classNames from 'classnames';
35
+ import { createContext, forwardRef, useContext, useRef, useState } from 'react';
36
+ import { IconIndicatorWrapper, } from '../../_common/IconIndicatorWrapper';
37
+ import { IconButton } from '../../button';
38
+ import { ConditionalWrap } from '../../conditional-wrap';
39
+ import { Divider } from '../../divider';
40
+ import { ChevronRightIconOutline, PinIcon } from '../../icons';
41
+ import { Popover } from '../../popover';
42
+ import { Tooltip } from '../../tooltip';
43
+ import { Typography } from '../../typography';
44
+ const SideNavContext = createContext(null);
45
+ const useSideNavContext = () => {
46
+ const context = useContext(SideNavContext);
47
+ if (!context) {
48
+ throw new Error('SideNavigation subcomponents must be wrapped in <SideNavigation /> component');
49
+ }
50
+ return context;
51
+ };
52
+ const SideNavComponent = forwardRef(function SideNavComponent({ children, className, style, htmlAttributes, isExpanded = false, shouldExpandOnHover = true, pinButtonCallback, expandedWidth = '196px', }, ref) {
53
+ const [isHovered, setIsHovered] = useState(false);
54
+ const onMouseEnter = () => {
55
+ if (shouldExpandOnHover) {
56
+ setIsHovered(true);
57
+ }
58
+ };
59
+ const onMouseLeave = () => {
60
+ if (shouldExpandOnHover) {
61
+ setIsHovered(false);
62
+ }
63
+ };
64
+ const classes = classNames('ndl-side-nav ndl-side-nav-root', {
65
+ 'ndl-side-nav-collapsed': !isExpanded && !shouldExpandOnHover,
66
+ 'ndl-side-nav-expanded': isExpanded,
67
+ });
68
+ const innerClasses = classNames('ndl-side-nav-inner', className, {
69
+ 'ndl-side-nav-hover': shouldExpandOnHover && isHovered && !isExpanded,
70
+ });
71
+ const customStyle = Object.assign(Object.assign({}, style), (Boolean(expandedWidth) && {
72
+ '--side-nav-width-expanded': typeof expandedWidth === 'string'
73
+ ? expandedWidth
74
+ : `${expandedWidth}px`,
75
+ }));
76
+ return (_jsx(SideNavContext.Provider, { value: {
77
+ isExpanded,
78
+ isHovered,
79
+ pinButtonCallback,
80
+ shouldExpandOnHover,
81
+ }, children: _jsx("div", { className: classes, style: customStyle, children: _jsxs("div", Object.assign({ ref: ref, className: innerClasses }, htmlAttributes, { onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, children: [_jsx("nav", { className: "ndl-side-nav-nav", children: children }), shouldExpandOnHover && (_jsx("div", { className: "ndl-side-nav-footer", children: _jsx(PinButton, {}) }))] })) }) }));
82
+ });
83
+ const SideNavList = forwardRef(function SideNavList({ children, className, style }, ref) {
84
+ useSideNavContext();
85
+ const classes = classNames('ndl-side-nav-list', className);
86
+ return (_jsx("ul", { className: classes, ref: ref, style: style, children: children }));
87
+ });
88
+ const NavItem = forwardRef(function NavItem(_a, ref) {
89
+ var { icon, label, rightElement, isSelected, className, style, htmlAttributes, as, badge } = _a, restProps = __rest(_a, ["icon", "label", "rightElement", "isSelected", "className", "style", "htmlAttributes", "as", "badge"]);
90
+ const { isExpanded, isHovered } = useSideNavContext();
91
+ const isInCategory = useSideNavCategoryContext();
92
+ const outerClasses = classNames('ndl-side-nav-item', className, {
93
+ 'ndl-selected': isSelected === true,
94
+ });
95
+ const Component = as !== null && as !== void 0 ? as : 'button';
96
+ return (_jsx("li", { className: outerClasses, children: _jsxs("div", { className: "ndl-side-nav-item-inner", children: [_jsx(SelectedIndicator, {}), _jsx(ConditionalWrap, { shouldWrap: isExpanded === false &&
97
+ isHovered === false &&
98
+ !isInCategory &&
99
+ Boolean(label), wrap: (children) => (_jsxs(Tooltip, { type: "simple", placement: "right", children: [_jsx(Tooltip.Trigger, { hasButtonWrapper: true, children: children }), _jsx(Tooltip.Content, { children: label })] })), children: _jsxs(Component, Object.assign({ ref: ref, className: "ndl-side-nav-item-button", style: style }, htmlAttributes, restProps, { onKeyDown: (e) => {
100
+ if (isInCategory && (e.key === 'Enter' || e.key === ' ')) {
101
+ e.stopPropagation();
102
+ }
103
+ }, children: [Boolean(icon) && (_jsx("div", { className: "ndl-side-nav-item-left-element", children: _jsx(ConditionalWrap, { shouldWrap: Boolean(badge) && !isHovered && !isExpanded, wrap: (children) => {
104
+ var _a;
105
+ return (_jsx(IconIndicatorWrapper, { type: (_a = badge === null || badge === void 0 ? void 0 : badge.type) !== null && _a !== void 0 ? _a : 'info', children: children }));
106
+ }, children: icon }) })), Boolean(label) && (_jsx(Typography, { variant: "body-medium", as: "div", className: "ndl-side-nav-item-label", children: label })), (Boolean(rightElement) || Boolean(badge)) && (_jsxs("div", { className: "ndl-side-nav-item-right-element", children: [rightElement, badge !== undefined && (_jsx(ItemBadge, { type: badge.type, number: badge.number }))] }))] })) })] }) }));
107
+ });
108
+ /**
109
+ * SelectedIndicator
110
+ */
111
+ const SelectedIndicator = () => {
112
+ return _jsx("div", { className: "ndl-side-nav-selected-indicator" });
113
+ };
114
+ const SideNavCategoryContext = createContext(false);
115
+ const useSideNavCategoryContext = () => {
116
+ return useContext(SideNavCategoryContext);
117
+ };
118
+ const CategoryItem = forwardRef(function CategoryItem({ children, icon, label, isSelected, className, style, htmlAttributes, badge, }, ref) {
119
+ const { isExpanded, isHovered } = useSideNavContext();
120
+ const outerClasses = classNames('ndl-side-nav-category-item', className, {
121
+ 'ndl-selected': isSelected === true,
122
+ });
123
+ const [isOpen, setIsOpen] = useState(false);
124
+ const anchorElement = useRef(null);
125
+ const mergedRef = useMergeRefs([ref, anchorElement]);
126
+ return (_jsx(SideNavCategoryContext.Provider, { value: true, children: _jsx("li", { className: outerClasses, children: _jsxs("div", { className: "ndl-side-nav-item-inner", children: [_jsx(SelectedIndicator, {}), _jsxs(Popover, { isOpen: isOpen && children !== undefined && children !== null, onOpenChange: (open) => {
127
+ if (!open) {
128
+ setIsOpen(false);
129
+ }
130
+ }, placement: "top-end-top-start", offset: -7, shouldCaptureFocus: true, children: [_jsx(Popover.Trigger, { hasButtonWrapper: true, children: _jsxs("button", Object.assign({ ref: mergedRef, className: "ndl-side-nav-item-button", style: style }, htmlAttributes, { onMouseEnter: (e) => {
131
+ var _a;
132
+ setIsOpen(true);
133
+ (_a = htmlAttributes === null || htmlAttributes === void 0 ? void 0 : htmlAttributes.onMouseEnter) === null || _a === void 0 ? void 0 : _a.call(htmlAttributes, e);
134
+ }, onMouseLeave: (e) => {
135
+ var _a;
136
+ setIsOpen(false);
137
+ (_a = htmlAttributes === null || htmlAttributes === void 0 ? void 0 : htmlAttributes.onMouseLeave) === null || _a === void 0 ? void 0 : _a.call(htmlAttributes, e);
138
+ }, onKeyDown: (e) => {
139
+ var _a;
140
+ if (e.key === 'Enter' || e.key === ' ') {
141
+ setIsOpen(!isOpen);
142
+ }
143
+ (_a = htmlAttributes === null || htmlAttributes === void 0 ? void 0 : htmlAttributes.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(htmlAttributes, e);
144
+ }, children: [Boolean(icon) && (_jsx("div", { className: "ndl-side-nav-item-left-element", children: _jsx(ConditionalWrap, { shouldWrap: Boolean(badge) && !isHovered && !isExpanded, wrap: (children) => {
145
+ var _a;
146
+ return (_jsx(IconIndicatorWrapper, { type: (_a = badge === null || badge === void 0 ? void 0 : badge.type) !== null && _a !== void 0 ? _a : 'info', children: children }));
147
+ }, children: icon }) })), Boolean(label) && (_jsx(Typography, { variant: "body-medium", as: "div", className: "ndl-side-nav-item-label", children: label })), _jsxs("div", { className: "ndl-side-nav-item-right-element", children: [badge && (_jsx(ItemBadge, { type: badge.type, number: badge.number })), _jsx(ChevronRightIconOutline, { className: "n-size-4 n-text-palette-neutral-icon" })] })] })) }), _jsx(Popover.Content, { as: "nav", className: "ndl-side-nav ndl-side-nav-popover", htmlAttributes: {
148
+ onMouseEnter: () => {
149
+ setIsOpen(true);
150
+ },
151
+ onMouseLeave: () => {
152
+ setIsOpen(false);
153
+ },
154
+ }, children: _jsx("ul", { className: "ndl-side-nav-popover-list", children: children }) })] })] }) }) }));
155
+ });
156
+ const CategoryHeader = ({ children, className }) => {
157
+ const { isExpanded, isHovered } = useSideNavContext();
158
+ const classes = classNames('ndl-side-nav-category-header', className, {
159
+ 'ndl-side-nav-category-header-expanded': isExpanded || isHovered,
160
+ });
161
+ return (_jsx(Typography, { variant: "h6", as: "li", className: classes, children: isExpanded || isHovered ? children : _jsx(Divider, {}) }));
162
+ };
163
+ /**
164
+ * SideNavDivider
165
+ */
166
+ const SideNavDivider = () => {
167
+ return _jsx(Divider, { orientation: "horizontal", className: "ndl-side-nav-divider" });
168
+ };
169
+ const ItemBadge = ({ number, type }) => {
170
+ useSideNavContext();
171
+ const badgeClasses = classNames('ndl-side-nav-item-badge', {
172
+ 'ndl-danger': type === 'danger',
173
+ 'ndl-info': type === 'info',
174
+ 'ndl-warning': type === 'warning',
175
+ });
176
+ return (_jsx(Typography, { as: "span", className: badgeClasses, variant: "subheading-small", htmlAttributes: {
177
+ 'aria-label': `${number} notifications of type ${type}`,
178
+ }, children: number }));
179
+ };
180
+ /**
181
+ * PinButton
182
+ */
183
+ const PinButton = () => {
184
+ const { isExpanded, shouldExpandOnHover, pinButtonCallback } = useSideNavContext();
185
+ const classes = classNames('ndl-side-nav-pin-button');
186
+ if (!shouldExpandOnHover) {
187
+ return null;
188
+ }
189
+ return (_jsx(IconButton, { onClick: pinButtonCallback, className: classes, ariaLabel: "Pin side navigation", size: "medium", isClean: true, isActive: isExpanded, children: _jsx(PinIcon, {}) }));
190
+ };
191
+ const SideNavigation = Object.assign(SideNavComponent, {
192
+ CategoryHeader,
193
+ CategoryItem,
194
+ Divider: SideNavDivider,
195
+ ItemBadge,
196
+ List: SideNavList,
197
+ NavItem,
198
+ });
199
+ export { SideNavigation };
200
+ //# sourceMappingURL=SideNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../../../../src/next/side-navigation/SideNavigation.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export * from './SideNavigation';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/next/side-navigation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export { default as SideNavDefault } from './side-nav-default.story';
22
+ export { default as SideNavCompact } from './side-nav-compact.story';
23
+ export { default as SideNavSecondary } from './side-nav-secondary.story';
24
+ export { default as SideNavBadges } from './side-nav-badges.story';
25
+ import SideNavBadgesSrcRaw from './side-nav-badges.story?raw';
26
+ import SideNavCompactSrcRaw from './side-nav-compact.story?raw';
27
+ import SideNavDefaultSrcRaw from './side-nav-default.story?raw';
28
+ import SideNavSecondarySrcRaw from './side-nav-secondary.story?raw';
29
+ export const SideNavDefaultSrc = SideNavDefaultSrcRaw.replace(/^\/\*[\s\S]*?\*\/\s*/, '');
30
+ export const SideNavCompactSrc = SideNavCompactSrcRaw.replace(/^\/\*[\s\S]*?\*\/\s*/, '');
31
+ export const SideNavSecondarySrc = SideNavSecondarySrcRaw.replace(/^\/\*[\s\S]*?\*\/\s*/, '');
32
+ export const SideNavBadgesSrc = SideNavBadgesSrcRaw.replace(/^\/\*[\s\S]*?\*\/\s*/, '');
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/next/side-navigation/stories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,mBAAmB,MAAM,6BAA6B,CAAC;AAC9D,OAAO,oBAAoB,MAAM,8BAA8B,CAAC;AAChE,OAAO,oBAAoB,MAAM,8BAA8B,CAAC;AAChE,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAC3D,sBAAsB,EACtB,EAAE,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAC3D,sBAAsB,EACtB,EAAE,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,CAC/D,sBAAsB,EACtB,EAAE,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CACzD,sBAAsB,EACtB,EAAE,CACH,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
23
+ import { Typography } from '@neo4j-ndl/react';
24
+ import { CodeBracketIconOutline, HomeIconOutline, MagnifyingGlassIconOutline, ServerIconOutline, WrenchScrewdriverIconOutline, } from '@neo4j-ndl/react/icons';
25
+ import { SideNavigation } from '@neo4j-ndl/react/next';
26
+ import { useState } from 'react';
27
+ const Component = () => {
28
+ const [selected, setSelected] = useState(null);
29
+ const [isExpanded, setIsExpanded] = useState(false);
30
+ return (_jsxs("div", { className: "n-h-[calc(40vh-32px)] n-min-h-[700px] n-flex n-bg-palette-neutral-bg-default", children: [_jsxs(SideNavigation, { isExpanded: isExpanded, shouldExpandOnHover: true, pinButtonCallback: () => setIsExpanded(!isExpanded), children: [_jsxs(SideNavigation.List, { children: [_jsx(SideNavigation.NavItem, { icon: _jsx(HomeIconOutline, {}), label: "Info Badge", isSelected: selected === 'nav-item-1', htmlAttributes: {
31
+ onClick: () => {
32
+ setSelected('nav-item-1');
33
+ },
34
+ }, badge: {
35
+ number: 1,
36
+ type: 'info',
37
+ } }), _jsx(SideNavigation.NavItem, { icon: _jsx(CodeBracketIconOutline, {}), label: "Warning Badge", isSelected: selected === 'nav-item-2', htmlAttributes: {
38
+ onClick: () => setSelected('nav-item-2'),
39
+ }, badge: {
40
+ number: 1,
41
+ type: 'warning',
42
+ } }), _jsx(SideNavigation.NavItem, { icon: _jsx(ServerIconOutline, {}), label: "Critical Badge", isSelected: selected === 'nav-item-3', htmlAttributes: {
43
+ onClick: () => {
44
+ setSelected('nav-item-3');
45
+ },
46
+ }, badge: {
47
+ number: 1,
48
+ type: 'danger',
49
+ } })] }), _jsx(SideNavigation.Divider, {}), _jsx(SideNavigation.List, { children: _jsxs(SideNavigation.CategoryItem, { icon: _jsx(WrenchScrewdriverIconOutline, {}), label: "Category Item", isSelected: ['nav-item-4', 'nav-item-5', 'nav-item-6'].includes(selected !== null && selected !== void 0 ? selected : ''), badge: {
50
+ number: 3,
51
+ type: 'danger',
52
+ }, children: [_jsx(SideNavigation.NavItem, { icon: _jsx(MagnifyingGlassIconOutline, {}), label: "Info Badge", isSelected: selected === 'nav-item-4', htmlAttributes: {
53
+ onClick: () => {
54
+ setSelected('nav-item-4');
55
+ },
56
+ }, badge: {
57
+ number: 1,
58
+ type: 'info',
59
+ } }), _jsx(SideNavigation.NavItem, { icon: _jsx(MagnifyingGlassIconOutline, {}), label: "Warning Badge", isSelected: selected === 'nav-item-5', htmlAttributes: {
60
+ onClick: () => setSelected('nav-item-5'),
61
+ }, badge: {
62
+ number: 1,
63
+ type: 'warning',
64
+ } }), _jsx(SideNavigation.NavItem, { icon: _jsx(MagnifyingGlassIconOutline, {}), label: "Critical Badge", isSelected: selected === 'nav-item-6', htmlAttributes: {
65
+ onClick: () => setSelected('nav-item-6'),
66
+ }, badge: {
67
+ number: 1,
68
+ type: 'danger',
69
+ } })] }) })] }), _jsx("div", { className: "n-h-full n-w-full", children: _jsx("div", { className: "n-flex n-flex-col n-p-8 n-w-full n-max-w-[1024px] n-mx-auto", children: _jsxs("div", { className: "n-flex n-flex-col n-gap-token-4 n-bg-palette-neutral-bg-weak n-p-token-8 n-rounded-lg n-items-center n-justify-center", children: [_jsx(Typography, { variant: "h6", children: "Side Nav with Badges" }), _jsxs(Typography, { variant: "body-medium", children: ["Badges can be used to indicate that there are actions that need attention from the user on the specific page. The badge can have three different types of severity:", _jsx("b", { className: "n-text-palette-primary-text", children: " info" }), ",", _jsx("b", { className: "n-text-palette-warning-text", children: " warning" }), " and", _jsx("b", { className: "n-text-palette-danger-text", children: " danger" }), ".", _jsx("br", {}), _jsx("br", {}), "The badge on a ", _jsx("b", { children: "CategoryItem" }), " should be the type of the highest priority badge of the items in the category. The number should be the total number of badges in the category."] })] }) }) })] }));
70
+ };
71
+ export default Component;
72
+ //# sourceMappingURL=side-nav-badges.story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-nav-badges.story.js","sourceRoot":"","sources":["../../../../../src/next/side-navigation/stories/side-nav-badges.story.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
23
+ import { Typography } from '@neo4j-ndl/react';
24
+ import { AcademicCapIconOutline, ChartBarIconOutline, CodeBracketIconOutline, Cog6ToothIconOutline, HomeIconOutline, MagnifyingGlassIconOutline, ServerIconOutline, WrenchScrewdriverIconOutline, } from '@neo4j-ndl/react/icons';
25
+ import { SideNavigation } from '@neo4j-ndl/react/next';
26
+ import { useState } from 'react';
27
+ const Component = () => {
28
+ const [selected, setSelected] = useState(null);
29
+ return (_jsxs("div", { className: "n-h-[calc(40vh-32px)] n-min-h-[700px] n-flex n-bg-palette-neutral-bg-default", children: [_jsxs(SideNavigation, { isExpanded: false, shouldExpandOnHover: false, children: [_jsxs(SideNavigation.List, { children: [_jsx(SideNavigation.NavItem, { icon: _jsx(HomeIconOutline, {}), label: "Nav Item", isSelected: selected === 'nav-item-1', htmlAttributes: {
30
+ onClick: () => {
31
+ setSelected('nav-item-1');
32
+ },
33
+ } }), _jsx(SideNavigation.NavItem, { icon: _jsx(CodeBracketIconOutline, {}), label: "Nav Item", isSelected: selected === 'nav-item-2', htmlAttributes: {
34
+ onClick: () => setSelected('nav-item-2'),
35
+ } })] }), _jsx(SideNavigation.Divider, {}), _jsxs(SideNavigation.List, { children: [_jsx(SideNavigation.NavItem, { icon: _jsx(ServerIconOutline, {}), label: "Nav Item", isSelected: selected === 'nav-item-3', htmlAttributes: {
36
+ onClick: () => {
37
+ setSelected('nav-item-3');
38
+ },
39
+ } }), _jsxs(SideNavigation.CategoryItem, { icon: _jsx(WrenchScrewdriverIconOutline, {}), label: "Category Item", isSelected: ['nav-item-4', 'nav-item-5'].includes(selected !== null && selected !== void 0 ? selected : ''), children: [_jsx(SideNavigation.NavItem, { icon: _jsx(MagnifyingGlassIconOutline, {}), label: "Nested Nav Item", isSelected: selected === 'nav-item-4', htmlAttributes: {
40
+ onClick: () => {
41
+ setSelected('nav-item-4');
42
+ },
43
+ } }), _jsx(SideNavigation.NavItem, { icon: _jsx(MagnifyingGlassIconOutline, {}), label: "Nested Nav Item", isSelected: selected === 'nav-item-5', htmlAttributes: {
44
+ onClick: () => setSelected('nav-item-5'),
45
+ } })] }), _jsx(SideNavigation.NavItem, { icon: _jsx(ChartBarIconOutline, {}), label: "Nav Item", isSelected: selected === 'nav-item-6', htmlAttributes: {
46
+ onClick: () => setSelected('nav-item-6'),
47
+ } }), _jsx(SideNavigation.NavItem, { icon: _jsx(Cog6ToothIconOutline, {}), label: "Nav Item", isSelected: selected === 'nav-item-7', htmlAttributes: {
48
+ onClick: () => setSelected('nav-item-7'),
49
+ } })] }), _jsx(SideNavigation.Divider, {}), _jsx(SideNavigation.List, { children: _jsx(SideNavigation.NavItem, { icon: _jsx(AcademicCapIconOutline, {}), label: "Nav Item", isSelected: selected === 'nav-item-8', htmlAttributes: {
50
+ onClick: () => setSelected('nav-item-8'),
51
+ } }) })] }), _jsx("div", { className: "n-h-full n-w-full", children: _jsx("div", { className: "n-flex n-flex-col n-p-8 n-w-full n-max-w-[1024px] n-mx-auto", children: _jsxs("div", { className: "n-flex n-flex-col n-gap-token-4 n-bg-palette-neutral-bg-weak n-p-token-8 n-rounded-lg n-items-center n-justify-center", children: [_jsx(Typography, { variant: "h6", children: "Compact Side Nav" }), _jsxs(Typography, { variant: "body-medium", children: ["When using a compact side nav you must make sure to set a", _jsx("b", { children: " label" }), " on the NavItems, as the label will be used for the built in tooltip. It is also needed for screen readers to behave as correctly."] })] }) }) })] }));
52
+ };
53
+ export default Component;
54
+ //# sourceMappingURL=side-nav-compact.story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-nav-compact.story.js","sourceRoot":"","sources":["../../../../../src/next/side-navigation/stories/side-nav-compact.story.tsx"],"names":[],"mappings":"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"}