@neo4j-ndl/react 3.2.4 → 3.2.6

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 (31) hide show
  1. package/lib/cjs/portal/Portal.js.map +1 -1
  2. package/lib/cjs/side-navigation/SideNavigation.js.map +1 -1
  3. package/lib/cjs/spotlight/Spotlight.js +9 -11
  4. package/lib/cjs/spotlight/Spotlight.js.map +1 -1
  5. package/lib/cjs/spotlight/SpotlightProvider.js +18 -1
  6. package/lib/cjs/spotlight/SpotlightProvider.js.map +1 -1
  7. package/lib/cjs/spotlight/SpotlightTarget.js +62 -22
  8. package/lib/cjs/spotlight/SpotlightTarget.js.map +1 -1
  9. package/lib/cjs/spotlight/use-indicator.js +108 -0
  10. package/lib/cjs/spotlight/use-indicator.js.map +1 -0
  11. package/lib/esm/portal/Portal.js.map +1 -1
  12. package/lib/esm/side-navigation/SideNavigation.js.map +1 -1
  13. package/lib/esm/spotlight/Spotlight.js +10 -12
  14. package/lib/esm/spotlight/Spotlight.js.map +1 -1
  15. package/lib/esm/spotlight/SpotlightProvider.js +18 -1
  16. package/lib/esm/spotlight/SpotlightProvider.js.map +1 -1
  17. package/lib/esm/spotlight/SpotlightTarget.js +40 -23
  18. package/lib/esm/spotlight/SpotlightTarget.js.map +1 -1
  19. package/lib/esm/spotlight/use-indicator.js +102 -0
  20. package/lib/esm/spotlight/use-indicator.js.map +1 -0
  21. package/lib/types/_common/CodeBlockWrapper.d.ts +2 -2
  22. package/lib/types/code/Code.d.ts +1 -1
  23. package/lib/types/layout/types.d.ts +1 -1
  24. package/lib/types/portal/Portal.d.ts +1 -1
  25. package/lib/types/select/types.d.ts +1 -1
  26. package/lib/types/spotlight/Spotlight.d.ts +37 -5
  27. package/lib/types/spotlight/SpotlightProvider.d.ts +3 -0
  28. package/lib/types/spotlight/SpotlightTarget.d.ts +7 -1
  29. package/lib/types/spotlight/use-indicator.d.ts +38 -0
  30. package/lib/types/typography/types.d.ts +1 -1
  31. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../../src/portal/Portal.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yCAAyC;AAOlC,MAAM,MAAM,GAAwC,CAAC,EAC1D,QAAQ,EACR,SAAS,GAAG,QAAQ,CAAC,IAAI,GACb,EAAE,EAAE;IAChB,OAAO,IAAA,wBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC;AALW,QAAA,MAAM,UAKjB"}
1
+ {"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../../src/portal/Portal.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yCAAyC;AAOlC,MAAM,MAAM,GAA8C,CAAC,EAChE,QAAQ,EACR,SAAS,GAAG,QAAQ,CAAC,IAAI,GACb,EAAE,EAAE;IAChB,OAAO,IAAA,wBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC;AALW,QAAA,MAAM,UAKjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../../../src/side-navigation/SideNavigation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../../../src/side-navigation/SideNavigation.tsx"],"names":[],"mappings":"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"}
@@ -101,17 +101,15 @@ const SpotlightIconWrapper = react_1.default.forwardRef(function SpotlightIconWr
101
101
  const Component = as || 'div';
102
102
  return ((0, jsx_runtime_1.jsx)(Component, Object.assign({ ref: ref, className: classes, style: style }, htmlAttributes, { children: children })));
103
103
  });
104
- const SpotlightComponent = react_1.default.forwardRef(function SpotlightComponent({ target, actions = [], beforeActions, initialFocus, onClose, children, className, style, htmlAttributes, }, ref) {
105
- const { isActiveSpotlight, isOpen, setActiveSpotlight, setIsOpen } = (0, SpotlightProvider_1.useSpotlightContext)();
106
- const targetRef = react_1.default.useRef(null);
107
- (0, react_1.useEffect)(() => {
108
- const targetElement = document.getElementById(target);
109
- if (!targetElement)
110
- return;
111
- targetRef.current = targetElement;
112
- }, [target]);
104
+ const SpotlightComponent = react_1.default.forwardRef(function SpotlightComponent({ target, actions = [], beforeActions, initialFocus, onClose, placement, hasAnchorPortal, children, className, style, htmlAttributes, }, ref) {
105
+ const { isActiveSpotlight, isOpen, setActiveSpotlight, setIsOpen, registeredTargets, } = (0, SpotlightProvider_1.useSpotlightContext)();
106
+ const [targetElement, setTargetElement] = (0, react_1.useState)(null);
113
107
  const classes = (0, classnames_1.default)('ndl-spotlight', className);
114
- return ((0, jsx_runtime_1.jsx)(popover_1.Popover, { anchorElement: targetRef.current, isOpen: isActiveSpotlight(target) && isOpen, shouldCaptureFocus: true, onOpenChange: (isOpen, event) => {
108
+ (0, react_1.useEffect)(() => {
109
+ var _a;
110
+ setTargetElement((_a = registeredTargets[target]) === null || _a === void 0 ? void 0 : _a.current);
111
+ }, [target, registeredTargets]);
112
+ return ((0, jsx_runtime_1.jsx)(popover_1.Popover, { anchorElement: targetElement, hasAnchorPortal: !!targetElement && hasAnchorPortal, isOpen: isActiveSpotlight(target) && isOpen && !!targetElement, shouldCaptureFocus: true, onOpenChange: (isOpen, event) => {
115
113
  if (!isOpen) {
116
114
  if (event instanceof PointerEvent) {
117
115
  onClose === null || onClose === void 0 ? void 0 : onClose('clickOutside');
@@ -122,7 +120,7 @@ const SpotlightComponent = react_1.default.forwardRef(function SpotlightComponen
122
120
  setActiveSpotlight(null);
123
121
  setIsOpen(false);
124
122
  }
125
- }, initialFocus: initialFocus, children: (0, jsx_runtime_1.jsxs)(popover_1.Popover.Content, Object.assign({ ref: ref, className: classes, style: style }, htmlAttributes, { children: [(0, jsx_runtime_1.jsx)("div", { children: children }), (beforeActions || !!(actions === null || actions === void 0 ? void 0 : actions.length)) && ((0, jsx_runtime_1.jsxs)("div", { className: "ndl-spotlight-footer", children: [(0, jsx_runtime_1.jsx)(typography_1.Typography, { variant: "body-medium", children: beforeActions }), !!(actions === null || actions === void 0 ? void 0 : actions.length) && ((0, jsx_runtime_1.jsx)("div", { className: "ndl-spotlight-actions", children: actions.map((action, index) => ((0, jsx_runtime_1.jsx)(SpotlightActions, Object.assign({}, action), index))) }))] }))] })) }));
123
+ }, initialFocus: initialFocus, placement: placement, children: (0, jsx_runtime_1.jsxs)(popover_1.Popover.Content, Object.assign({ ref: ref, className: classes, style: style }, htmlAttributes, { children: [(0, jsx_runtime_1.jsx)("div", { children: children }), (beforeActions || !!(actions === null || actions === void 0 ? void 0 : actions.length)) && ((0, jsx_runtime_1.jsxs)("div", { className: "ndl-spotlight-footer", children: [(0, jsx_runtime_1.jsx)(typography_1.Typography, { variant: "body-medium", children: beforeActions }), !!(actions === null || actions === void 0 ? void 0 : actions.length) && ((0, jsx_runtime_1.jsx)("div", { className: "ndl-spotlight-actions", children: actions.map((action, index) => ((0, jsx_runtime_1.jsx)(SpotlightActions, Object.assign({}, action), index))) }))] }))] })) }));
126
124
  });
127
125
  SpotlightComponent.displayName = 'Spotlight';
128
126
  const Spotlight = Object.assign(SpotlightComponent, {
@@ -1 +1 @@
1
- {"version":3,"file":"Spotlight.js","sourceRoot":"","sources":["../../../src/spotlight/Spotlight.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Spotlight.js","sourceRoot":"","sources":["../../../src/spotlight/Spotlight.tsx"],"names":[],"mappings":"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"}
@@ -40,18 +40,35 @@ const SpotlightProvider = (props) => {
40
40
  const { children, hasOverlay = true } = props;
41
41
  const [active, setActive] = (0, react_1.useState)(null);
42
42
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
43
+ const [targets, setTargets] = (0, react_1.useState)({});
44
+ const registerTarget = (0, react_1.useCallback)((id, ref) => {
45
+ setTargets((prev) => (Object.assign(Object.assign({}, prev), { [id]: ref })));
46
+ }, []);
47
+ const unregisterTarget = (0, react_1.useCallback)((id) => {
48
+ setTargets((prev) => {
49
+ const newTargets = Object.assign({}, prev);
50
+ delete newTargets[id];
51
+ return newTargets;
52
+ });
53
+ }, []);
43
54
  const contextValue = {
44
55
  isOpen,
45
56
  setIsOpen: (0, react_1.useCallback)((open) => setIsOpen(open), []),
46
57
  isActiveSpotlight: (0, react_1.useCallback)((target) => target === active, [active]),
47
58
  setActiveSpotlight: (0, react_1.useCallback)((target) => setActive(target), []),
59
+ registerTarget,
60
+ unregisterTarget,
61
+ registeredTargets: targets,
48
62
  };
49
63
  const overlayClasses = (0, classnames_1.default)('ndl-spotlight-overlay', {
50
64
  'ndl-spotlight-overlay-open': isOpen && active != null,
51
65
  });
52
66
  /** transparent overlay to sandwich the SpotlightTarget, thus making it "highlighted" */
53
67
  const highlightOverlayClasses = (0, classnames_1.default)(overlayClasses, 'n-bg-transparent n-z-[32]');
54
- return ((0, jsx_runtime_1.jsxs)(SpotlightContext.Provider, { value: contextValue, children: [hasOverlay && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { "data-testid": "ndl-spotlight-overlay-highlight", className: highlightOverlayClasses }), (0, jsx_runtime_1.jsx)("div", { "data-testid": "ndl-spotlight-overlay", className: overlayClasses })] })), children] }));
68
+ return ((0, jsx_runtime_1.jsxs)(SpotlightContext.Provider, { value: contextValue, children: [hasOverlay && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { role: "presentation", onClick: () => {
69
+ setIsOpen(false);
70
+ setActive(null);
71
+ }, "data-testid": "ndl-spotlight-overlay-highlight", className: highlightOverlayClasses }), (0, jsx_runtime_1.jsx)("div", { "data-testid": "ndl-spotlight-overlay", className: overlayClasses })] })), children] }));
55
72
  };
