@atlaskit/onboarding 11.12.3 → 11.13.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/onboarding
2
2
 
3
+ ## 11.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#135285](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/135285)
8
+ [`5129525d797c8`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/5129525d797c8) -
9
+ DSP-20262 react-node-resolver removal behind ff
10
+
3
11
  ## 11.12.3
4
12
 
5
13
  ### Patch Changes
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _reactNodeResolver = _interopRequireDefault(require("react-node-resolver"));
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ /**
14
+ * A wrapper component that conditionally applies a NodeResolver to its children.
15
+ *
16
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
17
+ * is intended to be removed once the feature flag is removed.
18
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
19
+ * @param {ReactElement} props.children - The child elements to be wrapped.
20
+ * @param {(instance: HTMLDivElement) => void} props.innerRef - A ref callback to get the instance of the HTMLDivElement.
21
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
22
+ */
23
+ var NodeResolverSpotlightInner = function NodeResolverSpotlightInner(_ref) {
24
+ var hasNodeResolver = _ref.hasNodeResolver,
25
+ children = _ref.children,
26
+ innerRef = _ref.innerRef;
27
+ var divRef = (0, _react.useRef)(null);
28
+ (0, _react.useEffect)(function () {
29
+ if (!hasNodeResolver) {
30
+ var _divRef$current;
31
+ innerRef((_divRef$current = divRef.current) === null || _divRef$current === void 0 ? void 0 : _divRef$current.firstElementChild);
32
+ }
33
+ // eslint-disable-next-line react-hooks/exhaustive-deps
34
+ }, [hasNodeResolver]);
35
+ if (hasNodeResolver) {
36
+ return /*#__PURE__*/_react.default.createElement(_reactNodeResolver.default, {
37
+ innerRef: innerRef
38
+ }, children);
39
+ }
40
+ return /*#__PURE__*/_react.default.createElement("div", {
41
+ ref: divRef
42
+ }, children);
43
+ };
44
+ var _default = exports.default = NodeResolverSpotlightInner;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _reactNodeResolver = _interopRequireDefault(require("react-node-resolver"));
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ /**
14
+ * A wrapper component that conditionally applies a NodeResolver to its children.
15
+ *
16
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
17
+ * is intended to be removed once the feature flag is removed.
18
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
19
+ * @param {ReactElement} props.children - The child elements to be wrapped.
20
+ * @param {string} props.name - The name to reference from Spotlight.
21
+ * @param {ReactElement} props.targetRef - Setting up Target Node in Spotlight Manager.
22
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
23
+ */
24
+ var NodeResolverSpotlightTarget = function NodeResolverSpotlightTarget(_ref) {
25
+ var hasNodeResolver = _ref.hasNodeResolver,
26
+ children = _ref.children,
27
+ targetRef = _ref.targetRef,
28
+ name = _ref.name;
29
+ var divRef = (0, _react.useRef)(null);
30
+ (0, _react.useEffect)(function () {
31
+ if (!hasNodeResolver) {
32
+ var _divRef$current;
33
+ targetRef(name)((_divRef$current = divRef.current) === null || _divRef$current === void 0 ? void 0 : _divRef$current.firstElementChild);
34
+ }
35
+ return function () {
36
+ !hasNodeResolver && targetRef(name)(undefined);
37
+ };
38
+ }, [hasNodeResolver, name, targetRef]);
39
+ if (hasNodeResolver) {
40
+ return /*#__PURE__*/_react.default.createElement(_reactNodeResolver.default, {
41
+ innerRef: targetRef(name)
42
+ }, children);
43
+ }
44
+ return /*#__PURE__*/_react.default.createElement("span", {
45
+ ref: divRef
46
+ }, children);
47
+ };
48
+ var _default = exports.default = NodeResolverSpotlightTarget;
@@ -15,14 +15,15 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _react = _interopRequireDefault(require("react"));
17
17
  var _exenv = require("exenv");
