logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://anongit.hacktivis.me/git/pleroma-fe.git/

emoji_picker.scss (4631B)


  1. .emoji-picker {
  2. --__emoji-picker-header: 2.2em;
  3. width: 25em;
  4. max-width: calc(100vw - 20px); // popover gives 10px margin from window edge
  5. display: flex;
  6. flex-direction: column;
  7. &-header-image {
  8. display: inline-flex;
  9. justify-content: center;
  10. align-items: center;
  11. width: var(--__emoji-picker-header);
  12. max-width: var(--__emoji-picker-header);
  13. height: var(--__emoji-picker-header);
  14. max-height: var(--__emoji-picker-header);
  15. .still-image {
  16. width: var(--__emoji-picker-header);
  17. max-width: var(--__emoji-picker-header);
  18. height: var(--__emoji-picker-header);
  19. max-height: var(--__emoji-picker-header);
  20. object-fit: contain;
  21. --_still_image-label-scale: 0.5;
  22. }
  23. }
  24. .keep-open,
  25. .too-many-emoji,
  26. .hide-custom-emoji {
  27. padding: 0.5em;
  28. line-height: normal;
  29. }
  30. .hide-custom-emoji {
  31. padding-top: 0;
  32. }
  33. .too-many-emoji {
  34. display: flex;
  35. flex-direction: column;
  36. }
  37. .keep-open-label {
  38. padding: 0 0.5em;
  39. display: flex;
  40. }
  41. .heading {
  42. display: flex;
  43. flex-direction: column;
  44. padding: 0.7em 0.5em 0;
  45. }
  46. .content {
  47. display: flex;
  48. flex-direction: column;
  49. flex: 1 1 auto;
  50. min-height: 0;
  51. }
  52. .emoji-tabs {
  53. flex-grow: 1;
  54. display: flex;
  55. flex-flow: row nowrap;
  56. overflow-x: auto;
  57. overflow-y: hidden;
  58. }
  59. .additional-tabs {
  60. display: flex;
  61. border-left: 1px solid;
  62. border-left-color: var(--border);
  63. padding-left: 0.5em;
  64. flex: 0 0 auto;
  65. }
  66. .additional-tabs,
  67. .emoji-tabs {
  68. flex-basis: auto;
  69. display: flex;
  70. align-content: center;
  71. scrollbar-width: thin;
  72. &-item {
  73. padding: 0 0.5em;
  74. cursor: pointer;
  75. width: var(--__emoji-picker-header);
  76. max-width: var(--__emoji-picker-header);
  77. height: var(--__emoji-picker-header);
  78. max-height: var(--__emoji-picker-header);
  79. display: flex;
  80. align-items: center;
  81. .svg-inline--fa {
  82. font-size: 1.85em;
  83. }
  84. &.disabled {
  85. opacity: 0.5;
  86. pointer-events: none;
  87. }
  88. &.toggled {
  89. border-bottom: 0.2em solid;
  90. }
  91. }
  92. }
  93. .sticker-picker {
  94. flex: 1 1 auto;
  95. }
  96. .stickers,
  97. .emoji {
  98. &-content {
  99. display: flex;
  100. flex-direction: column;
  101. flex: 1 1 auto;
  102. min-height: 0;
  103. &.hidden {
  104. opacity: 0;
  105. pointer-events: none;
  106. position: absolute;
  107. }
  108. }
  109. }
  110. .emoji {
  111. &-search {
  112. padding-bottom: 0.5em;
  113. flex: 0 0 auto;
  114. input {
  115. width: 100%;
  116. }
  117. }
  118. &-groups {
  119. height: 100%;
  120. min-height: 200px;
  121. flex: 1 1 1px;
  122. position: relative;
  123. overflow: auto;
  124. scrollbar-gutter: stable both-edges;
  125. user-select: none;
  126. mask:
  127. linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,
  128. linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,
  129. linear-gradient(to top, white, white);
  130. transition: mask-size 150ms;
  131. mask-size: 100% 20px, 100% 20px, auto;
  132. // Autoprefixed seem to ignore this one, and also syntax is different
  133. mask-composite: xor;
  134. mask-composite: exclude;
  135. &.scrolled {
  136. &-top {
  137. mask-size: 100% 20px, 100% 0, auto;
  138. }
  139. &-bottom {
  140. mask-size: 100% 0, 100% 20px, auto;
  141. }
  142. }
  143. }
  144. &-item {
  145. width: var(--emoji-size);
  146. height: var(--emoji-size);
  147. box-sizing: border-box;
  148. display: flex;
  149. line-height: var(--emoji-size);
  150. align-items: center;
  151. justify-content: center;
  152. margin: 0.2em;
  153. cursor: pointer;
  154. .emoji-picker-emoji.-custom {
  155. object-fit: contain;
  156. width: var(--emoji-size);
  157. max-width: var(--emoji-size);
  158. height: var(--emoji-size);
  159. max-height: var(--emoji-size);
  160. --_still_image-label-scale: 0.5;
  161. }
  162. .emoji-picker-emoji.-unicode {
  163. font-size: calc(var(--emoji-size) * 0.8);
  164. overflow: hidden;
  165. }
  166. }
  167. &-group {
  168. display: grid;
  169. grid-template-columns: repeat(var(--__amount), 1fr);
  170. align-items: center;
  171. justify-items: center;
  172. justify-content: center;
  173. grid-template-rows: repeat(1, auto);
  174. &.first-row {
  175. grid-template-rows: repeat(2, auto);
  176. .emoji-item {
  177. grid-row: 2;
  178. }
  179. }
  180. &-title {
  181. font-size: 0.85em;
  182. grid-column: span var(--__amount);
  183. width: 100%;
  184. margin: 0;
  185. padding-left: 0.3em;
  186. &.disabled {
  187. display: none;
  188. }
  189. }
  190. }
  191. }
  192. }