56
73
  exports.SpotlightProvider = SpotlightProvider;
57
74
  //# sourceMappingURL=SpotlightProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpotlightProvider.js","sourceRoot":"","sources":["../../../src/spotlight/SpotlightProvider.tsx"],"names":[],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,4DAAoC;AACpC,iCAAgF;AAahF,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAA8B,IAAI,CAAC,CAAC;AAEnE,MAAM,mBAAmB,GAAG,GAAyB,EAAE;IAC5D,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,gBAAgB,CAAC,CAAC;IAE7C,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAVW,QAAA,mBAAmB,uBAU9B;AAQK,MAAM,iBAAiB,GAAG,CAAC,KAA6B,EAAE,EAAE;IACjE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG;QACnB,MAAM;QACN,SAAS,EAAE,IAAA,mBAAW,EAAC,CAAC,IAAa,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9D,iBAAiB,EAAE,IAAA,mBAAW,EAC5B,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,EACrC,CAAC,MAAM,CAAC,CACT;QACD,kBAAkB,EAAE,IAAA,mBAAW,EAC7B,CAAC,MAAqB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAC5C,EAAE,CACH;KACF,CAAC;IAEF,MAAM,cAAc,GAAG,IAAA,oBAAU,EAAC,uBAAuB,EAAE;QACzD,4BAA4B,EAAE,MAAM,IAAI,MAAM,IAAI,IAAI;KACvD,CAAC,CAAC;IAEH,wFAAwF;IACxF,MAAM,uBAAuB,GAAG,IAAA,oBAAU,EACxC,cAAc,EACd,2BAA2B,CAC5B,CAAC;IAEF,OAAO,CACL,wBAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,aAC3C,UAAU,IAAI,CACb,6DACE,+CACc,iCAAiC,EAC7C,SAAS,EAAE,uBAAuB,GAC7B,EACP,+CACc,uBAAuB,EACnC,SAAS,EAAE,cAAc,GACpB,IACN,CACJ,EACA,QAAQ,IACiB,CAC7B,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,iBAAiB,qBA6C5B"}
1
+ {"version":3,"file":"SpotlightProvider.js","sourceRoot":"","sources":["../../../src/spotlight/SpotlightProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -25,34 +48,51 @@ const jsx_runtime_1 = require("react/jsx-runtime");
25
48
  * You should have received a copy of the GNU General Public License
26
49
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
27
50
  */
28
- const react_1 = __importDefault(require("react"));
51
+ const react_1 = __importStar(require("react"));
29
52
  const SpotlightProvider_1 = require("./SpotlightProvider");
30
53
  const classnames_1 = __importDefault(require("classnames"));
31
54
  const ConditionalWrap_1 = __importDefault(require("../_common/ConditionalWrap"));
32
- exports.SpotlightTarget = react_1.default.forwardRef(function SpotlightTarget({ id, hasPulse = true, backgroundColor, borderRadius, children, className, htmlAttributes, }, ref) {
33
- const { isActiveSpotlight, isOpen, setIsOpen } = (0, SpotlightProvider_1.useSpotlightContext)();
55
+ const use_indicator_1 = require("./use-indicator");
56
+ const react_2 = require("@floating-ui/react");
57
+ exports.SpotlightTarget = react_1.default.forwardRef(function SpotlightTarget({ id, hasPulse = true, indicatorVariant = 'border', indicatorPlacement = 'top-right', backgroundColor, borderRadius, hasAnchorPortal, children, className, htmlAttributes, }, ref) {
58
+ const { isActiveSpotlight, isOpen, setIsOpen, registerTarget, unregisterTarget, } = (0, SpotlightProvider_1.useSpotlightContext)();
59
+ const internalRef = react_1.default.useRef(null);
60
+ const mergedRefs = (0, react_2.useMergeRefs)([ref, internalRef]);
61
+ (0, react_1.useEffect)(() => {
62
+ if (internalRef.current)
63
+ registerTarget(id, internalRef);
64
+ return () => unregisterTarget(id);
65
+ }, [id, registerTarget, unregisterTarget]);
34
66
  const classes = (0, classnames_1.default)('ndl-spotlight-target', {
35
- 'ndl-spotlight-target-pulse': hasPulse,
36
67
  'ndl-spotlight-target-open': isOpen,
37
68
  }, className);
38
69
  const isActive = isActiveSpotlight(id);
39
- return ((0, jsx_runtime_1.jsx)("div", { className: isActive ? classes : '', style: { backgroundColor, borderRadius }, children: (0, jsx_runtime_1.jsx)("div", Object.assign({ role: isActive ? 'button' : undefined, id: id, ref: ref, className: "ndl-spotlight-target-inner", onClick: (e) => {
40
- if (isActive && !isOpen) {
41
- setIsOpen(true);
42
- e.preventDefault();
43
- }
44
- }, style: { borderRadius }, onKeyDown: (e) => {
45
- console.log('e.key', e); // eslint-disable-line
46
- if (isActive &&
47
- !isOpen &&
48
- (e.code === 'Enter' || e.code === 'Space')) {
49
- setIsOpen(true);
50
- e.preventDefault();
51
- }
52
- }, tabIndex: isActive ? 0 : -1, "aria-label": "spotlight target" }, htmlAttributes, { children: (0, jsx_runtime_1.jsx)(ConditionalWrap_1.default, { shouldWrap: isActive,
53
- // TODO v4: inert should be fixed in react 19? https://github.com/facebook/react/pull/24730#event-12109747640. inert="" is a workaround for now
54
- wrap: (children) => (
55
- /* @ts-expect-error inert not allowed */
56
- (0, jsx_runtime_1.jsx)("div", { inert: "", "aria-disabled": true, className: "ndl-spotlight-target-inert", children: children })), children: children }) })) }));
70
+ const indicator = (0, use_indicator_1.useIndicator)({
71
+ isOpen: isActive,
72
+ indicatorVariant,
73
+ indicatorPlacement,
74
+ targetRef: internalRef,
75
+ hasPulse,
76
+ hasAnchorPortal,
77
+ });
78
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", Object.assign({ role: isActive ? 'button' : undefined, id: id, ref: mergedRefs, className: classes, onClick: (e) => {
79
+ if (isActive && !isOpen) {
80
+ setIsOpen(true);
81
+ e.preventDefault();
82
+ }
83
+ }, style: { backgroundColor, borderRadius }, onKeyDown: (e) => {
84
+ if (isActive &&
85
+ !isOpen &&
86
+ (e.code === 'Enter' || e.code === 'Space')) {
87
+ setIsOpen(true);
88
+ e.preventDefault();
89
+ }
90
+ }, tabIndex: isActive ? 0 : -1, "aria-label": "spotlight target" }, htmlAttributes, { children: (0, jsx_runtime_1.jsx)(ConditionalWrap_1.default, { shouldWrap: isActive,
91
+ // TODO v4: inert should be fixed in react 19? https://github.com/facebook/react/pull/24730#event-12109747640. inert="" is a workaround for now
92
+ wrap: (children) => (
93
+ /* @ts-expect-error inert not allowed */
94
+ (0, jsx_runtime_1.jsx)("div", { inert: "", "aria-disabled": true, className: "ndl-spotlight-target-inert", children: children })), children: children }) })), (0, jsx_runtime_1.jsx)(react_2.FloatingPortal, { root: indicator.hasAnchorPortal
95
+ ? indicator.context.refs.reference.current
96
+ : null, children: indicator.context.open && ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: indicator.indicatorClasses, ref: indicator.context.refs.setFloating, style: Object.assign(Object.assign({}, indicator.floatingStyles), indicator.style) }, indicator.getFloatingProps()))) })] }));
57
97
  });
