| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- @use 'sass:map';
- @use 'mixins/mixins' as *;
- @use 'common/var' as *;
- $color-picker-size: () !default;
- $color-picker-size: map.merge($common-component-size, $color-picker-size);
- @mixin alpha-bg {
- background-image: linear-gradient(
- 45deg,
- getCssVar('color-picker', 'alpha-bg-a') 25%,
- getCssVar('color-picker', 'alpha-bg-b') 25%
- ),
- linear-gradient(
- 135deg,
- getCssVar('color-picker', 'alpha-bg-a') 25%,
- getCssVar('color-picker', 'alpha-bg-b') 25%
- ),
- linear-gradient(
- 45deg,
- getCssVar('color-picker', 'alpha-bg-b') 75%,
- getCssVar('color-picker', 'alpha-bg-a') 75%
- ),
- linear-gradient(
- 135deg,
- getCssVar('color-picker', 'alpha-bg-b') 75%,
- getCssVar('color-picker', 'alpha-bg-a') 75%
- );
- background-size: 12px 12px;
- background-position: 0 0, 6px 0, 6px -6px, 0 6px;
- }
- @include b(color-picker) {
- display: inline-block;
- position: relative;
- line-height: normal;
- outline: none;
- height: map.get($color-picker-size, 'default');
- width: map.get($color-picker-size, 'default');
- &:hover:not(.is-disabled, .is-focused) {
- .#{$namespace}-color-picker__trigger {
- border-color: getCssVar('border-color-hover');
- }
- }
- &:focus-visible:not(.is-disabled) {
- .#{$namespace}-color-picker__trigger {
- outline: 2px solid getCssVar('color-primary');
- outline-offset: 1px;
- }
- }
- @include when(focused) {
- .#{$namespace}-color-picker__trigger {
- border-color: getCssVar('color-primary');
- }
- }
- @include when(disabled) {
- .#{$namespace}-color-picker__trigger {
- cursor: not-allowed;
- background-color: getCssVar('fill-color', 'light');
- }
- @include e(color) {
- opacity: 0.3;
- }
- }
- @each $size in (large, small) {
- @include m($size) {
- height: map.get($color-picker-size, $size);
- width: map.get($color-picker-size, $size);
- }
- }
- @include m(small) {
- .#{$namespace}-color-picker__icon,
- .#{$namespace}-color-picker__empty {
- transform: scale(0.8);
- }
- }
- @include e(trigger) {
- display: inline-flex;
- justify-content: center;
- align-items: center;
- box-sizing: border-box;
- height: 100%;
- width: 100%;
- padding: 4px;
- border: 1px solid getCssVar('border-color');
- border-radius: 4px;
- font-size: 0;
- position: relative;
- cursor: pointer;
- }
- @include e(color) {
- position: relative;
- display: block;
- box-sizing: border-box;
- border: 1px solid getCssVar('text-color', 'secondary');
- border-radius: getCssVar('border-radius-small');
- width: 100%;
- height: 100%;
- text-align: center;
- @include when(alpha) {
- @include alpha-bg;
- // background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);
- }
- }
- @include e(color-inner) {
- display: inline-flex;
- justify-content: center;
- align-items: center;
- width: 100%;
- height: 100%;
- }
- & .#{$namespace}-color-picker__empty {
- font-size: 12px;
- color: getCssVar('text-color', 'secondary');
- }
- & .#{$namespace}-color-picker__icon {
- display: inline-flex;
- justify-content: center;
- align-items: center;
- color: $color-white;
- font-size: 12px;
- }
- @include e(panel) {
- background-color: $color-white;
- border-radius: getCssVar('border-radius-base');
- box-shadow: map.get($dropdown, 'menu-box-shadow');
- &.#{$namespace}-popper {
- border: 1px solid getCssVar('border-color-lighter');
- }
- }
- }
- .#{bem('color-picker')},
- .#{bem('color-picker', 'panel')} {
- @include set-css-var-value(('color-picker', 'alpha-bg-a'), '#ccc');
- @include set-css-var-value(('color-picker', 'alpha-bg-b'), 'transparent');
- }
- .dark {
- .#{bem('color-picker')},
- .#{bem('color-picker', 'panel')} {
- @include set-css-var-value(('color-picker', 'alpha-bg-a'), '#333333');
- }
- }
|