UNPKG

@vimeo/iris

Version:
46 lines (39 loc) 1.74 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib_es6 = require('../../tslib.es6-3ec409b7.js'); var React = require('react'); var utils_general_generateUID = require('../../utils/general/generateUID.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var TourContext = React.createContext({}); function Tour(_a) { var children = _a.children, _b = _a.id, id = _b === void 0 ? null : _b, _c = _a.steps, steps = _c === void 0 ? 2 : _c, _d = _a.automated, automated = _d === void 0 ? true : _d; var _e = tslib_es6.__read(React.useState(1), 2), active = _e[0], activeSet = _e[1]; if (!id) id = 'iris-tour-' + utils_general_generateUID.generateUID(); function activeSetExtrinsic(setter) { var index = typeof setter === 'number' && setter; var number = typeof index === 'number'; var dismiss = typeof setter !== 'function' && !number; if (dismiss) return activeSet(null); if (typeof setter === 'function') { var state = setter(active); return activeSet(state); } if (typeof setter === 'number') { var withinRange = number && (index < steps || index > 0); return activeSet(withinRange ? index : null); } } var value = { active: active, activeSet: activeSetExtrinsic, id: id, steps: steps, automated: automated, }; return (React__default["default"].createElement(TourContext.Provider, { value: value }, children)); } exports.Tour = Tour; exports.TourContext = TourContext;