58
98
  //# sourceMappingURL=SpotlightTarget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpotlightTarget.js","sourceRoot":"","sources":["../../../src/spotlight/SpotlightTarget.tsx"],"names":[],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,kDAA0B;AAC1B,2DAA0D;AAC1D,4DAAoC;AAMpC,iFAAyD;AAgB5C,QAAA,eAAe,GAGxB,eAAK,CAAC,UAAU,CAAC,SAAS,eAAe,CAG3C,EACE,EAAE,EACF,QAAQ,GAAG,IAAI,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,GACsC,EACtD,GAAsB;IAEtB,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,uCAAmB,GAAE,CAAC;IAEvE,MAAM,OAAO,GAAG,IAAA,oBAAU,EACxB,sBAAsB,EACtB;QACE,4BAA4B,EAAE,QAAQ;QACtC,2BAA2B,EAAE,MAAM;KACpC,EACD,SAAS,CACV,CAAC;IAEF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAEvC,OAAO,CACL,gCACE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAClC,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,YAExC,8CACE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACrC,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,EACvB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB;gBAC/C,IACE,QAAQ;oBACR,CAAC,MAAM;oBACP,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAC1C,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,EACD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAChB,kBAAkB,IACzB,cAAc,cAElB,uBAAC,yBAAe,IACd,UAAU,EAAE,QAAQ;gBACpB,+IAA+I;gBAC/I,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClB,wCAAwC;gBACxC,gCAAK,KAAK,EAAC,EAAE,yBAAe,SAAS,EAAC,4BAA4B,YAC/D,QAAQ,GACL,CACP,YAEA,QAAQ,GACO,IACd,GACF,CACP,CAAC;AACJ,CAAC,CAAsE,CAAC"}
