Added chip component.
authorjamesjulich <51384945+jamesjulich@users.noreply.github.com>
Mon, 20 Sep 2021 16:02:15 +0000 (11:02 -0500)
committerjamesjulich <51384945+jamesjulich@users.noreply.github.com>
Mon, 20 Sep 2021 16:02:15 +0000 (11:02 -0500)
src/app/atoms/chip/Chip.jsx [new file with mode: 0644]
src/app/atoms/chip/Chip.scss [new file with mode: 0644]

diff --git a/src/app/atoms/chip/Chip.jsx b/src/app/atoms/chip/Chip.jsx
new file mode 100644 (file)
index 0000000..3cededf
--- /dev/null
@@ -0,0 +1,34 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import './Chip.scss';
+
+import Text from '../text/Text';
+import RawIcon from '../system-icons/RawIcon';
+
+function Chip({
+  iconSrc, iconColor, text, children,
+}) {
+  return (
+    <div className="chip">
+      {iconSrc != null && <RawIcon src={iconSrc} color={iconColor} size="small" />}
+      {(text != null && text !== '') && <Text variant="b2">{text}</Text>}
+      {children}
+    </div>
+  );
+}
+
+Chip.propTypes = {
+  iconSrc: PropTypes.string,
+  iconColor: PropTypes.string,
+  text: PropTypes.string,
+  children: PropTypes.element,
+};
+
+Chip.defaultProps = {
+  iconSrc: null,
+  iconColor: null,
+  text: null,
+  children: null,
+};
+
+export default Chip;
diff --git a/src/app/atoms/chip/Chip.scss b/src/app/atoms/chip/Chip.scss
new file mode 100644 (file)
index 0000000..96e91be
--- /dev/null
@@ -0,0 +1,23 @@
+.chip {
+  height: 28px;
+  width: fit-content;
+  width: -moz-fit-content;
+  background: var(--bg-surface-low);
+
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+
+  padding: var(--sp-ultra-tight) var(--sp-extra-tight);
+  box-sizing: border-box;
+  border-radius: var(--bo-radius);
+  border: 1px solid var(--bg-surface-border);
+
+  & .text-b2 {
+    color: var(--tc-surface-high);
+  }
+
+  & .ic-raw-small {
+    margin-right: var(--sp-extra-tight);
+  }
+}
\ No newline at end of file