wix-style-react
Version:
wix-style-react
66 lines (65 loc) • 2.59 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _TimelineSt = require("./Timeline.st.css");
var _constants = require("./constants");
var _TimelineItem = _interopRequireDefault(require("./TimelineItem"));
var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/Timeline/Timeline.js";
/** A timeline is a display of a list of events */
class Timeline extends _react.default.PureComponent {
render() {
var {
dataHook,
items,
className,
gap
} = this.props;
return /*#__PURE__*/_react.default.createElement("ol", {
className: (0, _TimelineSt.st)(_TimelineSt.classes.root, className),
"data-hook": dataHook,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 14,
columnNumber: 7
}
}, items.map((item, idx) => /*#__PURE__*/_react.default.createElement(_TimelineItem.default, {
key: idx,
item: item,
idx: idx,
dataHook: "".concat(_constants.dataHooks.timelineListEvent, "-").concat(idx),
gap: gap,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 16,
columnNumber: 11
}
})));
}
}
Timeline.displayName = 'Timeline';
Timeline.propTypes = {
/** Applies a data-hook HTML attribute to be used in the tests */
dataHook: _propTypes.default.string,
/** Applies a CSS class to the component’s root element */
className: _propTypes.default.string,
/** Sets the distance that separates each item from the one below */
gap: _propTypes.default.string,
/** Defines each individual event item in the component:
* - `label` stores a text string naming the event or renders other components as its children
* - `labelAction` stores an action button (or other components) related to the event
* - `customPrefix` defines a custom milestone symbol for an item on the vertical axis
* - `suffix` stores a date of the event (or other components) */
items: _propTypes.default.arrayOf(_propTypes.default.shape({
label: _propTypes.default.node,
labelAction: _propTypes.default.node,
customPrefix: _propTypes.default.node,
suffix: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string])
})).isRequired
};
var _default = exports.default = Timeline;
//# sourceMappingURL=Timeline.js.map