diff --git a/packages/ui/build/storybook/__snapshots__/storyshots.test.js.snap b/packages/ui/build/storybook/__snapshots__/storyshots.test.js.snap index 521214d25f..fc5a3d7596 100644 --- a/packages/ui/build/storybook/__snapshots__/storyshots.test.js.snap +++ b/packages/ui/build/storybook/__snapshots__/storyshots.test.js.snap @@ -314505,6 +314505,47 @@ exports[`Storyshots Components/Delta slightlyPositive 1`] = ` `; +exports[`Storyshots Components/JobMeta default 1`] = ` +
+
+
+

+ #123 +

+

+ July 3th +

+
+
+

+ #122 +

+

+ July 4th +

+
+
+
+`; + exports[`Storyshots Components/JobName custom component 1`] = `
{ + const { + as: Component, className, meta, ...restProps + } = props; + + const rootClassName = cx(css.root, className); + + return ( + + {meta.map(({ title, content }, index) => { + const key = index; + + return ( +
+ {title && (

{title}

)} + {content.map((item) => ( + <>{item} + ))} +
+ ); + })} +
+ ); +}; + +JobMeta.propTypes = { + /** Adopted child class name */ + className: PropTypes.string, + + /** Contrnt */ + meta: PropTypes.arrayOf(PropTypes.shape({ + title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), + content: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.element])), + })).isRequired, + + /** Render component */ + as: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), +}; + +JobMeta.defaultProps = { + className: '', + as: 'div', +}; diff --git a/packages/ui/src/components/job-meta/job-meta.module.css b/packages/ui/src/components/job-meta/job-meta.module.css new file mode 100644 index 0000000000..1ea2c8f99c --- /dev/null +++ b/packages/ui/src/components/job-meta/job-meta.module.css @@ -0,0 +1,19 @@ +.root { + padding: var(--space-xsmall) var(--space-small); + display: flex; +} + +.item { + flex: 1 1 100%; +} + +.itemTitle { + margin: 0; + font-size: 1em; + font-weight: bold; + color: var(--color-gray-light); +} + +.item + .item { + margin-left: var(--space-xsmall); +} diff --git a/packages/ui/src/components/job-meta/job-meta.stories.jsx b/packages/ui/src/components/job-meta/job-meta.stories.jsx new file mode 100644 index 0000000000..a856c9eb5b --- /dev/null +++ b/packages/ui/src/components/job-meta/job-meta.stories.jsx @@ -0,0 +1,27 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; + +import { getWrapperDecorator } from '../../stories'; +import { JobMeta } from '.'; + +const stories = storiesOf('Components/JobMeta', module); +stories.addDecorator(getWrapperDecorator()); + +stories.add('default', () => ( + July 3th

, + ], + }, + { + title: '#122', + content: [ +

July 4th

, + ], + }, + ]} + /> +));