mirror of
https://github.com/discourse/discourse.git
synced 2024-11-24 22:50:45 +08:00
03deda2147
* Add missing icons to set
* Revert FA5 revert
This reverts commit 42572ff
* use new SVG syntax in locales
* Noscript page changes (remove login button, center "powered by" footer text)
* Cast wider net for SVG icons in settings
- include any _icon setting for SVG registry (offers better support for plugin settings)
- let themes store multiple pipe-delimited icons in a setting
- also replaces broken onebox image icon with SVG reference in cooked post processor
* interpolate icons in locales
* Fix composer whisper icon alignment
* Add support for stacked icons
* SECURITY: enforce hostname to match discourse hostname
This ensures that the hostname rails uses for various helpers always matches
the Discourse hostname
* load SVG sprite with pre-initializers
* FIX: enable caching on SVG sprites
* PERF: use JSONP for SVG sprites so they are served from CDN
This avoids needing to deal with CORS for loading of the SVG
Note, added the svg- prefix to the filename so we can quickly tell in
dev tools what the file is
* Add missing SVG sprite JSONP script to CSP
* Upgrade to FA 5.5.0
* Add support for all FA4.7 icons
- adds complete frontend and backend for renamed FA4.7 icons
- improves performance of SvgSprite.bundle and SvgSprite.all_icons
* Fix group avatar flair preview
- adds an endpoint at /svg-sprites/search/:keyword
- adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset
* Remove FA 4.7 font files
260 lines
5.0 KiB
SCSS
260 lines
5.0 KiB
SCSS
img.emoji {
|
|
width: 20px;
|
|
height: 20px;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.emoji-picker {
|
|
background-clip: padding-box;
|
|
z-index: z("modal", "content");
|
|
position: fixed;
|
|
display: none;
|
|
flex-direction: row;
|
|
height: 300px;
|
|
color: dark-light-choose(darken($primary, 40%), blend-primary-secondary(90%));
|
|
background-color: $secondary;
|
|
border: 1px solid dark-light-diff($primary, $secondary, 90%, -60%);
|
|
}
|
|
|
|
.emoji-picker .categories-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
border-right: 1px solid dark-light-diff($primary, $secondary, 90%, -60%);
|
|
min-width: 36px;
|
|
}
|
|
|
|
.emoji-picker .category-icon {
|
|
display: block;
|
|
margin: 4px auto;
|
|
-webkit-filter: grayscale(100%);
|
|
filter: grayscale(100%);
|
|
|
|
button.emoji {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
}
|
|
|
|
.emoji-picker .category-icon.current,
|
|
.emoji-picker .category-icon:hover {
|
|
-webkit-filter: grayscale(0%);
|
|
filter: grayscale(0%);
|
|
}
|
|
|
|
.emoji-picker .main-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 20;
|
|
}
|
|
|
|
.emoji-picker .list {
|
|
overflow-y: scroll;
|
|
-webkit-overflow-scrolling: touch;
|
|
padding: 0;
|
|
flex: 1;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.emoji-picker .section-header {
|
|
padding: 8px;
|
|
margin-top: 2px;
|
|
margin-bottom: 0px;
|
|
padding-bottom: 0px;
|
|
justify-content: space-between;
|
|
display: flex;
|
|
align-items: center;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.emoji-picker .section-header .title {
|
|
color: $primary;
|
|
}
|
|
|
|
.emoji-picker .section-header .clear-recent .fa {
|
|
margin: 0;
|
|
padding: 0;
|
|
color: dark-light-choose($header_primary-medium, $header_primary);
|
|
|
|
&:hover {
|
|
color: $primary;
|
|
}
|
|
}
|
|
|
|
.emoji-picker .section-group {
|
|
flex-wrap: wrap;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
padding: 4px;
|
|
}
|
|
|
|
.emoji-picker .footer {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
border-top: 1px solid dark-light-diff($primary, $secondary, 90%, -60%);
|
|
}
|
|
|
|
.emoji-picker .info {
|
|
text-overflow: ellipsis;
|
|
padding-left: 8px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
font-weight: 700;
|
|
max-width: 125px;
|
|
}
|
|
|
|
.emoji-picker .diversity-picker {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
padding: 8px;
|
|
}
|
|
|
|
.emoji-picker .diversity-picker .diversity-scale {
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-left: 5px;
|
|
border: 0;
|
|
border-radius: 3px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
}
|
|
.emoji-picker .diversity-picker .diversity-scale.default {
|
|
background: #ffcc4d;
|
|
}
|
|
.emoji-picker .diversity-picker .diversity-scale.light {
|
|
background: #f7dece;
|
|
}
|
|
.emoji-picker .diversity-picker .diversity-scale.medium-light {
|
|
background: #f3d2a2;
|
|
}
|
|
.emoji-picker .diversity-picker .diversity-scale.medium {
|
|
background: #d5ab88;
|
|
}
|
|
.emoji-picker .diversity-picker .diversity-scale.medium-dark {
|
|
background: #af7e57;
|
|
}
|
|
.emoji-picker .diversity-picker .diversity-scale.dark {
|
|
background: #7c533e;
|
|
}
|
|
|
|
.emoji-picker .diversity-picker .diversity-scale.selected .d-icon {
|
|
display: block;
|
|
}
|
|
|
|
.emoji-picker .diversity-picker .d-icon {
|
|
display: none;
|
|
}
|
|
|
|
.emoji-picker .diversity-picker .d-icon {
|
|
color: #fff;
|
|
font-size: $font-0;
|
|
filter: drop-shadow(0.5px 1.5px 0 rgba(0, 0, 0, 0.3));
|
|
}
|
|
|
|
.emoji-picker button.emoji {
|
|
background: transparent;
|
|
background-position: center;
|
|
background-repeat: no-repeat;
|
|
border-radius: 0;
|
|
background-size: 20px 20px;
|
|
-moz-box-sizing: content-box;
|
|
box-sizing: content-box;
|
|
height: 20px;
|
|
border: 0;
|
|
vertical-align: top;
|
|
width: 20px;
|
|
outline: none;
|
|
padding: 3px;
|
|
margin: 2px;
|
|
}
|
|
|
|
.emoji-picker .section-group button.emoji:hover,
|
|
.emoji-picker .results button.emoji:hover {
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
border-radius: 2px;
|
|
background-color: lighten($tertiary, 40%);
|
|
}
|
|
|
|
.emoji-picker-modal.fadeIn {
|
|
z-index: z("modal", "overlay");
|
|
position: fixed;
|
|
left: 0;
|
|
top: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
opacity: 0.8;
|
|
background-color: black;
|
|
}
|
|
|
|
.emoji-picker .filter {
|
|
background-color: none;
|
|
border-bottom: 1px solid dark-light-diff($primary, $secondary, 90%, -60%);
|
|
padding: 5px;
|
|
display: flex;
|
|
position: relative;
|
|
align-items: center;
|
|
|
|
input[type="text"] {
|
|
width: auto !important;
|
|
}
|
|
}
|
|
|
|
.emoji-picker .filter .d-icon-search {
|
|
color: dark-light-choose($header_primary-medium, $header_primary);
|
|
font-size: $font-up-1;
|
|
margin-left: 5px;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
.emoji-picker .filter input {
|
|
height: 24px;
|
|
margin: 0;
|
|
flex: 1;
|
|
border: none;
|
|
box-shadow: none;
|
|
padding-right: 24px;
|
|
outline: none;
|
|
color: $primary;
|
|
background: $secondary;
|
|
|
|
&:focus {
|
|
border: none;
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
.emoji-picker .filter input::-ms-clear {
|
|
display: none;
|
|
}
|
|
|
|
.emoji-picker .results {
|
|
display: none;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
padding: 4px;
|
|
flex: 1;
|
|
}
|
|
|
|
.emoji-picker .filter .clear-filter {
|
|
position: absolute;
|
|
right: 5px;
|
|
top: 12px;
|
|
border: 0;
|
|
background: none;
|
|
color: dark-light-choose($header_primary-medium, $header_primary);
|
|
outline: none;
|
|
display: none;
|
|
|
|
&:hover {
|
|
color: $primary;
|
|
}
|
|
}
|