335 lines
7.5 KiB
SCSS
335 lines
7.5 KiB
SCSS
.awards {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
|
|
.emoji-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
|
|
// Show active state.
|
|
.gl-button.selected {
|
|
background-color: $blue-50;
|
|
box-shadow: inset 0 0 0 2px $blue-500;
|
|
}
|
|
}
|
|
|
|
.emoji-menu {
|
|
display: none;
|
|
position: absolute;
|
|
top: 0;
|
|
margin-top: 3px;
|
|
padding: $gl-padding;
|
|
z-index: $zindex-dropdown-menu;
|
|
width: $award-emoji-width;
|
|
font-size: 14px;
|
|
background-color: $white;
|
|
border: 1px solid $border-white-light;
|
|
border-radius: $border-radius-base;
|
|
box-shadow: 0 6px 12px $award-emoji-menu-shadow;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
transform: scale(0.2);
|
|
transform-origin: 0 -45px;
|
|
transition: 0.3s cubic-bezier(0.67, 0.06, 0.19, 1.44);
|
|
transition-property: transform, opacity;
|
|
|
|
&.is-rendered {
|
|
display: block;
|
|
}
|
|
|
|
&.is-aligned-right {
|
|
transform-origin: 100% -45px;
|
|
}
|
|
|
|
&.is-visible {
|
|
pointer-events: all;
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
|
|
.emoji-menu-content {
|
|
height: 300px;
|
|
overflow-y: scroll;
|
|
}
|
|
|
|
.disabled {
|
|
cursor: default;
|
|
opacity: 0.5;
|
|
|
|
&:hover {
|
|
transform: none;
|
|
}
|
|
}
|
|
|
|
@include media-breakpoint-down(xs) {
|
|
width: $award-emoji-width-xs;
|
|
}
|
|
}
|
|
|
|
.emoji-search {
|
|
background-image: url('data:image/png;base64,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');
|
|
background-repeat: no-repeat;
|
|
background-position: right 5px center;
|
|
background-size: 16px;
|
|
}
|
|
|
|
.emoji-menu-list {
|
|
margin-bottom: 0;
|
|
padding-left: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.emoji-menu-list-item {
|
|
float: left;
|
|
padding: 3px;
|
|
margin-left: 1px;
|
|
margin-right: 1px;
|
|
}
|
|
|
|
.emoji-menu-btn {
|
|
display: block;
|
|
cursor: pointer;
|
|
width: 30px;
|
|
height: 30px;
|
|
padding: 0;
|
|
background: none;
|
|
border: 0;
|
|
border-radius: $border-radius-base;
|
|
transition: transform 0.15s cubic-bezier(0.3, 0, 0.2, 2);
|
|
|
|
&:hover {
|
|
background-color: transparent;
|
|
outline: 0;
|
|
transform: scale(1.3);
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
outline: 0;
|
|
}
|
|
|
|
.emoji-icon {
|
|
display: inline-block;
|
|
position: relative;
|
|
top: 3px;
|
|
}
|
|
|
|
> gl-emoji {
|
|
line-height: 1.5;
|
|
}
|
|
}
|
|
|
|
.award-menu-holder {
|
|
display: inline-block;
|
|
|
|
.tooltip {
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
.gl-button.btn.award-control {
|
|
margin: 4px 8px 4px 0;
|
|
|
|
&.disabled {
|
|
cursor: default;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&:active {
|
|
background-color: $white;
|
|
border-color: $border-color;
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
&.active,
|
|
&:hover,
|
|
&:active,
|
|
&.is-active {
|
|
.award-control-icon-neutral {
|
|
opacity: 0;
|
|
}
|
|
|
|
.award-control-icon-positive {
|
|
opacity: 1;
|
|
transform: scale(1.15);
|
|
}
|
|
}
|
|
|
|
&.active,
|
|
&.is-active,
|
|
&:active {
|
|
background-color: $blue-50;
|
|
border-color: $blue-200;
|
|
box-shadow: inset 0 0 2px $blue-200;
|
|
}
|
|
|
|
&.is-active {
|
|
.award-control-icon-positive {
|
|
opacity: 0;
|
|
transform: scale(1);
|
|
}
|
|
|
|
.award-control-icon-super-positive {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
&.user-authored {
|
|
cursor: default;
|
|
background-color: $gray-light;
|
|
border-color: $gray-100;
|
|
color: $gl-text-color-disabled;
|
|
|
|
gl-emoji {
|
|
opacity: 0.4;
|
|
filter: grayscale(100%);
|
|
}
|
|
}
|
|
|
|
&.btn {
|
|
&:focus {
|
|
outline: 0;
|
|
}
|
|
}
|
|
|
|
&.is-loading {
|
|
.award-control-icon-normal,
|
|
.emoji-icon {
|
|
display: none;
|
|
}
|
|
|
|
.award-control-icon-loading {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
.icon,
|
|
gl-emoji,
|
|
.award-control-icon {
|
|
vertical-align: middle;
|
|
line-height: 0.5em;
|
|
}
|
|
|
|
.award-control-icon-loading {
|
|
display: none;
|
|
}
|
|
|
|
.award-control-icon {
|
|
color: $border-gray-normal;
|
|
|
|
svg {
|
|
height: $default-icon-size;
|
|
width: $default-icon-size;
|
|
border-radius: 50%;
|
|
fill: $gray-500;
|
|
}
|
|
}
|
|
|
|
.award-control-icon-positive,
|
|
.award-control-icon-super-positive {
|
|
@include transition(opacity, transform);
|
|
opacity: 0;
|
|
position: absolute;
|
|
|
|
path {
|
|
fill: $award-emoji-positive-add-lines;
|
|
}
|
|
}
|
|
|
|
.award-control-text {
|
|
vertical-align: middle;
|
|
}
|
|
}
|
|
|
|
|
|
// The following encompasses the "add reaction" button redesign to
|
|
// align properly within GitLab UI's gl-button. The implementation
|
|
// above will be deprecated once all instances of "award emoji" are
|
|
// migrated to Vue.
|
|
|
|
.gl-button .award-emoji-block {
|
|
display: contents;
|
|
|
|
gl-emoji {
|
|
margin-top: -1px;
|
|
margin-bottom: -1px;
|
|
}
|
|
}
|
|
|
|
.add-reaction-button {
|
|
position: relative;
|
|
|
|
// This forces the height and width of the inner content to match
|
|
// other gl-buttons despite all child elements being set to
|
|
// `position:absolute`
|
|
|
|
|
|
.reaction-control-icon {
|
|
.gl-icon {
|
|
height: $default-icon-size;
|
|
width: $default-icon-size;
|
|
}
|
|
}
|
|
|
|
.reaction-control-icon-neutral {
|
|
display: flex;
|
|
}
|
|
|
|
.reaction-control-icon-positive,
|
|
.reaction-control-icon-super-positive {
|
|
display: none;
|
|
}
|
|
|
|
&:hover,
|
|
&.active,
|
|
&:active,
|
|
&.is-active {
|
|
.reaction-control-icon-neutral {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
&:hover {
|
|
.reaction-control-icon-positive {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
&.active,
|
|
&:active,
|
|
&.is-active {
|
|
.reaction-control-icon-positive {
|
|
display: none;
|
|
}
|
|
|
|
.reaction-control-icon-super-positive {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
&.disabled {
|
|
cursor: default;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&:active {
|
|
.reaction-control-icon .gl-icon {
|
|
color: inherit;
|
|
transform: scale(1);
|
|
}
|
|
|
|
.reaction-control-icon-neutral {
|
|
display: flex;
|
|
}
|
|
|
|
.reaction-control-icon-positive,
|
|
.reaction-control-icon-super-positive {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
}
|