UNPKG

@geneui/components

Version:

The Gene UI components library designed for BI tools

114 lines (108 loc) 5.33 kB
import { _ as _extends } from '../_rollupPluginBabelHelpers-e8fb2e5c.js'; import React__default from 'react'; import PropTypes from 'prop-types'; import { c as classnames } from '../index-031ff73c.js'; import { c as childrenOf } from '../index-a0e4e333.js'; import Icon from '../Icon/index.js'; import { s as styleInject } from '../style-inject.es-746bb8ed.js'; import '../dateValidation-67caec66.js'; import '../_commonjsHelpers-24198af3.js'; import 'react-dom'; var css_248z$1 = "[data-gene-ui-version=\"2.16.5\"] .timeline-item{display:flex;font-weight:600;line-height:1.36}[data-gene-ui-version=\"2.16.5\"] .timeline-item.c-success{--hero:var(--confirm);--hero-hover:var(--confirm-hover);--hero-sc:var(--confirm-sc);--hero-rgb:var(--confirm-rgb);--hero-sc-rgb:var(--confirm-sc-rgb)}[data-gene-ui-version=\"2.16.5\"] .timeline-item.c-danger{--hero:var(--danger);--hero-hover:var(--danger-hover);--hero-sc:var(--danger-sc);--hero-rgb:var(--danger-rgb);--hero-sc-rgb:var(--danger-sc-rgb)}[data-gene-ui-version=\"2.16.5\"] .timeline-item:not(:last-child).with-line .t-line:before{background:rgba(var(--background-sc-rgb),.1)}[data-gene-ui-version=\"2.16.5\"] .timeline-item:not(:last-child) .t-texts{padding:0 0 2rem}[data-gene-ui-version=\"2.16.5\"] .timeline-item>li{display:flex}[data-gene-ui-version=\"2.16.5\"] .timeline-item.a-default .t-texts>*+*{margin:0 0 0 1rem}html[dir=rtl] .timeline-item.a-default .t-texts>*+*{margin:0 1rem 0 0}[data-gene-ui-version=\"2.16.5\"] .timeline-item.a-compact .t-texts{flex-direction:column}[data-gene-ui-version=\"2.16.5\"] .timeline-item.a-compact .t-texts>*+*{margin:.5rem 0 0}[data-gene-ui-version=\"2.16.5\"] .timeline-item .t-line{flex-shrink:0;position:relative}[data-gene-ui-version=\"2.16.5\"] .timeline-item .t-line:before{content:\"\";display:block;height:100%;margin:0 .5rem;width:1px}[data-gene-ui-version=\"2.16.5\"] .timeline-item .t-texts{flex:auto;margin:0 0 0 1.5rem}html[dir=rtl] .timeline-item .t-texts{margin:0 1.5rem 0 0}[data-gene-ui-version=\"2.16.5\"] .timeline-item .t-description{color:rgba(var(--background-sc-rgb),.6);font:600 1.2rem/1.8rem var(--font-family)}[data-gene-ui-version=\"2.16.5\"] .timeline-item .t-description,[data-gene-ui-version=\"2.16.5\"] .timeline-item .t-title{max-width:100%}[data-gene-ui-version=\"2.16.5\"] .timeline-item .icon{background:var(--background);border-radius:100%;color:var(--hero);left:50%;position:absolute;top:0;transform:translate3d(-50%,-.3rem,0)}[data-gene-ui-version=\"2.16.5\"] .timeline-item .t-icon{background:var(--background);border:.2rem solid var(--hero);border-radius:100%;box-shadow:0 0 0 .4rem var(--background);font-size:1.5rem;height:1.1rem;left:0;position:absolute;top:.4rem;width:1.1rem}[data-gene-ui-version=\"2.16.5\"] .timeline-item .t-icon.bc-icon-loader{top:.2rem}"; styleInject(css_248z$1); const timelineColors = ['hero', 'success', 'danger']; const timelineAppearances = ['default', 'compact']; function TimelineItem(props) { const { icon, title, color, withLine, isLoading, className, appearance, description, ...restProps } = props; return /*#__PURE__*/React__default.createElement("ul", _extends({ className: classnames('timeline-item', "a-".concat(appearance), "c-".concat(color), className, { 'with-line': withLine }) }, restProps), /*#__PURE__*/React__default.createElement("li", { className: "t-line" }, isLoading ? /*#__PURE__*/React__default.createElement(Icon, { type: "bc-icon-loader" }) : icon ? /*#__PURE__*/React__default.createElement(Icon, { type: icon }) : /*#__PURE__*/React__default.createElement("div", { className: "t-icon" })), /*#__PURE__*/React__default.createElement("li", { className: "t-texts" }, !!title && /*#__PURE__*/React__default.createElement("div", { className: "t-title" }, title), !!description && /*#__PURE__*/React__default.createElement("div", { className: "t-description" }, description))); } TimelineItem.propTypes = { /** * Is loading state. */ isLoading: PropTypes.bool, /** * Title for item */ title: PropTypes.string, /** * Icon for item */ icon: PropTypes.string, /** * Render line between items */ withLine: PropTypes.bool, /** * Description fot item */ description: PropTypes.string, /** * External/Additional className */ className: PropTypes.string, /** * Different colors for items */ color: PropTypes.oneOf(timelineColors), /** * Any valid React node. */ appearance: PropTypes.oneOf(timelineAppearances) }; TimelineItem.defaultProps = { color: timelineColors[0], withLine: true, appearance: timelineAppearances[0] }; var css_248z = "[data-gene-ui-version=\"2.16.5\"] .timeline-holder{display:flex;flex-direction:column}"; styleInject(css_248z); function Timeline(props) { const { children, className, ...restProps } = props; return /*#__PURE__*/React__default.createElement("div", _extends({ className: classnames('timeline-holder', className) }, restProps), children); } Timeline.propTypes = { /** * External/Additional className */ className: PropTypes.string, /** * Any valid React node. */ children: childrenOf([TimelineItem]) }; export { Timeline, TimelineItem, timelineAppearances, timelineColors };