1
+ {"version":3,"file":"SpotlightTarget.js","sourceRoot":"","sources":["../../../src/spotlight/SpotlightTarget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useIndicator = useIndicator;
7
+ /**
8
+ *
9
+ * Copyright (c) "Neo4j"
10
+ * Neo4j Sweden AB [http://neo4j.com]
11
+ *
12
+ * This file is part of Neo4j.
13
+ *
14
+ * Neo4j is free software: you can redistribute it and/or modify
15
+ * it under the terms of the GNU General Public License as published by
16
+ * the Free Software Foundation, either version 3 of the License, or
17
+ * (at your option) any later version.
18
+ *
19
+ * This program is distributed in the hope that it will be useful,
20
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
+ * GNU General Public License for more details.
23
+ *
24
+ * You should have received a copy of the GNU General Public License
25
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
26
+ */
27
+ const react_1 = require("@floating-ui/react");
28
+ const classnames_1 = __importDefault(require("classnames"));
29
+ const react_2 = require("react");
30
+ const crossAxisMult = {
31
+ left: -1,
32
+ middle: 0,
33
+ right: 1,
34
+ };
35
+ const calcOffset = (variant, placement, rects) => {
36
+ if (variant === 'border') {
37
+ // Border variant is always centered around the middle point
38
+ return {
39
+ mainAxis: -rects.reference.height / 2 - rects.floating.height / 2,
40
+ crossAxis: 0,
41
+ };
42
+ }
43
+ const [mainAxisPlacement, crossAxisPlacement] = placement.split('-');
44
+ /** Note for future reference:
45
+ * Main axis (vertical) is zero at the bottom border of the target.
46
+ * Cross axis (horizontal) is zero at the middle of the target
47
+ * */
48
+ let mainAxis = 0;
49
+ if (mainAxisPlacement === 'bottom') {
50
+ // put the indicator one height of the point above the bottom border of the target
51
+ mainAxis = -2 * rects.floating.height;
52
+ }
53
+ else if (mainAxisPlacement === 'middle') {
54
+ // put the indicator in the middle of the target
55
+ mainAxis = -rects.reference.height / 2 - rects.floating.height / 2;
56
+ }
57
+ else if (mainAxisPlacement === 'top') {
58
+ // put the indicator one height of the point below the top border of the target
59
+ mainAxis = -rects.reference.height + rects.floating.height;
60
+ }
61
+ return {
62
+ mainAxis,
63
+ crossAxis: crossAxisMult[crossAxisPlacement] *
64
+ (rects.reference.width / 2 - rects.floating.width * 1.5),
65
+ };
66
+ };
67
+ function useIndicator({ isOpen, indicatorVariant = 'border', indicatorPlacement = 'top-right', targetRef, hasPulse = true, hasAnchorPortal, }) {
68
+ const data = (0, react_1.useFloating)({
69
+ open: isOpen,
70
+ placement: 'bottom',
71
+ middleware: [
72
+ (0, react_1.offset)(({ rects }) => calcOffset(indicatorVariant, indicatorPlacement, rects)),
73
+ ],
74
+ whileElementsMounted: react_1.autoUpdate,
75
+ elements: {
76
+ reference: targetRef === null || targetRef === void 0 ? void 0 : targetRef.current,
77
+ },
78
+ });
79
+ const context = data.context;
80
+ const role = (0, react_1.useRole)(context);
81
+ const interactions = (0, react_1.useInteractions)([role]);
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', {
95
+ 'ndl-spotlight-target-indicator-border': indicatorVariant === 'border',
96
+ 'ndl-spotlight-target-indicator-point': indicatorVariant === 'point',
97
+ 'ndl-spotlight-target-pulse': hasPulse,
98
+ }), hasAnchorPortal }));
99
+ }, [
100
+ interactions,
101
+ data,
102
+ indicatorVariant,
103
+ targetRef,
104
+ hasPulse,
105
+ hasAnchorPortal,
106
+ ]);
107
+ }
108
+ //# sourceMappingURL=use-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-indicator.js","sourceRoot":"","sources":["../../../src/spotlight/use-indicator.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../../src/portal/Portal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAOzC,MAAM,CAAC,MAAM,MAAM,GAAwC,CAAC,EAC1D,QAAQ,EACR,SAAS,GAAG,QAAQ,CAAC,IAAI,GACb,EAAE,EAAE;IAChB,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../../src/portal/Portal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAOzC,MAAM,CAAC,MAAM,MAAM,GAA8C,CAAC,EAChE,QAAQ,EACR,SAAS,GAAG,QAAQ,CAAC,IAAI,GACb,EAAE,EAAE;IAChB,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../../../src/side-navigation/SideNavigation.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAc,EACZ,aAAa,EAEb,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAO3E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,MAAM,iBAAiB,GAAG,CACxB,QAAgC,EAChC,UAAmB,EACN,EAAE;IACf,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAC3B,KAAC,sBAAsB,IAAC,SAAS,EAAC,aAAa,GAAG,CACnD,CAAC,CAAC,CAAC,CACF,KAAC,uBAAuB,IAAC,SAAS,EAAC,aAAa,GAAG,CACpD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAC3B,KAAC,uBAAuB,IAAC,SAAS,EAAC,aAAa,GAAG,CACpD,CAAC,CAAC,CAAC,CACF,KAAC,sBAAsB,IAAC,SAAS,EAAC,aAAa,GAAG,CACnD,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAsBF,MAAM,uBAAuB,GAAG,UAAU,CAAC,SAAS,uBAAuB,CACzE,EACE,UAAU,EACV,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,WAAW,GAAG,KAAK,EACnB,QAAQ,GAAG,MAAM,EACjB,IAAI,EAAE,WAAW,GAAG,OAAO,EAC3B,cAAc,GACM,EACtB,GAAuC;IAEvC,2EAA2E;IAC3E,MAAM,IAAI,GAAG,WAAW,CAAC;IAEzB,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,EAAE,SAAS,EAAE;QAC3D,cAAc,EAAE,UAAU;QAC1B,qCAAqC,EAAE,CAAC,UAAU,IAAI,IAAI,KAAK,OAAO;QACtE,CAAC,OAAO,QAAQ,EAAE,CAAC,EAAE,QAAQ;KAC9B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,YACtE,6BACE,SAAS,EAAE,OAAO,EAClB,GAAG,EAAE,GAAG,IACJ,CAAC,CAAC,UAAU;YACd,CAAC,WAAW,IAAI;YACd,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,mBAAmB;SAC7B,CAAC,EACA,cAAc,eAElB,cAAK,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAO,EACxD,gBAAgB,KAAK,SAAS,IAAI,CACjC,KAAC,UAAU,IACT,SAAS,EAAC,mCAAmC,EAC7C,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,EACnE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAC3C,OAAO,EAAE,IAAI,EACb,cAAc,EAAE;wBACd,aAAa,EAAE,yBAAyB;wBACxC,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,kBAAkB;qBAC/D,YAEA,IAAI,GACM,CACd,KACG,GACyB,CAClC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,uBAAuB,CAAC,WAAW,GAAG,gBAAgB,CAAC;AAQvD,MAAM,qBAAqB,GAAG,aAAa,CACzC,IAAI,CACL,CAAC;AAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAOzE,MAAM,yBAAyB,GAC7B,aAAa,CAAuC,IAAI,CAAC,CAAC;AAE5D,MAAM,4BAA4B,GAAG,GAAG,EAAE,CACxC,UAAU,CAAC,yBAAyB,CAAC,CAAC;AASxC,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,kBAAkB,CAC/D,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAA2B,EAChE,GAAyC;;IAEzC,MAAM,OAAO,GAAG,UAAU,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAA,4BAA4B,EAAE,mCAAI;QAClD,KAAK,EAAE,CAAC,CAAC;KACV,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAA,wBAAwB,EAAE,mCAAI;QACtE,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,OAAO;KACd,CAAC;IACF,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,CACL,KAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,YACnE,2BAAI,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAM,cAAc,cACjD,QAAQ,IACN,GAC8B,CACtC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,kBAAkB,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAoBvD,MAAM,kBAAkB,GAGpB,UAAU,CAAC,SAAS,kBAAkB,CACxC,EAUyD,EACzD,GAAsB;;QAXtB,EACE,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,UAAU,GAAG,KAAK,EAClB,YAAY,GAAG,IAAI,EACnB,KAAK,GAAG,EAAE,EACV,cAAc,OAEyC,EADpD,SAAS,cATd,gGAUC,CADa;IAId,MAAM,SAAS,GAAsB,EAAE,IAAI,GAAG,CAAC;IAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAA,4BAA4B,EAAE,mCAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACjE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAA,wBAAwB,EAAE,mCAAI;QACtE,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,OAAO;KACd,CAAC;IACF,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,EAAE;QACxC,8BAA8B,EAAE,IAAI,KAAK,OAAO;QAChD,oCAAoC,EAAE,IAAI,KAAK,OAAO;QACtD,cAAc,EAAE,UAAU;KAC3B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,UAAU,CAAC,gCAAgC,EAAE;QAChE,cAAc,EAAE,UAAU;QAC1B,gBAAgB,EAAE,YAAY;KAC/B,CAAC,CAAC;IAEH,IAAI,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,+IAA+I,CAChJ,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,sIAAsI,CACvI,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,CACL,aAAI,SAAS,EAAE,WAAW,YACxB,MAAC,SAAS,kBACR,SAAS,EAAE,YAAY,EACvB,KAAK,kBAAI,WAAW,IAAK,KAAK,GAC9B,GAAG,EAAE,GAAG,IACJ,SAAS,EACT,cAAc,eAEjB,WAAW,IAAI,IAAI,IAAI,eAAM,SAAS,EAAC,UAAU,YAAE,IAAI,GAAQ,EAC/D,UAAU,IAAI,QAAQ,KACb,GACT,CACN,CAAC;AACJ,CAAC,CAAuE,CAAC;AAUzE,MAAM,uBAAuB,GAAG,UAAU,CAAC,SAAS,uBAAuB,CACzE,EAAuE,EACvE,GAAkC;;QADlC,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,OAA8C,EAAzC,SAAS,cAAvC,oBAAyC,CAAF;IAGvC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAA,wBAAwB,EAAE,mCAAI;QACnD,UAAU,EAAE,IAAI;KACjB,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE;QAC3C,UAAU,EAAE,IAAI,KAAK,MAAM;QAC3B,aAAa,EAAE,IAAI,KAAK,SAAS;QACjC,cAAc,EAAE,IAAI,KAAK,UAAU;KACpC,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,UAAU,kBACT,EAAE,EAAC,MAAM,EACT,SAAS,EAAE,YAAY,EACvB,OAAO,EAAC,kBAAkB,IACtB,SAAS,IACb,GAAG,EAAE,GAAG,YAEP,QAAQ,IACE,CACd,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,uBAAuB,CAAC,WAAW,GAAG,0BAA0B,CAAC;AAQjE,MAAM,yBAAyB,GAG3B,UAAU,CAAC,SAAS,yBAAyB,CAG/C,EACE,QAAQ,EACR,SAAS,EACT,EAAE,EACF,KAAK,EACL,cAAc,GACgD,EAChE,GAAsB;;IAEtB,MAAM,SAAS,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC;IAC7B,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAA,wBAAwB,EAAE,mCAAI;QACtE,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,KAAK;KACnB,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE;QACpC,8BAA8B,EAAE,IAAI,KAAK,OAAO;QAChD,oCAAoC,EAAE,IAAI,KAAK,OAAO;KACvD,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3E,OAAO,CACL,KAAC,SAAS,kBACR,SAAS,EAAE,OAAO,EAClB,KAAK,kBAAI,WAAW,IAAK,KAAK,KAC1B,cAAc,cAElB,eACE,SAAS,EAAC,iEAAiE,EAC3E,GAAG,EAAE,GAAG,aAEP,CAAC,UAAU,IAAI,WAAW,IAAI,KAAC,OAAO,KAAG,EACzC,UAAU,IAAI,QAAQ,IACnB,IACI,CACb,CAAC;AACJ,CAAC,CAGA,CAAC;AAEF,6IAA6I;AAC7I,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAC5D,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,yBAAyB;IACtC,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,uBAAuB;CACnC,CAAC,CAAC;AACH,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../../../src/side-navigation/SideNavigation.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAc,EACZ,aAAa,EAEb,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAO3E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,MAAM,iBAAiB,GAAG,CACxB,QAAgC,EAChC,UAAmB,EACA,EAAE;IACrB,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAC3B,KAAC,sBAAsB,IAAC,SAAS,EAAC,aAAa,GAAG,CACnD,CAAC,CAAC,CAAC,CACF,KAAC,uBAAuB,IAAC,SAAS,EAAC,aAAa,GAAG,CACpD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAC3B,KAAC,uBAAuB,IAAC,SAAS,EAAC,aAAa,GAAG,CACpD,CAAC,CAAC,CAAC,CACF,KAAC,sBAAsB,IAAC,SAAS,EAAC,aAAa,GAAG,CACnD,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAsBF,MAAM,uBAAuB,GAAG,UAAU,CAAC,SAAS,uBAAuB,CACzE,EACE,UAAU,EACV,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,WAAW,GAAG,KAAK,EACnB,QAAQ,GAAG,MAAM,EACjB,IAAI,EAAE,WAAW,GAAG,OAAO,EAC3B,cAAc,GACM,EACtB,GAAuC;IAEvC,2EAA2E;IAC3E,MAAM,IAAI,GAAG,WAAW,CAAC;IAEzB,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,EAAE,SAAS,EAAE;QAC3D,cAAc,EAAE,UAAU;QAC1B,qCAAqC,EAAE,CAAC,UAAU,IAAI,IAAI,KAAK,OAAO;QACtE,CAAC,OAAO,QAAQ,EAAE,CAAC,EAAE,QAAQ;KAC9B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,YACtE,6BACE,SAAS,EAAE,OAAO,EAClB,GAAG,EAAE,GAAG,IACJ,CAAC,CAAC,UAAU;YACd,CAAC,WAAW,IAAI;YACd,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,mBAAmB;SAC7B,CAAC,EACA,cAAc,eAElB,cAAK,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAO,EACxD,gBAAgB,KAAK,SAAS,IAAI,CACjC,KAAC,UAAU,IACT,SAAS,EAAC,mCAAmC,EAC7C,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,EACnE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAC3C,OAAO,EAAE,IAAI,EACb,cAAc,EAAE;wBACd,aAAa,EAAE,yBAAyB;wBACxC,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,kBAAkB;qBAC/D,YAEA,IAAI,GACM,CACd,KACG,GACyB,CAClC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,uBAAuB,CAAC,WAAW,GAAG,gBAAgB,CAAC;AAQvD,MAAM,qBAAqB,GAAG,aAAa,CACzC,IAAI,CACL,CAAC;AAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAOzE,MAAM,yBAAyB,GAC7B,aAAa,CAAuC,IAAI,CAAC,CAAC;AAE5D,MAAM,4BAA4B,GAAG,GAAG,EAAE,CACxC,UAAU,CAAC,yBAAyB,CAAC,CAAC;AASxC,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,kBAAkB,CAC/D,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAA2B,EAChE,GAAyC;;IAEzC,MAAM,OAAO,GAAG,UAAU,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAA,4BAA4B,EAAE,mCAAI;QAClD,KAAK,EAAE,CAAC,CAAC;KACV,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAA,wBAAwB,EAAE,mCAAI;QACtE,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,OAAO;KACd,CAAC;IACF,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,CACL,KAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,YACnE,2BAAI,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAM,cAAc,cACjD,QAAQ,IACN,GAC8B,CACtC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,kBAAkB,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAoBvD,MAAM,kBAAkB,GAGpB,UAAU,CAAC,SAAS,kBAAkB,CACxC,EAUyD,EACzD,GAAsB;;QAXtB,EACE,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,UAAU,GAAG,KAAK,EAClB,YAAY,GAAG,IAAI,EACnB,KAAK,GAAG,EAAE,EACV,cAAc,OAEyC,EADpD,SAAS,cATd,gGAUC,CADa;IAId,MAAM,SAAS,GAAsB,EAAE,IAAI,GAAG,CAAC;IAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAA,4BAA4B,EAAE,mCAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACjE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAA,wBAAwB,EAAE,mCAAI;QACtE,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,OAAO;KACd,CAAC;IACF,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,EAAE;QACxC,8BAA8B,EAAE,IAAI,KAAK,OAAO;QAChD,oCAAoC,EAAE,IAAI,KAAK,OAAO;QACtD,cAAc,EAAE,UAAU;KAC3B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,UAAU,CAAC,gCAAgC,EAAE;QAChE,cAAc,EAAE,UAAU;QAC1B,gBAAgB,EAAE,YAAY;KAC/B,CAAC,CAAC;IAEH,IAAI,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,+IAA+I,CAChJ,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,sIAAsI,CACvI,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,CACL,aAAI,SAAS,EAAE,WAAW,YACxB,MAAC,SAAS,kBACR,SAAS,EAAE,YAAY,EACvB,KAAK,kBAAI,WAAW,IAAK,KAAK,GAC9B,GAAG,EAAE,GAAG,IACJ,SAAS,EACT,cAAc,eAEjB,WAAW,IAAI,IAAI,IAAI,eAAM,SAAS,EAAC,UAAU,YAAE,IAAI,GAAQ,EAC/D,UAAU,IAAI,QAAQ,KACb,GACT,CACN,CAAC;AACJ,CAAC,CAAuE,CAAC;AAUzE,MAAM,uBAAuB,GAAG,UAAU,CAAC,SAAS,uBAAuB,CACzE,EAAuE,EACvE,GAAkC;;QADlC,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,OAA8C,EAAzC,SAAS,cAAvC,oBAAyC,CAAF;IAGvC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAA,wBAAwB,EAAE,mCAAI;QACnD,UAAU,EAAE,IAAI;KACjB,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE;QAC3C,UAAU,EAAE,IAAI,KAAK,MAAM;QAC3B,aAAa,EAAE,IAAI,KAAK,SAAS;QACjC,cAAc,EAAE,IAAI,KAAK,UAAU;KACpC,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,UAAU,kBACT,EAAE,EAAC,MAAM,EACT,SAAS,EAAE,YAAY,EACvB,OAAO,EAAC,kBAAkB,IACtB,SAAS,IACb,GAAG,EAAE,GAAG,YAEP,QAAQ,IACE,CACd,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,uBAAuB,CAAC,WAAW,GAAG,0BAA0B,CAAC;AAQjE,MAAM,yBAAyB,GAG3B,UAAU,CAAC,SAAS,yBAAyB,CAG/C,EACE,QAAQ,EACR,SAAS,EACT,EAAE,EACF,KAAK,EACL,cAAc,GACgD,EAChE,GAAsB;;IAEtB,MAAM,SAAS,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC;IAC7B,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAA,wBAAwB,EAAE,mCAAI;QACtE,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,KAAK;KACnB,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE;QACpC,8BAA8B,EAAE,IAAI,KAAK,OAAO;QAChD,oCAAoC,EAAE,IAAI,KAAK,OAAO;KACvD,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3E,OAAO,CACL,KAAC,SAAS,kBACR,SAAS,EAAE,OAAO,EAClB,KAAK,kBAAI,WAAW,IAAK,KAAK,KAC1B,cAAc,cAElB,eACE,SAAS,EAAC,iEAAiE,EAC3E,GAAG,EAAE,GAAG,aAEP,CAAC,UAAU,IAAI,WAAW,IAAI,KAAC,OAAO,KAAG,EACzC,UAAU,IAAI,QAAQ,IACnB,IACI,CACb,CAAC;AACJ,CAAC,CAGA,CAAC;AAEF,6IAA6I;AAC7I,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAC5D,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,yBAAyB;IACtC,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,uBAAuB;CACnC,CAAC,CAAC;AACH,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -30,7 +30,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
30
  * You should have received a copy of the GNU General Public License