18
- var _reactNodeResolver = _interopRequireDefault(require("react-node-resolver"));
19
18
  var _reactScrolllock = _interopRequireDefault(require("react-scrolllock"));
20
19
  var _scrollIntoViewIfNeeded = _interopRequireDefault(require("scroll-into-view-if-needed"));
20
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
21
21
  var _portal = _interopRequireDefault(require("@atlaskit/portal"));
22
22
  var _constants = require("@atlaskit/theme/constants");
23
23
  var _useElementBox = require("../utils/use-element-box");
24
24
  var _animation = require("./animation");
25
25
  var _clone = _interopRequireDefault(require("./clone"));
26
+ var _nodeResolverSpotlightInner = _interopRequireDefault(require("./node-resolver-spotlight-inner"));
26
27
  var _spotlightDialog = _interopRequireDefault(require("./spotlight-dialog"));
27
28
  var _spotlightTransition = require("./spotlight-transition");
28
29
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -106,7 +107,8 @@ var SpotlightInner = /*#__PURE__*/function (_React$Component) {
106
107
  onExited = _ref.onExited;
107
108
  return /*#__PURE__*/_react.default.createElement(_portal.default, {
108
109
  zIndex: _constants.layers.spotlight() + 1
109
- }, TargetReplacement ? /*#__PURE__*/_react.default.createElement(_reactNodeResolver.default, {
110
+ }, TargetReplacement ? /*#__PURE__*/_react.default.createElement(_nodeResolverSpotlightInner.default, {
111
+ hasNodeResolver: !(0, _platformFeatureFlags.fg)('platform-design-system-dsp-20262-spotlight-inner'),
110
112
  innerRef: function innerRef(elem) {
111
113
  return _this2.setState({
112
114
  replacementElement: elem
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var _reactNodeResolver = _interopRequireDefault(require("react-node-resolver"));
9
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
+ var _nodeResolverSpotlightTarget = _interopRequireDefault(require("./node-resolver-spotlight-target"));
10
11
  var _spotlightManager = require("./spotlight-manager");
11
12
  /**
12
13
  * __Spotlight target__
@@ -21,8 +22,10 @@ var SpotlightTarget = function SpotlightTarget(_ref) {
21
22
  var children = _ref.children,
22
23
  name = _ref.name;
23
24
  return /*#__PURE__*/_react.default.createElement(_spotlightManager.TargetConsumer, null, function (targetRef) {
24
- return targetRef ? /*#__PURE__*/_react.default.createElement(_reactNodeResolver.default, {
25
- innerRef: targetRef(name)
25
+ return targetRef ? /*#__PURE__*/_react.default.createElement(_nodeResolverSpotlightTarget.default, {
26
+ name: name,
27
+ hasNodeResolver: !(0, _platformFeatureFlags.fg)('platform-design-system-dsp-20262-spotlight-target'),
28
+ targetRef: targetRef
26
29
  }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children)) : children;
27
30
  });
28
31
  };
@@ -0,0 +1,35 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import NodeResolver from 'react-node-resolver';
3
+ /**
4
+ * A wrapper component that conditionally applies a NodeResolver to its children.
5
+ *
6
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
7
+ * is intended to be removed once the feature flag is removed.
8
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
9
+ * @param {ReactElement} props.children - The child elements to be wrapped.
10
+ * @param {(instance: HTMLDivElement) => void} props.innerRef - A ref callback to get the instance of the HTMLDivElement.
11
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
12
+ */
13
+ const NodeResolverSpotlightInner = ({
14
+ hasNodeResolver,
15
+ children,
16
+ innerRef
17
+ }) => {
18
+ const divRef = useRef(null);
19
+ useEffect(() => {
20
+ if (!hasNodeResolver) {
21
+ var _divRef$current;
22
+ innerRef((_divRef$current = divRef.current) === null || _divRef$current === void 0 ? void 0 : _divRef$current.firstElementChild);
23
+ }
24
+ // eslint-disable-next-line react-hooks/exhaustive-deps
25
+ }, [hasNodeResolver]);
26
+ if (hasNodeResolver) {
27
+ return /*#__PURE__*/React.createElement(NodeResolver, {
28
+ innerRef: innerRef
29
+ }, children);
30
+ }
31
+ return /*#__PURE__*/React.createElement("div", {
32
+ ref: divRef
33
+ }, children);
34
+ };
35
+ export default NodeResolverSpotlightInner;
@@ -0,0 +1,39 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import NodeResolver from 'react-node-resolver';
3
+ /**
4
+ * A wrapper component that conditionally applies a NodeResolver to its children.
5
+ *
6
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
7
+ * is intended to be removed once the feature flag is removed.
8
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
9
+ * @param {ReactElement} props.children - The child elements to be wrapped.
10
+ * @param {string} props.name - The name to reference from Spotlight.
11
+ * @param {ReactElement} props.targetRef - Setting up Target Node in Spotlight Manager.
12
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
13
+ */
14
+ const NodeResolverSpotlightTarget = ({
15
+ hasNodeResolver,
16
+ children,
17
+ targetRef,
18
+ name
19
+ }) => {
20
+ const divRef = useRef(null);
21
+ useEffect(() => {
22
+ if (!hasNodeResolver) {
23
+ var _divRef$current;
24
+ targetRef(name)((_divRef$current = divRef.current) === null || _divRef$current === void 0 ? void 0 : _divRef$current.firstElementChild);
25
+ }
26
+ return () => {
27
+ !hasNodeResolver && targetRef(name)(undefined);
28
+ };
29
+ }, [hasNodeResolver, name, targetRef]);
30
+ if (hasNodeResolver) {
31
+ return /*#__PURE__*/React.createElement(NodeResolver, {
32
+ innerRef: targetRef(name)
33
+ }, children);
34
+ }
35
+ return /*#__PURE__*/React.createElement("span", {
36
+ ref: divRef
37
+ }, children);
38
+ };
39
+ export default NodeResolverSpotlightTarget;
@@ -2,14 +2,15 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import React from 'react';
4
4
  import { canUseDOM } from 'exenv';
5
- import NodeResovler from 'react-node-resolver';
6
5
  import ScrollLock from 'react-scrolllock';
7
6
  import scrollIntoView from 'scroll-into-view-if-needed';
7
+ import { fg } from '@atlaskit/platform-feature-flags';
8
8
  import Portal from '@atlaskit/portal';
9
9
  import { layers } from '@atlaskit/theme/constants';
10
10
  import { ElementBox } from '../utils/use-element-box';
11
11
  import { Fade } from './animation';
12
12
  import Clone from './clone';
13
+ import NodeResolverSpotlightInner from './node-resolver-spotlight-inner';
13
14
  import SpotlightDialog from './spotlight-dialog';
14
15
  import { SpotlightTransitionConsumer } from './spotlight-transition';
15
16
  /**
@@ -76,7 +77,8 @@ class SpotlightInner extends React.Component {
76
77
  onExited
77
78
  }) => /*#__PURE__*/React.createElement(Portal, {
78
79
  zIndex: layers.spotlight() + 1
79
- }, TargetReplacement ? /*#__PURE__*/React.createElement(NodeResovler, {
80
+ }, TargetReplacement ? /*#__PURE__*/React.createElement(NodeResolverSpotlightInner, {
81
+ hasNodeResolver: !fg('platform-design-system-dsp-20262-spotlight-inner'),
80
82
  innerRef: elem => this.setState({
81
83
  replacementElement: elem
82
84
  })
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import NodeResolver from 'react-node-resolver';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ import NodeResolverSpotlightTarget from './node-resolver-spotlight-target';
3
4
  import { TargetConsumer } from './spotlight-manager';
4
5
  /**
5
6
  * __Spotlight target__
@@ -13,7 +14,9 @@ import { TargetConsumer } from './spotlight-manager';
13
14
  const SpotlightTarget = ({
14
15
  children,
15
16
  name
16
- }) => /*#__PURE__*/React.createElement(TargetConsumer, null, targetRef => targetRef ? /*#__PURE__*/React.createElement(NodeResolver, {
17
- innerRef: targetRef(name)
17
+ }) => /*#__PURE__*/React.createElement(TargetConsumer, null, targetRef => targetRef ? /*#__PURE__*/React.createElement(NodeResolverSpotlightTarget, {
18
+ name: name,
19
+ hasNodeResolver: !fg('platform-design-system-dsp-20262-spotlight-target'),
20
+ targetRef: targetRef
18
21
  }, /*#__PURE__*/React.createElement(React.Fragment, null, children)) : children);
19
22
  export default SpotlightTarget;
@@ -0,0 +1,34 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import NodeResolver from 'react-node-resolver';
3
+ /**
4
+ * A wrapper component that conditionally applies a NodeResolver to its children.
5
+ *
6
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
7
+ * is intended to be removed once the feature flag is removed.
8
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
9
+ * @param {ReactElement} props.children - The child elements to be wrapped.
10
+ * @param {(instance: HTMLDivElement) => void} props.innerRef - A ref callback to get the instance of the HTMLDivElement.
11
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
12
+ */
13
+ var NodeResolverSpotlightInner = function NodeResolverSpotlightInner(_ref) {
14
+ var hasNodeResolver = _ref.hasNodeResolver,
15
+ children = _ref.children,
16
+ innerRef = _ref.innerRef;
17
+ var divRef = useRef(null);
18
+ useEffect(function () {
19
+ if (!hasNodeResolver) {
20
+ var _divRef$current;
21
+ innerRef((_divRef$current = divRef.current) === null || _divRef$current === void 0 ? void 0 : _divRef$current.firstElementChild);
22
+ }
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, [hasNodeResolver]);
25
+ if (hasNodeResolver) {
26
+ return /*#__PURE__*/React.createElement(NodeResolver, {
27
+ innerRef: innerRef
28
+ }, children);
29
+ }
30
+ return /*#__PURE__*/React.createElement("div", {
31
+ ref: divRef
32
+ }, children);
33
+ };
34
+ export default NodeResolverSpotlightInner;
@@ -0,0 +1,38 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import NodeResolver from 'react-node-resolver';
3
+ /**
4
+ * A wrapper component that conditionally applies a NodeResolver to its children.
5
+ *
6
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
7
+ * is intended to be removed once the feature flag is removed.
8
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
9
+ * @param {ReactElement} props.children - The child elements to be wrapped.
10
+ * @param {string} props.name - The name to reference from Spotlight.
11
+ * @param {ReactElement} props.targetRef - Setting up Target Node in Spotlight Manager.
12
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
13
+ */
14
+ var NodeResolverSpotlightTarget = function NodeResolverSpotlightTarget(_ref) {
15
+ var hasNodeResolver = _ref.hasNodeResolver,
16
+ children = _ref.children,
17
+ targetRef = _ref.targetRef,
18
+ name = _ref.name;
19
+ var divRef = useRef(null);
20
+ useEffect(function () {
21
+ if (!hasNodeResolver) {
22
+ var _divRef$current;
23
+ targetRef(name)((_divRef$current = divRef.current) === null || _divRef$current === void 0 ? void 0 : _divRef$current.firstElementChild);
24
+ }
25
+ return function () {
26
+ !hasNodeResolver && targetRef(name)(undefined);
27
+ };
28
+ }, [hasNodeResolver, name, targetRef]);
29
+ if (hasNodeResolver) {
30
+ return /*#__PURE__*/React.createElement(NodeResolver, {
31
+ innerRef: targetRef(name)
32
+ }, children);
33
+ }
34
+ return /*#__PURE__*/React.createElement("span", {
35
+ ref: divRef
36
+ }, children);
37
+ };
38
+ export default NodeResolverSpotlightTarget;
@@ -12,14 +12,15 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
12
12
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
13
13
  import React from 'react';
14
14
  import { canUseDOM } from 'exenv';
15
- import NodeResovler from 'react-node-resolver';
16
15
  import ScrollLock from 'react-scrolllock';
17
16
  import scrollIntoView from 'scroll-into-view-if-needed';
17
+ import { fg } from '@atlaskit/platform-feature-flags';
18
18
  import Portal from '@atlaskit/portal';
19
19
  import { layers } from '@atlaskit/theme/constants';
20
20
  import { ElementBox } from '../utils/use-element-box';
21
21
  import { Fade } from './animation';
22
22
  import Clone from './clone';
23
+ import NodeResolverSpotlightInner from './node-resolver-spotlight-inner';
23
24
  import SpotlightDialog from './spotlight-dialog';
24
25
  import { SpotlightTransitionConsumer } from './spotlight-transition';
25
26
  /**
@@ -99,7 +100,8 @@ var SpotlightInner = /*#__PURE__*/function (_React$Component) {
99
100
  onExited = _ref.onExited;
100
101
  return /*#__PURE__*/React.createElement(Portal, {
101
102
  zIndex: layers.spotlight() + 1
102
- }, TargetReplacement ? /*#__PURE__*/React.createElement(NodeResovler, {
103
+ }, TargetReplacement ? /*#__PURE__*/React.createElement(NodeResolverSpotlightInner, {
104
+ hasNodeResolver: !fg('platform-design-system-dsp-20262-spotlight-inner'),
103
105
  innerRef: function innerRef(elem) {
104
106
  return _this2.setState({
105
107
  replacementElement: elem
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import NodeResolver from 'react-node-resolver';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ import NodeResolverSpotlightTarget from './node-resolver-spotlight-target';
3
4
  import { TargetConsumer } from './spotlight-manager';
4
5
  /**
5
6
  * __Spotlight target__
@@ -14,8 +15,10 @@ var SpotlightTarget = function SpotlightTarget(_ref) {
14
15
  var children = _ref.children,
15
16
  name = _ref.name;
16
17
  return /*#__PURE__*/React.createElement(TargetConsumer, null, function (targetRef) {
17
- return targetRef ? /*#__PURE__*/React.createElement(NodeResolver, {
18
- innerRef: targetRef(name)
18
+ return targetRef ? /*#__PURE__*/React.createElement(NodeResolverSpotlightTarget, {
19
+ name: name,
20
+ hasNodeResolver: !fg('platform-design-system-dsp-20262-spotlight-target'),
21
+ targetRef: targetRef
19
22
  }, /*#__PURE__*/React.createElement(React.Fragment, null, children)) : children;
20
23
  });
21
24
  };
@@ -0,0 +1,18 @@
1
+ import { type ReactElement } from 'react';
2
+ interface NodeResolverSpotlightInnerProps {
3
+ hasNodeResolver: boolean;
4
+ innerRef: (element: HTMLElement | null) => void;
5
+ children: ReactElement;
6
+ }
7
+ /**
8
+ * A wrapper component that conditionally applies a NodeResolver to its children.
9
+ *
10
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
11
+ * is intended to be removed once the feature flag is removed.
12
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
13
+ * @param {ReactElement} props.children - The child elements to be wrapped.
14
+ * @param {(instance: HTMLDivElement) => void} props.innerRef - A ref callback to get the instance of the HTMLDivElement.
15
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
16
+ */
17
+ declare const NodeResolverSpotlightInner: ({ hasNodeResolver, children, innerRef, }: NodeResolverSpotlightInnerProps) => JSX.Element;
18
+ export default NodeResolverSpotlightInner;
@@ -0,0 +1,20 @@
1
+ import { type ReactElement } from 'react';
2
+ interface NodeResolverSpotlightTargetProps {
3
+ hasNodeResolver: boolean;
4
+ children: ReactElement;
5
+ targetRef: (name: string) => (element: Element | null | undefined) => void;
6
+ name: string;
7
+ }
8
+ /**
9
+ * A wrapper component that conditionally applies a NodeResolver to its children.
10
+ *
11
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
12
+ * is intended to be removed once the feature flag is removed.
13
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
14
+ * @param {ReactElement} props.children - The child elements to be wrapped.
15
+ * @param {string} props.name - The name to reference from Spotlight.
16
+ * @param {ReactElement} props.targetRef - Setting up Target Node in Spotlight Manager.
17
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
18
+ */
19
+ declare const NodeResolverSpotlightTarget: ({ hasNodeResolver, children, targetRef, name, }: NodeResolverSpotlightTargetProps) => JSX.Element;
20
+ export default NodeResolverSpotlightTarget;
@@ -0,0 +1,18 @@
1
+ import { type ReactElement } from 'react';
2
+ interface NodeResolverSpotlightInnerProps {
3
+ hasNodeResolver: boolean;
4
+ innerRef: (element: HTMLElement | null) => void;
5
+ children: ReactElement;
6
+ }
7
+ /**
8
+ * A wrapper component that conditionally applies a NodeResolver to its children.
9
+ *
10
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
11
+ * is intended to be removed once the feature flag is removed.
12
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
13
+ * @param {ReactElement} props.children - The child elements to be wrapped.
14
+ * @param {(instance: HTMLDivElement) => void} props.innerRef - A ref callback to get the instance of the HTMLDivElement.
15
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
16
+ */
17
+ declare const NodeResolverSpotlightInner: ({ hasNodeResolver, children, innerRef, }: NodeResolverSpotlightInnerProps) => JSX.Element;
18
+ export default NodeResolverSpotlightInner;
@@ -0,0 +1,20 @@
1
+ import { type ReactElement } from 'react';
2
+ interface NodeResolverSpotlightTargetProps {
3
+ hasNodeResolver: boolean;
4
+ children: ReactElement;
5
+ targetRef: (name: string) => (element: Element | null | undefined) => void;
6
+ name: string;
7
+ }
8
+ /**
9
+ * A wrapper component that conditionally applies a NodeResolver to its children.
10
+ *
11
+ * Note: NodeResolver should not be used in React 18 concurrent mode. This component
12
+ * is intended to be removed once the feature flag is removed.
13
+ * @param {boolean} props.hasNodeResolver - Determines whether to apply the NodeResolver.
14
+ * @param {ReactElement} props.children - The child elements to be wrapped.
15
+ * @param {string} props.name - The name to reference from Spotlight.
16
+ * @param {ReactElement} props.targetRef - Setting up Target Node in Spotlight Manager.
17
+ * @returns {ReactElement} The children wrapped with NodeResolver if hasNodeResolver is true, wrape the children in a div setting innerRef with ref to the div.
18
+ */
19
+ declare const NodeResolverSpotlightTarget: ({ hasNodeResolver, children, targetRef, name, }: NodeResolverSpotlightTargetProps) => JSX.Element;
20
+ export default NodeResolverSpotlightTarget;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/onboarding",
3
- "version": "11.12.3",
3
+ "version": "11.13.0",
4
4
  "description": "An onboarding spotlight introduces new features to users through focused messages or multi-step tours.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -85,6 +85,12 @@
85
85
  "platform-feature-flags": {
86
86
  "platform.design-system.refresh-spotlight-on-interval": {
87
87
  "type": "boolean"
88
+ },
89
+ "platform-design-system-dsp-20262-spotlight-inner": {
90
+ "type": "boolean"
91
+ },
92
+ "platform-design-system-dsp-20262-spotlight-target": {
93
+ "type": "boolean"
88
94
  }
89
95
  },
90
96
  "techstack": {