@carbon/ibm-security
Version:
Carbon for Cloud & Cognitive IBM Security UI components
46 lines (45 loc) • 1.66 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
/**
* @file Status icon stories.
* @copyright IBM Security 2019 - 2021
*/
import { select, text } from '@storybook/addon-knobs';
import { storiesOf } from '@storybook/react';
import { compose, getDisplayName, lifecycle } from 'recompose';
import React from 'react';
import { components } from '../../../.storybook';
import { StatusIcon } from '../..';
import { SIZE, STATUS } from './StatusIcon';
var storyProps = function storyProps() {
return {
message: text('Label (message)', 'Label'),
size: select('Size (size)', SIZE, StatusIcon.defaultProps.size),
iconDescription: text('Icon ARIA label', 'Icon description.. ')
};
};
var status = STATUS[0];
storiesOf(components('StatusIcon'), module).add('Default', function () {
return /*#__PURE__*/React.createElement(StatusIcon, storyProps());
}).add('Status', function () {
return /*#__PURE__*/React.createElement(StatusIcon, _extends({}, storyProps(), {
status: select('Status (status)', STATUS, status)
}));
}).add('Dynamic', function () {
var timeout;
var StatusIconStory = compose(lifecycle({
componentDidMount: function componentDidMount() {
var _this = this;
timeout = setTimeout(function () {
return _this.setState({
status: status
});
}, 1000);
},
componentWillUnmount: function componentWillUnmount() {
return clearTimeout(timeout);
}
}))(StatusIcon);
StatusIconStory.displayName = getDisplayName(StatusIcon);
StatusIconStory.__docgenInfo = StatusIcon.__docgenInfo;
return /*#__PURE__*/React.createElement(StatusIconStory, storyProps());
});