UNPKG

curls

Version:

💪 Responsive, expressive UI primitives for React written with Style Hooks and Emotion

75 lines (63 loc) • 2.01 kB
'use strict' exports.__esModule = true exports.default = exports.getDelay = void 0 var _switch = _interopRequireDefault(require('@react-hook/switch')) var _Transitionable = require('./Transitionable') function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : {default: obj} } function _objectWithoutProperties(source, excluded) { if (source == null) return {} var target = _objectWithoutPropertiesLoose(source, excluded) var key, i if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source) for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i] if (excluded.indexOf(key) >= 0) continue if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue target[key] = source[key] } } return target } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {} var target = {} var sourceKeys = Object.keys(source) var key, i for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i] if (excluded.indexOf(key) >= 0) continue target[key] = source[key] } return target } const getDelay = (value, props) => value === true ? props.enterDelay !== void 0 ? props.enterDelay : props.delay : props.leaveDelay !== void 0 ? props.leaveDelay : props.delay exports.getDelay = getDelay var _default = ( useTransition, // eslint-disable-next-line no-unused-vars _ref ) => { let {initialVisible = false, visible} = _ref, props = _objectWithoutProperties(_ref, ['initialVisible', 'visible']) let [isVisible, toggle] = (0, _switch.default)(initialVisible) isVisible = visible === void 0 || visible === null ? isVisible : visible props.isVisible = isVisible props.delay = getDelay(isVisible, props) return { show: toggle.on, hide: toggle.off, toggle, isVisible, css: (0, _Transitionable.useTransitionable)(useTransition(props)).css, } } exports.default = _default