UNPKG

@vimeo/iris

Version:
37 lines (34 loc) 1.43 kB
import { _ as __read } from '../../tslib.es6-7f0e734f.js'; import React__default, { createContext, useState } from 'react'; import { generateUID } from '../../utils/general/generateUID.esm.js'; var TourContext = 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 = __read(useState(1), 2), active = _e[0], activeSet = _e[1]; if (!id) id = 'iris-tour-' + 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.createElement(TourContext.Provider, { value: value }, children)); } export { Tour, TourContext };