UNPKG

@atlaskit/spotlight

Version:

A spotlight introduces users to points of interest, from focused messages to multi-step tours.

216 lines (212 loc) 7.42 kB
/* context.tsx generated by @compiled/babel-plugin v3.0.2 */ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.SpotlightContextProvider = exports.SpotlightContext = void 0; var _react = _interopRequireWildcard(require("react")); var React = _react; var _runtime = require("@compiled/react/runtime"); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } // eslint-disable-next-line @repo/internal/react/consistent-types-definitions // eslint-disable-next-line @repo/internal/react/require-jsdoc var SpotlightContext = exports.SpotlightContext = /*#__PURE__*/(0, _react.createContext)({ card: { ref: null, setRef: function setRef() { return undefined; }, placement: 'bottom-end', setPlacement: function setPlacement() { return undefined; }, motion: undefined, setMotion: function setMotion() { return undefined; } }, heading: { id: '', setId: function setId() { return undefined; } }, popoverContent: { ref: undefined, setRef: function setRef() { return undefined; }, positionArea: undefined, setPositionArea: function setPositionArea() { return undefined; }, update: function update() { return new Promise(function () { return null; }); }, setUpdate: function setUpdate() { return new Promise(function () { return null; }); }, dismiss: { current: function current() { return undefined; } }, setDismiss: function setDismiss() { return undefined; } }, target: { ref: { current: null }, setRef: function setRef() { return undefined; } }, primaryAction: { action: { current: function current() { return undefined; } }, setAction: function setAction() { return undefined; } }, secondaryAction: { action: { current: function current() { return undefined; } }, setAction: function setAction() { return undefined; } } }); /** * Props accepted by `SpotlightContextProvider`. */ // eslint-disable-next-line @repo/internal/react/consistent-types-definitions // eslint-disable-next-line @repo/internal/react/require-jsdoc // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports var SpotlightContextProvider = exports.SpotlightContextProvider = function SpotlightContextProvider(_ref) { var children = _ref.children, targetRef = _ref.targetRef; var id = (0, _react.useId)(); var defaultTargetRef = (0, _react.useRef)(null); var _useState = (0, _react.useState)(), _useState2 = (0, _slicedToArray2.default)(_useState, 2), motion = _useState2[0], setMotion = _useState2[1]; var _useState3 = (0, _react.useState)('bottom-end'), _useState4 = (0, _slicedToArray2.default)(_useState3, 2), placement = _useState4[0], setPlacement = _useState4[1]; var _useState5 = (0, _react.useState)("".concat(id, "-heading")), _useState6 = (0, _slicedToArray2.default)(_useState5, 2), headingId = _useState6[0], setHeadingId = _useState6[1]; var _useState7 = (0, _react.useState)(function () { return /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function (_context) { while (1) switch (_context.prev = _context.next) { case 0: return _context.abrupt("return", undefined); case 1: case "end": return _context.stop(); } }, _callee); })); }), _useState8 = (0, _slicedToArray2.default)(_useState7, 2), update = _useState8[0], setUpdate = _useState8[1]; var _useState9 = (0, _react.useState)(), _useState0 = (0, _slicedToArray2.default)(_useState9, 2), popoverRef = _useState0[0], setPopoverRef = _useState0[1]; var _useState1 = (0, _react.useState)(), _useState10 = (0, _slicedToArray2.default)(_useState1, 2), positionArea = _useState10[0], setPositionArea = _useState10[1]; var _useState11 = (0, _react.useState)(null), _useState12 = (0, _slicedToArray2.default)(_useState11, 2), cardRef = _useState12[0], setCardRef = _useState12[1]; var _useState13 = (0, _react.useState)(defaultTargetRef), _useState14 = (0, _slicedToArray2.default)(_useState13, 2), internalTargetRef = _useState14[0], setInternalTargetRef = _useState14[1]; // `targetRef` (the prop) takes precedence when provided. Its identity is // allowed to change over time; downstream consumers that depend on // `target.ref` identity (e.g. `useAnchoredPopover`'s effect deps) will // re-run accordingly. var effectiveTargetRef = targetRef !== null && targetRef !== void 0 ? targetRef : internalTargetRef; var dismissRef = (0, _react.useRef)(function () { return undefined; }); var setDismiss = function setDismiss(dismissFn) { dismissRef.current = dismissFn; }; var secondaryActionRef = (0, _react.useRef)(function () { return undefined; }); var setSecondaryAction = function setSecondaryAction(actionFn) { secondaryActionRef.current = actionFn; }; var primaryActionRef = (0, _react.useRef)(function () { return undefined; }); var setPrimaryAction = function setPrimaryAction(actionFn) { primaryActionRef.current = actionFn; }; return /*#__PURE__*/React.createElement(SpotlightContext.Provider, { value: { card: { ref: cardRef, setRef: setCardRef, placement: placement, setPlacement: setPlacement, motion: motion, setMotion: setMotion }, heading: { id: headingId, setId: setHeadingId }, popoverContent: { ref: popoverRef, setRef: setPopoverRef, positionArea: positionArea, setPositionArea: setPositionArea, update: update, setUpdate: setUpdate, dismiss: dismissRef, setDismiss: setDismiss }, target: { ref: effectiveTargetRef, setRef: setInternalTargetRef }, primaryAction: { action: primaryActionRef, setAction: setPrimaryAction }, secondaryAction: { action: secondaryActionRef, setAction: setSecondaryAction } } }, children); };