e6fc0207cb
- gl_emoji for falling back to image/css-sprite when the browser doesn't support an emoji - Markdown rendering (Banzai filter) - Autocomplete - Award emoji menu - Perceived perf - Immediate response because we now build client-side - Update `digests.json` generation in gemojione rake task to be more useful and include `unicodeVersion` MR: !9437 See issues - #26371 - #27250 - #22474
155 lines
4.4 KiB
SCSS
155 lines
4.4 KiB
SCSS
.awards {
|
|
.emoji-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
}
|
|
|
|
.emoji-menu {
|
|
position: absolute;
|
|
top: 0;
|
|
margin-top: 3px;
|
|
padding: $gl-padding;
|
|
z-index: 9;
|
|
width: 300px;
|
|
font-size: 14px;
|
|
background-color: $white-light;
|
|
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(.2);
|
|
transform-origin: 0 -45px;
|
|
transition: .3s cubic-bezier(.67,.06,.19,1.44);
|
|
transition-property: transform, opacity;
|
|
|
|
&.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;
|
|
}
|
|
}
|
|
|
|
.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 .15s cubic-bezier(.3, 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;
|
|
}
|
|
}
|
|
|
|
.award-menu-holder {
|
|
display: inline-block;
|
|
position: relative;
|
|
}
|
|
|
|
.award-control {
|
|
margin: 3px 5px 3px 0;
|
|
padding: 5px 6px;
|
|
outline: 0;
|
|
|
|
&.disabled {
|
|
cursor: default;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&:active {
|
|
background-color: $white-light;
|
|
border-color: $border-color;
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
&.active,
|
|
&:hover,
|
|
&:active {
|
|
background-color: $row-hover;
|
|
border-color: $row-hover-border;
|
|
box-shadow: none;
|
|
outline: 0;
|
|
}
|
|
|
|
&.btn {
|
|
&:focus {
|
|
outline: 0;
|
|
}
|
|
}
|
|
|
|
&.is-loading {
|
|
.award-control-icon-normal,
|
|
.emoji-icon {
|
|
display: none;
|
|
}
|
|
|
|
.award-control-icon-loading {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
.icon,
|
|
.award-control-icon {
|
|
float: left;
|
|
margin-right: 5px;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.award-control-icon-loading {
|
|
display: none;
|
|
}
|
|
|
|
.award-control-icon {
|
|
color: $border-gray-normal;
|
|
margin-top: 1px;
|
|
}
|
|
}
|