31
31
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
32
32
  */
33
- import React, { useEffect } from 'react';
33
+ import React, { useEffect, useState } from 'react';
34
34
  import classNames from 'classnames';
35
35
  import { useSpotlightContext } from './SpotlightProvider';
36
36
  import { Button } from '../button';
@@ -72,17 +72,15 @@ const SpotlightIconWrapper = React.forwardRef(function SpotlightIconWrapper({ ch
72
72
  const Component = as || 'div';
73
73
  return (_jsx(Component, Object.assign({ ref: ref, className: classes, style: style }, htmlAttributes, { children: children })));
74
74
  });
75
- const SpotlightComponent = React.forwardRef(function SpotlightComponent({ target, actions = [], beforeActions, initialFocus, onClose, children, className, style, htmlAttributes, }, ref) {
76
- const { isActiveSpotlight, isOpen, setActiveSpotlight, setIsOpen } = useSpotlightContext();
77
- const targetRef = React.useRef(null);
78
- useEffect(() => {
79
- const targetElement = document.getElementById(target);
80
- if (!targetElement)
81
- return;
82
- targetRef.current = targetElement;
83
- }, [target]);
75
+ const SpotlightComponent = React.forwardRef(function SpotlightComponent({ target, actions = [], beforeActions, initialFocus, onClose, placement, hasAnchorPortal, children, className, style, htmlAttributes, }, ref) {
76
+ const { isActiveSpotlight, isOpen, setActiveSpotlight, setIsOpen, registeredTargets, } = useSpotlightContext();
77
+ const [targetElement, setTargetElement] = useState(null);
84
78
  const classes = classNames('ndl-spotlight', className);
85
- return (_jsx(Popover, { anchorElement: targetRef.current, isOpen: isActiveSpotlight(target) && isOpen, shouldCaptureFocus: true, onOpenChange: (isOpen, event) => {
79
+ useEffect(() => {
80
+ var _a;
81
+ setTargetElement((_a = registeredTargets[target]) === null || _a === void 0 ? void 0 : _a.current);
82
+ }, [target, registeredTargets]);
83
+ return (_jsx(Popover, { anchorElement: targetElement, hasAnchorPortal: !!targetElement && hasAnchorPortal, isOpen: isActiveSpotlight(target) && isOpen && !!targetElement, shouldCaptureFocus: true, onOpenChange: (isOpen, event) => {
86
84
  if (!isOpen) {
87
85
  if (event instanceof PointerEvent) {
88
86
  onClose === null || onClose === void 0 ? void 0 : onClose('clickOutside');
@@ -93,7 +91,7 @@ const SpotlightComponent = React.forwardRef(function SpotlightComponent({ target
93
91
  setActiveSpotlight(null);
94
92
  setIsOpen(false);
95
93
  }
96
- }, initialFocus: initialFocus, children: _jsxs(Popover.Content, Object.assign({ ref: ref, className: classes, style: style }, htmlAttributes, { children: [_jsx("div", { children: children }), (beforeActions || !!(actions === null || actions === void 0 ? void 0 : actions.length)) && (_jsxs("div", { className: "ndl-spotlight-footer", children: [_jsx(Typography, { variant: "body-medium", children: beforeActions }), !!(actions === null || actions === void 0 ? void 0 : actions.length) && (_jsx("div", { className: "ndl-spotlight-actions", children: actions.map((action, index) => (_jsx(SpotlightActions, Object.assign({}, action), index))) }))] }))] })) }));
94
+ }, initialFocus: initialFocus, placement: placement, children: _jsxs(Popover.Content, Object.assign({ ref: ref, className: classes, style: style }, htmlAttributes, { children: [_jsx("div", { children: children }), (beforeActions || !!(actions === null || actions === void 0 ? void 0 : actions.length)) && (_jsxs("div", { className: "ndl-spotlight-footer", children: [_jsx(Typography, { variant: "body-medium", children: beforeActions }), !!(actions === null || actions === void 0 ? void 0 : actions.length) && (_jsx("div", { className: "ndl-spotlight-actions", children: actions.map((action, index) => (_jsx(SpotlightActions, Object.assign({}, action), index))) }))] }))] })) }));
97
95
  });
98
96
  SpotlightComponent.displayName = 'Spotlight';
99
97
  const Spotlight = Object.assign(SpotlightComponent, {
@@ -1 +1 @@
1
- {"version":3,"file":"Spotlight.js","sourceRoot":"","sources":["../../../src/spotlight/Spotlight.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Spotlight.js","sourceRoot":"","sources":["../../../src/spotlight/Spotlight.tsx"],"names":[],"mappings":"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"}
@@ -33,17 +33,34 @@ export const SpotlightProvider = (props) => {
33
33
  const { children, hasOverlay = true } = props;
34
34
  const [active, setActive] = useState(null);
35
35
  const [isOpen, setIsOpen] = useState(false);
36
+ const [targets, setTargets] = useState({});
37
+ const registerTarget = useCallback((id, ref) => {
38
+ setTargets((prev) => (Object.assign(Object.assign({}, prev), { [id]: ref })));
39
+ }, []);
40
+ const unregisterTarget = useCallback((id) => {
41
+ setTargets((prev) => {
42
+ const newTargets = Object.assign({}, prev);
43
+ delete newTargets[id];
44
+ return newTargets;
45
+ });
46
+ }, []);
36
47
  const contextValue = {
37
48
  isOpen,
38
49
  setIsOpen: useCallback((open) => setIsOpen(open), []),
39
50
  isActiveSpotlight: useCallback((target) => target === active, [active]),
40
51
  setActiveSpotlight: useCallback((target) => setActive(target), []),
52
+ registerTarget,
53
+ unregisterTarget,
54
+ registeredTargets: targets,
41
55
  };
42
56
  const overlayClasses = classNames('ndl-spotlight-overlay', {
43
57
  'ndl-spotlight-overlay-open': isOpen && active != null,
44
58
  });
45
59
  /** transparent overlay to sandwich the SpotlightTarget, thus making it "highlighted" */
46
60
  const highlightOverlayClasses = classNames(overlayClasses, 'n-bg-transparent n-z-[32]');
47
- return (_jsxs(SpotlightContext.Provider, { value: contextValue, children: [hasOverlay && (_jsxs(_Fragment, { children: [_jsx("div", { "data-testid": "ndl-spotlight-overlay-highlight", className: highlightOverlayClasses }), _jsx("div", { "data-testid": "ndl-spotlight-overlay", className: overlayClasses })] })), children] }));
61
+ return (_jsxs(SpotlightContext.Provider, { value: contextValue, children: [hasOverlay && (_jsxs(_Fragment, { children: [_jsx("div", { role: "presentation", onClick: () => {
62
+ setIsOpen(false);
63
+ setActive(null);
64
+ }, "data-testid": "ndl-spotlight-overlay-highlight", className: highlightOverlayClasses }), _jsx("div", { "data-testid": "ndl-spotlight-overlay", className: overlayClasses })] })), children] }));
48
65
  };
49
66
  //# sourceMappingURL=SpotlightProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpotlightProvider.js","sourceRoot":"","sources":["../../../src/spotlight/SpotlightProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAahF,MAAM,gBAAgB,GAAG,aAAa,CAA8B,IAAI,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAyB,EAAE;IAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE7C,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAA6B,EAAE,EAAE;IACjE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG;QACnB,MAAM;QACN,SAAS,EAAE,WAAW,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9D,iBAAiB,EAAE,WAAW,CAC5B,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,EACrC,CAAC,MAAM,CAAC,CACT;QACD,kBAAkB,EAAE,WAAW,CAC7B,CAAC,MAAqB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAC5C,EAAE,CACH;KACF,CAAC;IAEF,MAAM,cAAc,GAAG,UAAU,CAAC,uBAAuB,EAAE;QACzD,4BAA4B,EAAE,MAAM,IAAI,MAAM,IAAI,IAAI;KACvD,CAAC,CAAC;IAEH,wFAAwF;IACxF,MAAM,uBAAuB,GAAG,UAAU,CACxC,cAAc,EACd,2BAA2B,CAC5B,CAAC;IAEF,OAAO,CACL,MAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,aAC3C,UAAU,IAAI,CACb,8BACE,6BACc,iCAAiC,EAC7C,SAAS,EAAE,uBAAuB,GAC7B,EACP,6BACc,uBAAuB,EACnC,SAAS,EAAE,cAAc,GACpB,IACN,CACJ,EACA,QAAQ,IACiB,CAC7B,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"SpotlightProvider.js","sourceRoot":"","sources":["../../../src/spotlight/SpotlightProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  *
4
4
  * Copyright (c) "Neo4j"
@@ -19,34 +19,51 @@ import { jsx as _jsx } from "react/jsx-runtime";
19
19
  * You should have received a copy of the GNU General Public License
20
20
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
21
  */
22
- import React from 'react';
22
+ import React, { useEffect } from 'react';
23
23
  import { useSpotlightContext } from './SpotlightProvider';
24
24
  import classNames from 'classnames';
25
25
  import ConditionalWrap from '../_common/ConditionalWrap';
26
- export const SpotlightTarget = React.forwardRef(function SpotlightTarget({ id, hasPulse = true, backgroundColor, borderRadius, children, className, htmlAttributes, }, ref) {
27
- const { isActiveSpotlight, isOpen, setIsOpen } = useSpotlightContext();
26
+ import { useIndicator, } from './use-indicator';
27
+ import { FloatingPortal, useMergeRefs } from '@floating-ui/react';
28
+ export const SpotlightTarget = React.forwardRef(function SpotlightTarget({ id, hasPulse = true, indicatorVariant = 'border', indicatorPlacement = 'top-right', backgroundColor, borderRadius, hasAnchorPortal, children, className, htmlAttributes, }, ref) {
29
+ const { isActiveSpotlight, isOpen, setIsOpen, registerTarget, unregisterTarget, } = useSpotlightContext();
30
+ const internalRef = React.useRef(null);
31
+ const mergedRefs = useMergeRefs([ref, internalRef]);
32
+ useEffect(() => {
33
+ if (internalRef.current)
34
+ registerTarget(id, internalRef);
35
+ return () => unregisterTarget(id);
36
+ }, [id, registerTarget, unregisterTarget]);
28
37
  const classes = classNames('ndl-spotlight-target', {
29
- 'ndl-spotlight-target-pulse': hasPulse,
30
38
  'ndl-spotlight-target-open': isOpen,
31
39
  }, className);
32
40
  const isActive = isActiveSpotlight(id);
33
- return (_jsx("div", { className: isActive ? classes : '', style: { backgroundColor, borderRadius }, children: _jsx("div", Object.assign({ role: isActive ? 'button' : undefined, id: id, ref: ref, className: "ndl-spotlight-target-inner", onClick: (e) => {
34
- if (isActive && !isOpen) {
35
- setIsOpen(true);
36
- e.preventDefault();
37
- }
38
- }, style: { borderRadius }, onKeyDown: (e) => {
39
- console.log('e.key', e); // eslint-disable-line
40
- if (isActive &&
41
- !isOpen &&
42
- (e.code === 'Enter' || e.code === 'Space')) {
43
- setIsOpen(true);
44
- e.preventDefault();
45
- }
46
- }, tabIndex: isActive ? 0 : -1, "aria-label": "spotlight target" }, htmlAttributes, { children: _jsx(ConditionalWrap, { shouldWrap: isActive,
47
- // TODO v4: inert should be fixed in react 19? https://github.com/facebook/react/pull/24730#event-12109747640. inert="" is a workaround for now
48
- wrap: (children) => (
49
- /* @ts-expect-error inert not allowed */
50
- _jsx("div", { inert: "", "aria-disabled": true, className: "ndl-spotlight-target-inert", children: children })), children: children }) })) }));
41
+ const indicator = useIndicator({
42
+ isOpen: isActive,
43
+ indicatorVariant,
44
+ indicatorPlacement,
45
+ targetRef: internalRef,
46
+ hasPulse,
47
+ hasAnchorPortal,
48
+ });
49
+ return (_jsxs(_Fragment, { children: [_jsx("div", Object.assign({ role: isActive ? 'button' : undefined, id: id, ref: mergedRefs, className: classes, onClick: (e) => {
50
+ if (isActive && !isOpen) {
51
+ setIsOpen(true);
52
+ e.preventDefault();
53
+ }
54
+ }, style: { backgroundColor, borderRadius }, onKeyDown: (e) => {
55
+ if (isActive &&
56
+ !isOpen &&
57
+ (e.code === 'Enter' || e.code === 'Space')) {
58
+ setIsOpen(true);
59
+ e.preventDefault();
60
+ }
61
+ }, tabIndex: isActive ? 0 : -1, "aria-label": "spotlight target" }, htmlAttributes, { children: _jsx(ConditionalWrap, { shouldWrap: isActive,
62
+ // TODO v4: inert should be fixed in react 19? https://github.com/facebook/react/pull/24730#event-12109747640. inert="" is a workaround for now
63
+ wrap: (children) => (
64
+ /* @ts-expect-error inert not allowed */
65
+ _jsx("div", { inert: "", "aria-disabled": true, className: "ndl-spotlight-target-inert", children: children })), children: children }) })), _jsx(FloatingPortal, { root: indicator.hasAnchorPortal
66
+ ? indicator.context.refs.reference.current
67
+ : null, children: indicator.context.open && (_jsx("div", Object.assign({ className: indicator.indicatorClasses, ref: indicator.context.refs.setFloating, style: Object.assign(Object.assign({}, indicator.floatingStyles), indicator.style) }, indicator.getFloatingProps()))) })] }));
51
68
  });
52
69
  //# sourceMappingURL=SpotlightTarget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpotlightTarget.js","sourceRoot":"","sources":["../../../src/spotlight/SpotlightTarget.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,UAAU,MAAM,YAAY,CAAC;AAMpC,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAgBzD,MAAM,CAAC,MAAM,eAAe,GAGxB,KAAK,CAAC,UAAU,CAAC,SAAS,eAAe,CAG3C,EACE,EAAE,EACF,QAAQ,GAAG,IAAI,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,GACsC,EACtD,GAAsB;IAEtB,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAEvE,MAAM,OAAO,GAAG,UAAU,CACxB,sBAAsB,EACtB;QACE,4BAA4B,EAAE,QAAQ;QACtC,2BAA2B,EAAE,MAAM;KACpC,EACD,SAAS,CACV,CAAC;IAEF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAEvC,OAAO,CACL,cACE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAClC,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,YAExC,4BACE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACrC,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,EACvB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB;gBAC/C,IACE,QAAQ;oBACR,CAAC,MAAM;oBACP,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAC1C,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,EACD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAChB,kBAAkB,IACzB,cAAc,cAElB,KAAC,eAAe,IACd,UAAU,EAAE,QAAQ;gBACpB,+IAA+I;gBAC/I,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClB,wCAAwC;gBACxC,cAAK,KAAK,EAAC,EAAE,yBAAe,SAAS,EAAC,4BAA4B,YAC/D,QAAQ,GACL,CACP,YAEA,QAAQ,GACO,IACd,GACF,CACP,CAAC;AACJ,CAAC,CAAsE,CAAC"}
1
+ {"version":3,"file":"SpotlightTarget.js","sourceRoot":"","sources":["../../../src/spotlight/SpotlightTarget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
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
+ import { autoUpdate, offset, useFloating, useInteractions, useRole, } from '@floating-ui/react';
22
+ import classNames from 'classnames';
23
+ import { useMemo } from 'react';
24
+ const crossAxisMult = {
25
+ left: -1,
26
+ middle: 0,
27
+ right: 1,
28
+ };
29
+ const calcOffset = (variant, placement, rects) => {
30
+ if (variant === 'border') {
31
+ // Border variant is always centered around the middle point
32
+ return {
33
+ mainAxis: -rects.reference.height / 2 - rects.floating.height / 2,
34
+ crossAxis: 0,
35
+ };
36
+ }
37
+ const [mainAxisPlacement, crossAxisPlacement] = placement.split('-');
38
+ /** Note for future reference:
39
+ * Main axis (vertical) is zero at the bottom border of the target.
40
+ * Cross axis (horizontal) is zero at the middle of the target
41
+ * */
42
+ let mainAxis = 0;
43
+ if (mainAxisPlacement === 'bottom') {
44
+ // put the indicator one height of the point above the bottom border of the target
45
+ mainAxis = -2 * rects.floating.height;
46
+ }
47
+ else if (mainAxisPlacement === 'middle') {
48
+ // put the indicator in the middle of the target
49
+ mainAxis = -rects.reference.height / 2 - rects.floating.height / 2;
50
+ }
51
+ else if (mainAxisPlacement === 'top') {
52
+ // put the indicator one height of the point below the top border of the target
53
+ mainAxis = -rects.reference.height + rects.floating.height;
54
+ }
55
+ return {
56
+ mainAxis,
57
+ crossAxis: crossAxisMult[crossAxisPlacement] *
58
+ (rects.reference.width / 2 - rects.floating.width * 1.5),
59
+ };
60
+ };
61
+ export function useIndicator({ isOpen, indicatorVariant = 'border', indicatorPlacement = 'top-right', targetRef, hasPulse = true, hasAnchorPortal, }) {
62
+ const data = useFloating({
63
+ open: isOpen,
64
+ placement: 'bottom',
65
+ middleware: [
66
+ offset(({ rects }) => calcOffset(indicatorVariant, indicatorPlacement, rects)),
67
+ ],
68
+ whileElementsMounted: autoUpdate,
69
+ elements: {
70
+ reference: targetRef === null || targetRef === void 0 ? void 0 : targetRef.current,
71
+ },
72
+ });
73
+ const context = data.context;
74
+ const role = useRole(context);
75
+ const interactions = useInteractions([role]);
76
+ return useMemo(() => {
77
+ var _a, _b, _c;
78
+ return (Object.assign(Object.assign(Object.assign({}, interactions), data), { style: {
79
+ width: indicatorVariant === 'border'
80
+ ? `${((_a = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) === null || _a === void 0 ? void 0 : _a.clientWidth) || 0}px`
81
+ : '8px',
82
+ height: indicatorVariant === 'border'
83
+ ? `${((_b = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) === null || _b === void 0 ? void 0 : _b.clientHeight) || 0}px`
84
+ : '8px',
85
+ borderRadius: indicatorVariant === 'border'
86
+ ? `${((_c = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) === null || _c === void 0 ? void 0 : _c.style.borderRadius) || 0}`
87
+ : '50%',
88
+ }, indicatorClasses: classNames('ndl-spotlight-target-open', {
89
+ 'ndl-spotlight-target-indicator-border': indicatorVariant === 'border',
90
+ 'ndl-spotlight-target-indicator-point': indicatorVariant === 'point',
91
+ 'ndl-spotlight-target-pulse': hasPulse,
92
+ }), hasAnchorPortal }));
93
+ }, [
94
+ interactions,
95
+ data,
96
+ indicatorVariant,
97
+ targetRef,
98
+ hasPulse,
99
+ hasAnchorPortal,
100
+ ]);
101
+ }
102
+ //# sourceMappingURL=use-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-indicator.js","sourceRoot":"","sources":["../../../src/spotlight/use-indicator.tsx"],"names":[],"mappings":"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"}
@@ -23,8 +23,8 @@ import { IconButton } from '../button';
23
23
  export interface CodeBlockWrapperProps {
24
24
  maxHeight?: number;
25
25
  code: string;
26
- headerTitle?: string | JSX.Element;
27
- children: JSX.Element;
26
+ headerTitle?: string | React.JSX.Element;
27
+ children: React.JSX.Element;
28
28
  isDisabled?: boolean;
29
29
  actions?: React.ComponentPropsWithoutRef<typeof IconButton<'button'>>[];
30
30
  shouldShowExpandButton: boolean;
@@ -40,7 +40,7 @@ export interface BlockProps {
40
40
  language: LanguageProp | 'text';
41
41
  showLineNumbers?: boolean;
42
42
  theme?: 'vs' | 'base16-ateliersulphurpool.light' | 'coy' | 'duotone-light' | 'ghcolors' | 'prism' | 'solarizedlight';
43
- headerTitle?: string | JSX.Element;
43
+ headerTitle?: string | React.JSX.Element;
44
44
  actions?: React.ComponentProps<typeof IconButton<'button'>>[];
45
45
  isRunnable?: never;
46
46
  tooltipText?: never;
@@ -27,7 +27,7 @@ export type CustomElementType = keyof HTMLElementTagNameMap;
27
27
  * More info here:
28
28
  * https://stackoverflow.com/questions/75085783/conditional-react-component-properties-with-multiple-generics#comment132505139_75086121
29
29
  */
30
- export type ReactComponent = (args: any) => JSX.Element;
30
+ export type ReactComponent = (args: any) => React.JSX.Element;
31
31
  export type Spacing = keyof typeof tokens.space;
32
32
  export declare const SpacingDefaults: {
33
33
  readonly padding: "4";
@@ -23,5 +23,5 @@ interface PortalProps {
23
23
  children: React.ReactNode;
24
24
  container?: Element;
25
25
  }
26
- export declare const Portal: (props: PortalProps) => JSX.Element;
26
+ export declare const Portal: (props: PortalProps) => React.JSX.Element;
27
27
  export {};
@@ -30,7 +30,7 @@ export interface SelectCommonProps {
30
30
  */
31
31
  errorText?: string | ReactNode;
32
32
  /** Select Label */
33
- label?: string | JSX.Element;
33
+ label?: string | React.JSX.Element;
34
34
  /** To be used as an attribute in htmlFor */
35
35
  'aria-label'?: string;
36
36
  /** Help text */
@@ -20,6 +20,7 @@
20
20
  */
21
21
  import React from 'react';
22
22
  import { HtmlAttributes, PolymorphicForwardRefExoticComponent, PolymorphicPropsWithRef } from '../_common/types';
23
+ import { PopoverProps } from '../popover';
23
24
  import { EventTypeLabelProps } from '../label';
24
25
  export type SpotlightActionsProps = {
25
26
  label: string;
@@ -61,17 +62,48 @@ export type SpotlightProps = {
61
62
  actions?: React.ComponentProps<typeof SpotlightActions>[];
62
63
  /** Left bottom corner content */
63
64
  beforeActions?: React.ReactNode;
64
- /** Which element to initially focus. Either a tabbable index or ref */
65
- initialFocus?: number | React.MutableRefObject<HTMLElement | null>;
65
+ /** Callback function called when Esc is pressed or on mouse click outside of the Spotlight*/
66
66
  onClose?: (action: SpotlightCloseAction) => void;
67
+ /** Use anchorEl for portal's container. Should be used if the spotlight is inside an Dialog or Modal */
68
+ hasAnchorPortal?: boolean;
67
69
  children?: React.ReactNode;
68
70
  className?: string;
69
71
  style?: React.CSSProperties;
70
72
  htmlAttributes?: HtmlAttributes<'div'>;
71
- };
72
- declare const Spotlight: Omit<React.ForwardRefExoticComponent<SpotlightProps & {
73
+ } & Pick<PopoverProps, 'placement' | 'initialFocus'>;
74
+ declare const Spotlight: Omit<React.ForwardRefExoticComponent<{
75
+ /** Id of the SpotlightTarget where the spotlight should be rendered */
76
+ target: string;
77
+ /** Action buttons in the footer */
78
+ actions?: React.ComponentProps<typeof SpotlightActions>[];
79
+ /** Left bottom corner content */
80
+ beforeActions?: React.ReactNode;
81
+ /** Callback function called when Esc is pressed or on mouse click outside of the Spotlight*/
82
+ onClose?: (action: SpotlightCloseAction) => void;
83
+ /** Use anchorEl for portal's container. Should be used if the spotlight is inside an Dialog or Modal */
84
+ hasAnchorPortal?: boolean;
85
+ children?: React.ReactNode;
86
+ className?: string;
87
+ style?: React.CSSProperties;
88
+ htmlAttributes?: HtmlAttributes<"div">;
89
+ } & Pick<PopoverProps, "placement" | "initialFocus"> & {
73
90
  [key: string]: unknown;
74
- }>, "$$typeof"> & Omit<React.ExoticComponent<SpotlightProps & {
91
+ }>, "$$typeof"> & Omit<React.ExoticComponent<{
92
+ /** Id of the SpotlightTarget where the spotlight should be rendered */
93
+ target: string;
94
+ /** Action buttons in the footer */
95
+ actions?: React.ComponentProps<typeof SpotlightActions>[];
96
+ /** Left bottom corner content */
97
+ beforeActions?: React.ReactNode;
98
+ /** Callback function called when Esc is pressed or on mouse click outside of the Spotlight*/
99
+ onClose?: (action: SpotlightCloseAction) => void;
100
+ /** Use anchorEl for portal's container. Should be used if the spotlight is inside an Dialog or Modal */
101
+ hasAnchorPortal?: boolean;
102
+ children?: React.ReactNode;
103
+ className?: string;
104
+ style?: React.CSSProperties;
105
+ htmlAttributes?: HtmlAttributes<"div">;
106
+ } & Pick<PopoverProps, "placement" | "initialFocus"> & {
75
107
  [key: string]: unknown;
76
108
  }>, never> & (<InstanceT extends React.ElementType = "div">(props: PolymorphicPropsWithRef<InstanceT, SpotlightProps>) => React.ReactElement | null) & {
77
109
  Actions: PolymorphicForwardRefExoticComponent<"button", SpotlightActionsProps>;
@@ -29,6 +29,9 @@ type SpotlightContextType = {
29
29
  isActiveSpotlight: (target: string) => boolean;
30
30
  /** Sets the active spotlight to the provided target. Use null to clear active target */
31
31
  setActiveSpotlight: (target: string | null) => void;
32
+ registerTarget: (id: string, ref: React.RefObject<HTMLElement>) => void;
33
+ unregisterTarget: (id: string) => void;
34
+ registeredTargets: Record<string, React.RefObject<HTMLElement>>;
32
35
  };
33
36
  export declare const useSpotlightContext: () => SpotlightContextType;
34
37
  type SpotlightProviderProps = {
@@ -20,16 +20,22 @@
20
20
  */
21
21
  import React from 'react';
22
22
  import { PolymorphicForwardRefExoticComponent } from '../_common/types';
23
+ import { IndicatorPlacement, IndicatorVariant } from './use-indicator';
23
24
  type SpotlightTargetProps = {
24
25
  /** id of the target. should match with target prop in Spotlight */
25
26
  id: string;
26
27
  /** if the target should have a pulse animation. default behaviour is true */
27
28
  hasPulse?: boolean;
29
+ /** variant of the target indicator */
30
+ indicatorVariant?: IndicatorVariant;
31
+ /** placement of the indicator. only applicable to point variant */
32
+ indicatorPlacement?: IndicatorPlacement;
28
33
  /** background color */
29
34
  backgroundColor?: React.CSSProperties['backgroundColor'];
30
35
  /** border radius */
31
36
  borderRadius?: React.CSSProperties['borderRadius'];
32
- /** classnames are only applied when target is active */
37
+ /** Use anchorEl for portal's container. Should be used if the spotlight target is inside an Dialog */
38
+ hasAnchorPortal?: boolean;
33
39
  className?: string;
34
40
  children?: React.ReactNode;
35
41
  };
@@ -0,0 +1,38 @@
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
+ import { useFloating, UseInteractionsReturn } from '@floating-ui/react';
22
+ export type IndicatorVariant = 'border' | 'point';
23
+ interface IndicatorOptions {
24
+ isOpen: boolean;
25
+ indicatorVariant?: IndicatorVariant;
26
+ indicatorPlacement?: IndicatorPlacement;
27
+ targetRef: React.RefObject<HTMLElement>;
28
+ hasPulse?: boolean;
29
+ hasAnchorPortal?: boolean;
30
+ }
31
+ interface UseIndicatorReturn extends UseInteractionsReturn, ReturnType<typeof useFloating> {
32
+ style: React.CSSProperties;
33
+ indicatorClasses?: string;
34
+ hasAnchorPortal?: boolean;
35
+ }
36
+ export type IndicatorPlacement = 'top-left' | 'top-middle' | 'top-right' | 'bottom-left' | 'bottom-middle' | 'bottom-right' | 'middle-left' | 'middle-middle' | 'middle-right';
37
+ export declare function useIndicator({ isOpen, indicatorVariant, indicatorPlacement, targetRef, hasPulse, hasAnchorPortal, }: IndicatorOptions): UseIndicatorReturn;
38
+ export {};
@@ -40,7 +40,7 @@ type Tags = keyof HTMLElementTagNameMap;
40
40
  type VariantsDefaultType<T extends TypographyVariants> = Omit<React.ComponentPropsWithoutRef<(typeof TypographyDefaultMapping)[T]>, 'as'> & {
41
41
  variant: TypographyVariants;
42
42
  };
43
- export type ReactComponent = (args: any) => JSX.Element;
43
+ export type ReactComponent = (args: any) => React.JSX.Element;
44
44
  export type AsType = undefined | Tags | React.FunctionComponent<any>;
45
45
  export type ConditionalTypography<T extends AsType, V extends TypographyVariants> = T extends undefined ? VariantsDefaultType<V> : T extends Tags ? React.ComponentPropsWithoutRef<T> : T extends ReactComponent ? React.ComponentProps<T> : never;
46
46
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neo4j-ndl/react",
3
- "version": "3.2.4",
3
+ "version": "3.2.6",
4
4
  "sideEffects": false,
5
5
  "description": "React implementation of Neo4j Design System",
6
6
  "keywords": [
@@ -64,7 +64,7 @@
64
64
  "@tanstack/react-table": "8.20.5",
65
65
  "react": ">=16.8.0",
66
66
  "react-dom": ">=16.8.0",
67
- "@neo4j-ndl/base": "^3.2.0"
67
+ "@neo4j-ndl/base": "^3.2.1"
68
68
  },
69
69
  "dependencies": {
70
70
  "@dnd-kit/core": "6.1.0",