UNPKG

carbon-components

Version:

Carbon Components is a component library for IBM Cloud

41 lines (37 loc) 1.28 kB
import eventedState from './evented-state'; import getLaunchingDetails from '../misc/get-launching-details'; function eventedShowHideState(ToMix) { /** * Mix-in class to launch a floating menu. * @class EventedShowHideState */ class EventedShowHideState extends ToMix { /** */ /** * Switch to 'shown' state. * @param [evtOrElem] The launching event or element. * @param {EventedState~changeStateCallback} [callback] The callback. */ show(evtOrElem, callback) { if (!evtOrElem || typeof evtOrElem === 'function') { callback = evtOrElem; // eslint-disable-line no-param-reassign } this.changeState('shown', getLaunchingDetails(evtOrElem), callback); } /** * Switch to 'hidden' state. * @param [evtOrElem] The launching event or element. * @param {EventedState~changeStateCallback} [callback] The callback. */ hide(evtOrElem, callback) { if (!evtOrElem || typeof evtOrElem === 'function') { callback = evtOrElem; // eslint-disable-line no-param-reassign } this.changeState('hidden', getLaunchingDetails(evtOrElem), callback); } } return EventedShowHideState; } const exports = [eventedState, eventedShowHideState]; export default exports;