diff --git a/docs/components/display/chip.md b/docs/components/display/chip.md index 776005cd..faed6c22 100644 --- a/docs/components/display/chip.md +++ b/docs/components/display/chip.md @@ -76,6 +76,7 @@ const events = ['click']; const args = ref({ variant: 'red', persistantActionIcon: false, - iconLeft: true + iconLeft: false, + triggerClickOnIcon: false }); diff --git a/package.json b/package.json index 357a7048..9c635a36 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sysvale/cuida", - "version": "3.154.12", + "version": "3.155.0", "description": "A design system built by Sysvale, using storybook and Vue components", "repository": { "type": "git", diff --git a/src/components/Chip.vue b/src/components/Chip.vue index 5ab0e771..9778ffd2 100644 --- a/src/components/Chip.vue +++ b/src/components/Chip.vue @@ -2,9 +2,10 @@ @@ -200,7 +227,6 @@ function removeNotSelectedClass() { &__container { border-radius: 50px !important; width: fit-content; - cursor: pointer; } &--not-selected { @@ -236,16 +262,23 @@ function removeNotSelectedClass() { @include tokens.button-1; font-weight: tokens.$font-weight-semibold; } + &--icon { display: flex; overflow: hidden; align-items: center; - width: v-bind('icon.width'); - height: v-bind('icon.height'); + width: calc(v-bind('icon.width') * 1px); + height: calc(v-bind('icon.height') * 1px); + + &--pointer { + cursor: pointer; + } } + &--icon > :slotted(svg) { height: 100%; width: 100%; + pointer-events: none; } } @@ -274,30 +307,48 @@ function removeNotSelectedClass() { background-color: $shade-100; outline: 1px solid $shade-600; - &:hover { + &.chip__container--interactive:hover { color: color.adjust($shade-600, $lightness: -10%) !important; background-color: $shade-100 !important; } + + &:not(.chip__container--interactive) .chip__content--icon--pointer:hover { + color: color.adjust($shade-600, $lightness: -10%) !important; + background-color: tokens.$n-40 !important; + border-radius: tokens.$border-radius-circle; + } } &--amber { color: tokens.$al-700; background-color: tokens.$al-100; - &:hover { + &.chip__container--interactive:hover { color: color.adjust(tokens.$al-700, $lightness: -10%) !important; background-color: tokens.$al-100 !important; } + + &:not(.chip__container--interactive) .chip__content--icon--pointer:hover { + color: color.adjust(tokens.$al-600, $lightness: -10%) !important; + background-color: tokens.$n-40 !important; + border-radius: tokens.$border-radius-circle; + } } &--gray { color: tokens.$n-600; background-color: tokens.$n-20; - &:hover { + &.chip__container--interactive:hover { color: color.adjust(tokens.$n-600, $lightness: -10%) !important; background-color: tokens.$n-20 !important; } + + &:not(.chip__container--interactive) .chip__content--icon--pointer:hover { + color: color.adjust(tokens.$n-600, $lightness: -10%) !important; + background-color: tokens.$n-40 !important; + border-radius: tokens.$border-radius-circle; + } } &--white { @@ -305,10 +356,16 @@ function removeNotSelectedClass() { background-color: tokens.$n-0; outline: 1px solid tokens.$n-100; - &:hover { + &.chip__container--interactive:hover { color: color.adjust(tokens.$n-600, $lightness: -10%) !important; background-color: tokens.$n-0 !important; } + + &:not(.chip__container--interactive) .chip__content--icon--pointer:hover { + color: color.adjust(tokens.$n-600, $lightness: -10%) !important; + background-color: tokens.$n-40 !important; + border-radius: tokens.$border-radius-circle; + } } &--dark { @@ -316,10 +373,16 @@ function removeNotSelectedClass() { background-color: tokens.$n-700; outline: 1px solid tokens.$n-800; - &:hover { + &.chip__container--interactive:hover { color: color.adjust(tokens.$n-10, $lightness: -10%) !important; background-color: tokens.$n-700 !important; } + + &:not(.chip__container--interactive) .chip__content--icon--pointer:hover { + color: color.adjust(tokens.$n-10, $lightness: -10%) !important; + background-color: tokens.$n-40 !important; + border-radius: tokens.$border-radius-circle; + } } } diff --git a/src/tests/__snapshots__/Chip.spec.js.snap b/src/tests/__snapshots__/Chip.spec.js.snap index e21516cb..dd1f2a7b 100644 --- a/src/tests/__snapshots__/Chip.spec.js.snap +++ b/src/tests/__snapshots__/Chip.spec.js.snap @@ -1,7 +1,7 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`Chip > renders correctly 1`] = ` -"
+"