diff --git a/packages/carbon-react/.storybook/styles.scss b/packages/carbon-react/.storybook/styles.scss
index 57ceb93e2e68..cb2c6a9b733c 100644
--- a/packages/carbon-react/.storybook/styles.scss
+++ b/packages/carbon-react/.storybook/styles.scss
@@ -15,6 +15,7 @@ $feature-flags: (
@use '../index.scss' as styles;
@use '../scss/components/button';
+@use '../scss/components/tag';
// For now, including all weights for testing
@include arabic.all;
@@ -22,19 +23,19 @@ $feature-flags: (
@include mono.all;
:root {
- @include styles.theme(styles.$white, button.$white);
+ @include styles.theme(styles.$white, button.$white, tag.$white);
}
[data-carbon-theme='g10'] {
- @include styles.theme(styles.$g10, button.$g10);
+ @include styles.theme(styles.$g10, button.$g10, tag.$g10);
}
[data-carbon-theme='g90'] {
- @include styles.theme(styles.$g90, button.$g90);
+ @include styles.theme(styles.$g90, button.$g90, tag.$g90);
}
[data-carbon-theme='g100'] {
- @include styles.theme(styles.$g100, button.$g100);
+ @include styles.theme(styles.$g100, button.$g100, tag.$g100);
}
html[lang='en'] body {
diff --git a/packages/carbon-react/scss/components/_tag.scss b/packages/carbon-react/scss/components/_tag.scss
new file mode 100644
index 000000000000..eb889113ae5a
--- /dev/null
+++ b/packages/carbon-react/scss/components/_tag.scss
@@ -0,0 +1,8 @@
+//
+// Copyright IBM Corp. 2018, 2018
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@forward '@carbon/styles/scss/components/tag';
diff --git a/packages/carbon-react/src/components/Tag/Tag.stories.js b/packages/carbon-react/src/components/Tag/Tag.stories.js
new file mode 100644
index 000000000000..210cb6c976b6
--- /dev/null
+++ b/packages/carbon-react/src/components/Tag/Tag.stories.js
@@ -0,0 +1,47 @@
+/**
+ * Copyright IBM Corp. 2016, 2018
+ *
+ * This source code is licensed under the Apache-2.0 license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+import React from 'react';
+import { Tag } from 'carbon-components-react';
+
+export default {
+ title: 'Components/Tag',
+ parameters: {
+ component: Tag,
+ },
+};
+
+export const Default = () => {
+ return (
+ <>
+
+ {'Tag content'}
+
+
+ {'Tag content'}
+
+
+ {'Tag content'}
+
+
+ {'Tag content'}
+
+
+ {'Tag content'}
+
+
+ {'Tag content'}
+
+
+ {'Tag content'}
+
+
+ {'Tag content'}
+
+ >
+ );
+};
diff --git a/packages/carbon-react/src/components/Tag/index.js b/packages/carbon-react/src/components/Tag/index.js
new file mode 100644
index 000000000000..5cf3e720b86f
--- /dev/null
+++ b/packages/carbon-react/src/components/Tag/index.js
@@ -0,0 +1,8 @@
+/**
+ * Copyright IBM Corp. 2016, 2018
+ *
+ * This source code is licensed under the Apache-2.0 license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+export { Tag } from 'carbon-components-react';
diff --git a/packages/styles/scss/components/__tests__/tag-test.js b/packages/styles/scss/components/__tests__/tag-test.js
new file mode 100644
index 000000000000..e9a25d746089
--- /dev/null
+++ b/packages/styles/scss/components/__tests__/tag-test.js
@@ -0,0 +1,25 @@
+/**
+ * Copyright IBM Corp. 2018, 2018
+ *
+ * This source code is licensed under the Apache-2.0 license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ * @jest-environment node
+ */
+
+'use strict';
+
+const { SassRenderer } = require('@carbon/test-utils/scss');
+
+const { render } = SassRenderer.create(__dirname);
+
+describe('scss/components/tag', () => {
+ test('Public API', async () => {
+ const { unwrap } = await render(`
+ @use 'sass:meta';
+ @use '../tag/tag';
+ $_: get('mixin', meta.mixin-exists('tag', 'tag'));
+ `);
+ expect(unwrap('mixin')).toBe(true);
+ });
+});
diff --git a/packages/styles/scss/components/_index.scss b/packages/styles/scss/components/_index.scss
index b139ac1ed5bd..e775bf6ac8e7 100644
--- a/packages/styles/scss/components/_index.scss
+++ b/packages/styles/scss/components/_index.scss
@@ -28,6 +28,7 @@
@use 'data-table/expandable';
@use 'data-table/skeleton';
@use 'data-table/sort';
+@use 'tag';
@use "slider";
@use 'text-area';
@use 'text-input';
diff --git a/packages/styles/scss/components/tag/_index.scss b/packages/styles/scss/components/tag/_index.scss
new file mode 100644
index 000000000000..30e0fc791dbd
--- /dev/null
+++ b/packages/styles/scss/components/tag/_index.scss
@@ -0,0 +1,12 @@
+//
+// Copyright IBM Corp. 2018, 2018
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@forward 'tag';
+@forward 'tokens';
+@use 'tag';
+
+@include tag.tag;
diff --git a/packages/styles/scss/components/tag/_mixins.scss b/packages/styles/scss/components/tag/_mixins.scss
new file mode 100644
index 000000000000..3e292524143d
--- /dev/null
+++ b/packages/styles/scss/components/tag/_mixins.scss
@@ -0,0 +1,21 @@
+//
+// Copyright IBM Corp. 2016, 2018
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+@use '../../config' as *;
+
+/// @access private
+/// @group tag
+@mixin tag-theme($bg-color, $text-color, $filter-hover-color: $bg-color) {
+ background-color: $bg-color;
+ color: $text-color;
+
+ &.#{$prefix}--tag--interactive,
+ .#{$prefix}--tag__close-icon {
+ &:hover {
+ background-color: $filter-hover-color;
+ }
+ }
+}
diff --git a/packages/styles/scss/components/tag/_tag.scss b/packages/styles/scss/components/tag/_tag.scss
new file mode 100644
index 000000000000..afae0067527d
--- /dev/null
+++ b/packages/styles/scss/components/tag/_tag.scss
@@ -0,0 +1,268 @@
+//
+// Copyright IBM Corp. 2016, 2018
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@use '../../theme' as *;
+@use '../../utilities/button-reset';
+@use '../../type' as *;
+@use '../../motion' as *;
+@use '../../config' as *;
+@use '../../utilities/component-tokens' as *;
+@use '../../utilities/convert' as *;
+@use '../../utilities/high-contrast-mode' as *;
+@use '../../spacing' as *;
+@use './tokens' as *;
+@use './mixins' as *;
+@use '../../utilities/skeleton';
+
+/// Tag styles
+/// @access public
+/// @group tag
+@mixin tag {
+ .#{$prefix}--tag {
+ @include type-style('label-01');
+ @include tag-theme($tag-background-gray, $tag-color-gray, $tag-hover-gray);
+
+ display: inline-flex;
+ // ensures tag stays pill shaped;
+ min-width: rem(32px);
+ // restricts size of contained elements
+ max-width: 100%;
+ min-height: rem(24px);
+ align-items: center;
+ justify-content: center;
+ padding: $spacing-02 $spacing-03;
+ margin: $spacing-02;
+ border-radius: rem(15px);
+ cursor: default;
+ vertical-align: middle;
+ word-break: break-word;
+
+ &:not(:first-child) {
+ margin-left: 0;
+ }
+ }
+
+ .#{$prefix}--tag--red {
+ @include tag-theme($tag-background-red, $tag-color-red, $tag-hover-red);
+ }
+
+ .#{$prefix}--tag--magenta {
+ @include tag-theme(
+ $tag-background-magenta,
+ $tag-color-magenta,
+ $tag-hover-magenta
+ );
+ }
+
+ .#{$prefix}--tag--purple {
+ @include tag-theme(
+ $tag-background-purple,
+ $tag-color-purple,
+ $tag-hover-purple
+ );
+ }
+
+ .#{$prefix}--tag--blue {
+ @include tag-theme($tag-background-blue, $tag-color-blue, $tag-hover-blue);
+ }
+
+ .#{$prefix}--tag--cyan {
+ @include tag-theme($tag-background-cyan, $tag-color-cyan, $tag-hover-cyan);
+ }
+
+ .#{$prefix}--tag--teal {
+ @include tag-theme($tag-background-teal, $tag-color-teal, $tag-hover-teal);
+ }
+
+ .#{$prefix}--tag--green {
+ @include tag-theme(
+ $tag-background-green,
+ $tag-color-green,
+ $tag-hover-green
+ );
+ }
+
+ .#{$prefix}--tag--gray {
+ @include tag-theme($tag-background-gray, $tag-color-gray, $tag-hover-gray);
+ }
+
+ .#{$prefix}--tag--cool-gray {
+ @include tag-theme(
+ $tag-background-cool-gray,
+ $tag-color-cool-gray,
+ $tag-hover-cool-gray
+ );
+ }
+
+ .#{$prefix}--tag--warm-gray {
+ @include tag-theme(
+ $tag-background-warm-gray,
+ $tag-color-warm-gray,
+ $tag-hover-warm-gray
+ );
+ }
+
+ .#{$prefix}--tag--high-contrast {
+ @include tag-theme(
+ $background-inverse,
+ $text-inverse,
+ $background-inverse-hover
+ );
+ }
+
+ .#{$prefix}--tag--disabled,
+ .#{$prefix}--tag--filter.#{$prefix}--tag--disabled,
+ .#{$prefix}--tag--interactive.#{$prefix}--tag--disabled {
+ @include tag-theme($layer-disabled, $text-disabled);
+
+ &:hover {
+ cursor: not-allowed;
+ }
+ }
+
+ .#{$prefix}--tag__label {
+ overflow: hidden;
+ max-width: 100%;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ .#{$prefix}--tag--interactive:focus {
+ box-shadow: inset 0 0 0 1px $focus;
+ outline: none;
+ }
+
+ .#{$prefix}--tag--interactive:hover {
+ cursor: pointer;
+ }
+
+ // tags used for filtering
+ .#{$prefix}--tag--filter {
+ padding-top: 0;
+ padding-right: 0;
+ padding-bottom: 0;
+ cursor: pointer;
+
+ &:hover {
+ outline: none;
+ }
+ }
+
+ .#{$prefix}--tag--interactive {
+ transition: background-color $duration-fast-01 motion(entrance, productive);
+ }
+
+ .#{$prefix}--tag__close-icon {
+ display: flex;
+ width: rem(24px);
+ height: rem(24px);
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: center;
+ padding: 0;
+ border: 0;
+ margin: 0 0 0 rem(2px);
+ background-color: transparent;
+ border-radius: 50%;
+ color: currentColor;
+ cursor: pointer;
+ transition: background-color $duration-fast-01 motion(standard, productive),
+ box-shadow $duration-fast-01 motion(standard, productive);
+ svg {
+ fill: currentColor;
+ }
+ }
+
+ .#{$prefix}--tag__custom-icon {
+ width: rem(16px);
+ height: rem(16px);
+ flex-shrink: 0;
+ padding: 0;
+ border: 0;
+ margin-right: $spacing-02;
+ background-color: transparent;
+ color: currentColor;
+ outline: none;
+
+ svg {
+ fill: currentColor;
+ }
+ }
+
+ .#{$prefix}--tag--disabled .#{$prefix}--tag__close-icon {
+ cursor: not-allowed;
+ }
+
+ .#{$prefix}--tag__close-icon:focus {
+ border-radius: 50%;
+ box-shadow: inset 0 0 0 1px $focus;
+ outline: none;
+ }
+
+ .#{$prefix}--tag--high-contrast .#{$prefix}--tag__close-icon:focus {
+ box-shadow: inset 0 0 0 1px $focus-inverse;
+ }
+
+ .#{$prefix}--tag--filter.#{$prefix}--tag--disabled
+ .#{$prefix}--tag__close-icon:hover {
+ background-color: transparent;
+ }
+
+ .#{$prefix}--tag--filter.#{$prefix}--tag--disabled svg {
+ fill: $icon-disabled;
+ }
+
+ // small tags
+ .#{$prefix}--tag--sm {
+ min-height: rem(18px);
+ padding: 0 $spacing-03;
+ }
+
+ .#{$prefix}--tag--sm.#{$prefix}--tag--filter {
+ padding-right: 0;
+ }
+
+ .#{$prefix}--tag--sm .#{$prefix}--tag__close-icon {
+ width: rem(18px);
+ height: rem(18px);
+ margin-left: rem(5px);
+ }
+
+ // Skeleton state
+ .#{$prefix}--tag.#{$prefix}--skeleton {
+ @include tag-theme(
+ $bg-color: $skeleton-background,
+ $text-color: $text-primary
+ );
+
+ overflow: hidden;
+ width: rem(60px);
+
+ // Safari specific bug (#7672)
+ @media not all and (min-resolution: 0.001dpcm) {
+ @supports (-webkit-appearance: none) and (stroke-color: transparent) {
+ transform: translateZ(0);
+ }
+ }
+ }
+
+ // Windows HCM fix
+ /* stylelint-disable */
+ .#{$prefix}--tag {
+ @include high-contrast-mode('outline');
+ }
+
+ .#{$prefix}--tag__close-icon svg,
+ .#{$prefix}--tag__custom-icon svg {
+ @include high-contrast-mode('icon-fill');
+ }
+
+ .#{$prefix}--tag__close-icon:focus {
+ @include high-contrast-mode('focus');
+ }
+ /* stylelint-enable */
+}
diff --git a/packages/styles/scss/components/tag/_tokens.scss b/packages/styles/scss/components/tag/_tokens.scss
new file mode 100644
index 000000000000..af569318c252
--- /dev/null
+++ b/packages/styles/scss/components/tag/_tokens.scss
@@ -0,0 +1,702 @@
+//
+// Copyright IBM Corp. 2020
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@use 'sass:color';
+@use '../../colors';
+@use '../../theme' as *;
+@use '../../themes';
+@use '../../utilities/component-tokens';
+@use '../../utilities/custom-property';
+
+// prettier-ignore
+$-tokens: (
+ // red
+ 'tag-background-red': (
+ fallback: colors.$red-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$red-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$red-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$red-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$red-80,
+ ),
+ ),
+ ),
+ 'tag-color-red': (
+ fallback: colors.$red-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$red-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$red-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$red-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$red-30,
+ ),
+ ),
+ ),
+ 'tag-hover-red': (
+ fallback: colors.$red-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$red-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$red-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$red-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$red-70,
+ ),
+ ),
+ ),
+
+ // magenta
+ 'tag-background-magenta': (
+ fallback: colors.$magenta-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$magenta-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$magenta-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$magenta-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$magenta-80,
+ ),
+ ),
+ ),
+ 'tag-color-magenta': (
+ fallback: colors.$magenta-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$magenta-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$magenta-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$magenta-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$magenta-30,
+ ),
+ ),
+ ),
+ 'tag-hover-magenta': (
+ fallback: colors.$magenta-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$magenta-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$magenta-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$magenta-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$magenta-70,
+ ),
+ ),
+ ),
+
+ // purple
+ 'tag-background-purple': (
+ fallback: colors.$purple-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$purple-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$purple-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$purple-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$purple-80,
+ ),
+ ),
+ ),
+ 'tag-color-purple': (
+ fallback: colors.$purple-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$purple-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$purple-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$purple-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$purple-30,
+ ),
+ ),
+ ),
+ 'tag-hover-purple': (
+ fallback: colors.$purple-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$purple-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$purple-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$purple-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$purple-70,
+ ),
+ ),
+ ),
+
+ // blue
+ 'tag-background-blue': (
+ fallback: colors.$blue-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$blue-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$blue-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$blue-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$blue-80,
+ ),
+ ),
+ ),
+ 'tag-color-blue': (
+ fallback: colors.$blue-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$blue-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$blue-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$blue-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$blue-30,
+ ),
+ ),
+ ),
+ 'tag-hover-blue': (
+ fallback: colors.$blue-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$blue-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$blue-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$blue-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$blue-70,
+ ),
+ ),
+ ),
+
+ // cyan
+ 'tag-background-cyan': (
+ fallback: colors.$cyan-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$cyan-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$cyan-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$cyan-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$cyan-80,
+ ),
+ ),
+ ),
+ 'tag-color-cyan': (
+ fallback: colors.$cyan-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$cyan-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$cyan-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$cyan-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$cyan-30,
+ ),
+ ),
+ ),
+ 'tag-hover-cyan': (
+ fallback: colors.$cyan-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$cyan-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$cyan-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$cyan-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$cyan-70,
+ ),
+ ),
+ ),
+
+ // teal
+ 'tag-background-teal': (
+ fallback: colors.$teal-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$teal-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$teal-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$teal-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$teal-80,
+ ),
+ ),
+ ),
+ 'tag-color-teal': (
+ fallback: colors.$teal-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$teal-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$teal-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$teal-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$teal-30,
+ ),
+ ),
+ ),
+ 'tag-hover-teal': (
+ fallback: colors.$teal-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$teal-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$teal-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$teal-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$teal-70,
+ ),
+ ),
+ ),
+
+ // green
+ 'tag-background-green': (
+ fallback: colors.$green-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$green-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$green-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$green-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$green-80,
+ ),
+ ),
+ ),
+ 'tag-color-green': (
+ fallback: colors.$green-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$green-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$green-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$green-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$green-30,
+ ),
+ ),
+ ),
+ 'tag-hover-green': (
+ fallback: colors.$green-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$green-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$green-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$green-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$green-70,
+ ),
+ ),
+ ),
+
+ // gray
+ 'tag-background-gray': (
+ fallback: colors.$gray-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$gray-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$gray-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$gray-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$gray-80,
+ ),
+ ),
+ ),
+ 'tag-color-gray': (
+ fallback: colors.$gray-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$gray-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$gray-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$gray-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$gray-30,
+ ),
+ ),
+ ),
+ 'tag-hover-gray': (
+ fallback: colors.$gray-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$gray-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$gray-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$gray-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$gray-70,
+ ),
+ ),
+ ),
+
+ // cool-gray
+ 'tag-background-cool-gray': (
+ fallback: colors.$cool-gray-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$cool-gray-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$cool-gray-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$cool-gray-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$cool-gray-80,
+ ),
+ ),
+ ),
+ 'tag-color-cool-gray': (
+ fallback: colors.$cool-gray-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$cool-gray-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$cool-gray-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$cool-gray-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$cool-gray-30,
+ ),
+ ),
+ ),
+ 'tag-hover-cool-gray': (
+ fallback: colors.$cool-gray-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$cool-gray-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$cool-gray-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$cool-gray-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$cool-gray-70,
+ ),
+ ),
+ ),
+
+ // warm-gray
+ 'tag-background-warm-gray': (
+ fallback: colors.$warm-gray-20,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$warm-gray-20,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$warm-gray-20,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$warm-gray-80,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$warm-gray-80,
+ ),
+ ),
+ ),
+ 'tag-color-warm-gray': (
+ fallback: colors.$warm-gray-80,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$warm-gray-80,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$warm-gray-80,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$warm-gray-30,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$warm-gray-30,
+ ),
+ ),
+ ),
+ 'tag-hover-warm-gray': (
+ fallback: colors.$warm-gray-30,
+ values: (
+ (
+ theme: themes.$white,
+ value: colors.$warm-gray-30,
+ ),
+ (
+ theme: themes.$g10,
+ value: colors.$warm-gray-30,
+ ),
+ (
+ theme: themes.$g90,
+ value: colors.$warm-gray-70,
+ ),
+ (
+ theme: themes.$g100,
+ value: colors.$warm-gray-70,
+ ),
+ ),
+ ),
+);
+
+$tag-background-red: custom-property.get-var('tag-background-red');
+$tag-color-red: custom-property.get-var('tag-color-red');
+$tag-hover-red: custom-property.get-var('tag-hover-red');
+$tag-background-magenta: custom-property.get-var('tag-background-magenta');
+$tag-color-magenta: custom-property.get-var('tag-color-magenta');
+$tag-hover-magenta: custom-property.get-var('tag-hover-magenta');
+$tag-background-purple: custom-property.get-var('tag-background-purple');
+$tag-color-purple: custom-property.get-var('tag-color-purple');
+$tag-hover-purple: custom-property.get-var('tag-hover-purple');
+$tag-background-blue: custom-property.get-var('tag-background-blue');
+$tag-color-blue: custom-property.get-var('tag-color-blue');
+$tag-hover-blue: custom-property.get-var('tag-hover-blue');
+$tag-background-cyan: custom-property.get-var('tag-background-cyan');
+$tag-color-cyan: custom-property.get-var('tag-color-cyan');
+$tag-hover-cyan: custom-property.get-var('tag-hover-cyan');
+$tag-background-teal: custom-property.get-var('tag-background-teal');
+$tag-color-teal: custom-property.get-var('tag-color-teal');
+$tag-hover-teal: custom-property.get-var('tag-hover-teal');
+$tag-background-green: custom-property.get-var('tag-background-green');
+$tag-color-green: custom-property.get-var('tag-color-green');
+$tag-hover-green: custom-property.get-var('tag-hover-green');
+$tag-background-gray: custom-property.get-var('tag-background-gray');
+$tag-color-gray: custom-property.get-var('tag-color-gray');
+$tag-hover-gray: custom-property.get-var('tag-hover-gray');
+$tag-background-cool-gray: custom-property.get-var('tag-background-cool-gray');
+$tag-color-cool-gray: custom-property.get-var('tag-color-cool-gray');
+$tag-hover-cool-gray: custom-property.get-var('tag-color-cool-gray');
+$tag-background-warm-gray: custom-property.get-var('tag-background-warm-gray');
+$tag-color-warm-gray: custom-property.get-var('tag-color-warm-gray');
+$tag-hover-warm-gray: custom-property.get-var('tag-hover-warm-gray');
+
+$white: component-tokens.get-tokens($-tokens, themes.$white);
+$g10: component-tokens.get-tokens($-tokens, themes.$g10);
+$g90: component-tokens.get-tokens($-tokens, themes.$g90);
+$g100: component-tokens.get-tokens($-tokens, themes.$g100);