review-panel.less 19 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105
  1. @rp-base-font-size: 12px;
  2. @rp-small-font-size: 10px;
  3. @rp-icon-large-size: 18px;
  4. @rp-bg-blue: #dadfed;
  5. @rp-bg-dim-blue: #fafafa;
  6. @rp-highlight-blue: #8a96b5;
  7. @rp-border-grey: #d9d9d9;
  8. @rp-green: #2c8e30;
  9. @rp-red: #c5060b;
  10. @rp-yellow: #f3b111;
  11. @rp-grey: #aaaaaa;
  12. @rp-type-blue: #6b7797;
  13. @rp-type-darkgrey: #3f3f3f;
  14. @rp-entry-ribbon-width: 4px;
  15. @rp-entry-arrow-width: 6px;
  16. @rp-semibold-weight: 600;
  17. @review-panel-width: 230px;
  18. @review-off-width: 22px;
  19. @rp-entry-animation-speed: 0.3s;
  20. .rp-button() {
  21. display: block; // IE doesn't do flex with inline items.
  22. background-color: @rp-highlight-blue;
  23. color: #fff;
  24. text-align: center;
  25. line-height: 1.3;
  26. user-select: none;
  27. border: 0;
  28. &:hover,
  29. &:focus {
  30. outline: 0;
  31. background-color: darken(@rp-highlight-blue, 5%);
  32. text-decoration: none;
  33. color: #fff;
  34. }
  35. &[disabled] {
  36. background-color: tint(@rp-highlight-blue, 50%);
  37. &:hover,
  38. &:focus {
  39. background-color: tint(@rp-highlight-blue, 50%);
  40. }
  41. }
  42. }
  43. .rp-collapse-arrow() {
  44. display: inline-flex;
  45. transform: rotateZ(0deg);
  46. transition: transform 0.15s ease;
  47. &-on {
  48. transform: rotateZ(-90deg);
  49. }
  50. }
  51. .review-panel-toolbar {
  52. display: none;
  53. .rp-size-expanded & {
  54. display: flex;
  55. align-items: center;
  56. justify-content: space-between;
  57. padding: 0 5px;
  58. }
  59. position: relative;
  60. border-bottom: 1px solid @rp-border-grey;
  61. background-color: @rp-bg-dim-blue;
  62. text-align: center;
  63. z-index: 3;
  64. flex-basis: 32px;
  65. flex-shrink: 0;
  66. }
  67. .review-panel-toolbar-label {
  68. cursor: pointer;
  69. text-align: right;
  70. flex-grow: 1;
  71. }
  72. .review-panel-toolbar-icon-on {
  73. margin-right: 5px;
  74. color: @ol-green;
  75. }
  76. .review-panel-toolbar-label-disabled {
  77. cursor: auto;
  78. margin-right: 5px;
  79. }
  80. .rp-tc-state {
  81. position: absolute;
  82. top: 100%;
  83. left: 0;
  84. right: 0;
  85. overflow: hidden;
  86. list-style: none;
  87. padding: 0 5px;
  88. margin: 0;
  89. border-bottom: 1px solid @rp-border-grey;
  90. background-color: @rp-bg-dim-blue;
  91. text-align: left;
  92. }
  93. .rp-tc-state-collapse {
  94. .rp-collapse-arrow;
  95. margin-left: 5px;
  96. }
  97. .rp-tc-state-item {
  98. display: flex;
  99. align-items: center;
  100. padding: 3px 0;
  101. &:last-of-type {
  102. padding-bottom: 5px;
  103. }
  104. }
  105. .rp-tc-state-separator {
  106. border-bottom: 1px solid @rp-border-grey;
  107. }
  108. .rp-tc-state-item-everyone {
  109. border-bottom: 1px solid @rp-border-grey;
  110. }
  111. .rp-tc-state-item-name {
  112. flex-grow: 1;
  113. overflow: hidden;
  114. text-overflow: ellipsis;
  115. white-space: nowrap;
  116. font-weight: @rp-semibold-weight;
  117. }
  118. .rp-tc-state-item-name-disabled {
  119. opacity: 0.35;
  120. }
  121. .rp-entry-list {
  122. display: none;
  123. width: 100%;
  124. .rp-size-expanded &,
  125. .rp-size-mini & {
  126. display: block;
  127. }
  128. .rp-state-overview & {
  129. flex-grow: 2;
  130. overflow-y: auto;
  131. }
  132. }
  133. .rp-entry-indicator {
  134. display: none;
  135. z-index: 2; // above .review-panel-toggler
  136. .rp-size-mini & {
  137. display: block;
  138. }
  139. .rp-floating-entry & {
  140. display: block;
  141. position: static;
  142. width: @review-off-width - 4px;
  143. }
  144. .rp-size-mini &-add-comment {
  145. display: none;
  146. }
  147. position: absolute;
  148. left: 2px;
  149. right: 2px;
  150. text-align: center;
  151. background-color: @rp-highlight-blue;
  152. border-radius: 3px;
  153. color: #fff;
  154. cursor: pointer;
  155. transition:
  156. top @rp-entry-animation-speed,
  157. left 0.1s,
  158. right 0.1s;
  159. .no-animate & {
  160. transition:
  161. left 0.1s,
  162. right 0.1s;
  163. }
  164. &-focused {
  165. left: 0px;
  166. right: 4px;
  167. z-index: 1;
  168. }
  169. }
  170. .rp-entry-wrapper {
  171. &:hover .rp-entry-insert,
  172. &:hover .rp-entry-delete,
  173. &:hover .rp-entry-aggregate,
  174. &:hover .rp-entry-comment {
  175. display: block;
  176. }
  177. &.rp-entry-hidden {
  178. display: none;
  179. }
  180. }
  181. .rp-entry {
  182. .rp-state-current-file & {
  183. position: absolute;
  184. width: @review-panel-width;
  185. }
  186. .rp-state-current-file-mini &,
  187. .rp-floating-entry & {
  188. left: @review-off-width + @rp-entry-arrow-width;
  189. box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.2);
  190. z-index: 1;
  191. &::before {
  192. content: '';
  193. position: absolute;
  194. top: -(@review-off-width + @rp-entry-arrow-width);
  195. right: -(@review-off-width + @rp-entry-arrow-width);
  196. bottom: -(@review-off-width + @rp-entry-arrow-width);
  197. left: -(2 * @rp-entry-arrow-width + 2);
  198. z-index: -1;
  199. }
  200. &::after {
  201. .triangle(
  202. left,
  203. @rp-entry-arrow-width,
  204. @rp-entry-arrow-width * 1.5,
  205. inherit
  206. );
  207. top: (@review-off-width / 2) - @rp-entry-arrow-width;
  208. left: -(@rp-entry-ribbon-width + @rp-entry-arrow-width);
  209. content: '';
  210. }
  211. }
  212. .rp-state-current-file-mini & {
  213. display: none;
  214. }
  215. .rp-floating-entry & {
  216. position: absolute;
  217. width: @review-panel-width;
  218. left: @review-off-width + @rp-entry-arrow-width;
  219. top: 0;
  220. }
  221. .rp-state-current-file-mini.rp-layout-left &,
  222. .rp-floating-entry-layout-left & {
  223. border-left-width: 0;
  224. border-right-width: @rp-entry-ribbon-width;
  225. border-right-style: solid;
  226. &::before {
  227. left: -(@review-off-width + @rp-entry-arrow-width);
  228. }
  229. &::after {
  230. .triangle(
  231. right,
  232. @rp-entry-arrow-width,
  233. @rp-entry-arrow-width * 1.5,
  234. inherit
  235. );
  236. right: -(@rp-entry-ribbon-width + @rp-entry-arrow-width);
  237. left: auto;
  238. }
  239. }
  240. .rp-state-current-file-mini.rp-layout-left & {
  241. left: auto;
  242. right: @review-off-width + @rp-entry-arrow-width;
  243. &::before {
  244. right: -(2 * @rp-entry-arrow-width + 2);
  245. }
  246. }
  247. .rp-floating-entry-layout-left & {
  248. left: -(@review-panel-width + @rp-entry-arrow-width + 2);
  249. &::before {
  250. right: -(2 * @rp-entry-arrow-width);
  251. }
  252. }
  253. .rp-state-current-file-expanded & {
  254. visibility: hidden;
  255. left: 5px;
  256. right: 5px;
  257. width: auto;
  258. &-focused {
  259. left: -2px;
  260. right: 12px;
  261. z-index: 1;
  262. }
  263. &-add-comment {
  264. right: auto;
  265. &.rp-entry-adding-comment {
  266. right: 5px;
  267. }
  268. }
  269. &-bulk-actions {
  270. right: auto;
  271. }
  272. }
  273. .rp-state-overview & {
  274. border-radius: 0;
  275. border-bottom: solid 1px @rp-border-grey;
  276. cursor: pointer;
  277. }
  278. .resolved-comments-dropdown & {
  279. position: static;
  280. margin-bottom: 5px;
  281. }
  282. border-left: solid @rp-entry-ribbon-width transparent;
  283. border-radius: 3px;
  284. background-color: #fff;
  285. transition:
  286. top @rp-entry-animation-speed,
  287. left 0.1s,
  288. right 0.1s;
  289. .no-animate & {
  290. transition:
  291. left 0.1s,
  292. right 0.1s;
  293. }
  294. &-insert,
  295. &-aggregate {
  296. border-color: @rp-green;
  297. }
  298. &-delete {
  299. border-color: @rp-red;
  300. }
  301. &-comment {
  302. border-color: @rp-yellow;
  303. }
  304. &-comment-resolving {
  305. top: 4px;
  306. left: 6px;
  307. opacity: 0;
  308. z-index: 3;
  309. transform: scale(0.1);
  310. transform-origin: 0 0;
  311. transition:
  312. top 0.35s ease-out,
  313. left 0.35s ease-out,
  314. transform 0.35s ease-out,
  315. opacity 0.35s ease-out 0.2s;
  316. }
  317. &-comment-resolved {
  318. border-color: @rp-grey;
  319. background-color: #efefef;
  320. }
  321. &-add-comment {
  322. background-color: transparent;
  323. right: auto;
  324. border-left-width: 0;
  325. &.rp-entry-adding-comment {
  326. background-color: #fff;
  327. right: 5px;
  328. border-left-width: 3px;
  329. border-left-color: @rp-yellow;
  330. }
  331. }
  332. &-bulk-actions {
  333. background-color: transparent;
  334. right: auto;
  335. border-left-width: 0;
  336. }
  337. }
  338. .rp-entry-body {
  339. display: flex;
  340. align-items: center;
  341. padding: 4px 5px;
  342. }
  343. .rp-entry-action-icon {
  344. font-size: @rp-icon-large-size;
  345. padding: 0 3px;
  346. line-height: 0;
  347. .rp-state-overview & {
  348. display: none;
  349. }
  350. }
  351. .rp-entry-details {
  352. line-height: 1.4;
  353. margin-left: 5px;
  354. // We need to set any low-enough flex base size (0px), making it growable (1) and non-shrinkable (0).
  355. // This is needed to ensure that IE makes the element fill the available space.
  356. flex: 1 0 1px;
  357. overflow-x: auto;
  358. .rp-state-overview & {
  359. margin-left: 0;
  360. }
  361. }
  362. .rp-entry-metadata {
  363. font-size: @rp-small-font-size;
  364. }
  365. .rp-entry-metadata-element {
  366. display: inline-block;
  367. }
  368. .rp-entry-user {
  369. font-weight: @rp-semibold-weight;
  370. font-style: normal;
  371. }
  372. .rp-comment-actions {
  373. a {
  374. color: @rp-type-blue;
  375. }
  376. }
  377. .rp-content-highlight {
  378. color: @rp-type-darkgrey;
  379. font-weight: @rp-semibold-weight;
  380. text-decoration: none;
  381. del& {
  382. text-decoration: line-through;
  383. }
  384. }
  385. .rp-entry-actions {
  386. display: flex;
  387. .rp-state-overview .rp-entry-list & {
  388. display: none;
  389. }
  390. }
  391. .rp-entry-button {
  392. .rp-button();
  393. flex: 1 1 50%;
  394. border-right: solid 1px #fff;
  395. padding: 2px 0;
  396. &:last-child {
  397. border-bottom-right-radius: 3px;
  398. border-right-width: 0;
  399. }
  400. .rp-state-current-file-mini.rp-layout-left &,
  401. .rp-floating-entry-layout-left & {
  402. &:first-child {
  403. border-bottom-left-radius: 3px;
  404. }
  405. &:last-child {
  406. border-bottom-right-radius: 0;
  407. }
  408. }
  409. }
  410. .rp-comment {
  411. margin: 2px 5px;
  412. padding-bottom: 3px;
  413. line-height: 1.4;
  414. border-bottom: solid 1px @rp-border-grey;
  415. &:last-child {
  416. margin-bottom: 2px;
  417. border-bottom-width: 0;
  418. }
  419. .rp-state-overview .rp-entry-list & {
  420. margin: 4px 5px;
  421. &:first-child {
  422. margin-top: 0;
  423. padding-top: 4px;
  424. }
  425. }
  426. }
  427. .rp-comment-content {
  428. margin: 0;
  429. color: @rp-type-darkgrey;
  430. overflow-x: auto; // Long words, like links can overflow without this.
  431. white-space: pre-wrap;
  432. }
  433. .rp-comment-resolver {
  434. color: @rp-type-blue;
  435. }
  436. .rp-comment-resolver-content {
  437. font-style: italic;
  438. margin: 0;
  439. }
  440. .rp-comment-reply {
  441. padding: 0 5px;
  442. }
  443. .rp-add-comment-btn,
  444. .rp-bulk-actions-btn {
  445. .rp-button();
  446. display: inline-block;
  447. padding: 5px 10px;
  448. border-radius: 3px;
  449. .rp-in-editor-widgets & {
  450. display: block;
  451. white-space: nowrap;
  452. border-radius: 0;
  453. &:last-child {
  454. border-bottom-left-radius: 3px;
  455. }
  456. }
  457. }
  458. .rp-bulk-actions-btn {
  459. border-radius: 0;
  460. &:first-child {
  461. border-top-left-radius: 3px;
  462. border-bottom-left-radius: 3px;
  463. }
  464. &:last-child {
  465. border-top-right-radius: 3px;
  466. border-bottom-right-radius: 3px;
  467. margin-left: 1px;
  468. }
  469. }
  470. .rp-new-comment {
  471. padding: 5px;
  472. }
  473. .rp-comment-input {
  474. width: 100%;
  475. font-size: @rp-base-font-size;
  476. padding: 2px 5px;
  477. border-radius: 3px;
  478. border: solid 1px @rp-border-grey;
  479. resize: vertical;
  480. color: @rp-type-darkgrey;
  481. background-color: #fff;
  482. margin-top: 3px;
  483. overflow-x: hidden;
  484. min-height: 3em;
  485. max-height: 400px;
  486. }
  487. .rp-icon-delete {
  488. display: inline-block;
  489. line-height: 1;
  490. font-style: normal;
  491. font-size: 0.8em;
  492. text-decoration: line-through;
  493. font-weight: @rp-semibold-weight;
  494. &::before {
  495. content: 'Ab';
  496. }
  497. }
  498. .rp-resolved-comment {
  499. border-left: solid @rp-entry-ribbon-width @rp-yellow;
  500. border-radius: 3px;
  501. background-color: #fff;
  502. margin-bottom: 5px;
  503. }
  504. .rp-resolved-comment-context {
  505. background-color: lighten(@rp-yellow, 35%);
  506. padding: 4px 5px;
  507. }
  508. .rp-resolved-comment-context-file {
  509. font-weight: @rp-semibold-weight;
  510. }
  511. .rp-resolved-comment-context-quote {
  512. color: #000;
  513. font-family: @font-family-monospace;
  514. margin: 0;
  515. }
  516. .rp-entry-callout {
  517. transition:
  518. top @rp-entry-animation-speed,
  519. height @rp-entry-animation-speed;
  520. .rp-state-current-file & {
  521. position: absolute;
  522. border-top: 1px solid grey;
  523. border-right: 1px dashed grey;
  524. &::after {
  525. content: '';
  526. position: absolute;
  527. top: -1px;
  528. left: 3px;
  529. bottom: 0;
  530. border-bottom: 1px solid grey;
  531. }
  532. }
  533. .rp-state-current-file-expanded & {
  534. width: 3px;
  535. &::after {
  536. width: 3px;
  537. }
  538. }
  539. .rp-state-current-file-mini & {
  540. width: 1px;
  541. &::after {
  542. width: 1px;
  543. }
  544. }
  545. .rp-state-overview & {
  546. display: none;
  547. }
  548. .rp-state-current-file &-inverted {
  549. border-top: none;
  550. border-bottom: 1px solid grey;
  551. &::after {
  552. top: 0px;
  553. bottom: -1px;
  554. border-top: 1px solid grey;
  555. border-bottom: none;
  556. }
  557. }
  558. .rp-state-current-file &-insert {
  559. border-color: @rp-green;
  560. &::after {
  561. border-color: @rp-green;
  562. }
  563. }
  564. .rp-state-current-file &-delete {
  565. border-color: @rp-red;
  566. &::after {
  567. border-color: @rp-red;
  568. }
  569. }
  570. .rp-state-current-file &-comment {
  571. border-color: @rp-yellow;
  572. &::after {
  573. border-color: @rp-yellow;
  574. }
  575. }
  576. .rp-size-mini &-add-comment {
  577. display: none;
  578. }
  579. }
  580. .rp-overview-file-header {
  581. padding: 2px 5px;
  582. border-top: solid 1px @rp-border-grey;
  583. border-bottom: solid 1px @rp-border-grey;
  584. background-color: @rp-bg-dim-blue;
  585. margin-top: 10px;
  586. font-weight: @rp-semibold-weight;
  587. text-align: center;
  588. cursor: pointer;
  589. }
  590. .rp-overview-file-num-entries {
  591. font-weight: normal;
  592. font-size: 0.9em;
  593. }
  594. .rp-overview-file-header-collapse {
  595. .rp-collapse-arrow;
  596. float: left;
  597. }
  598. .rp-overview-file-entries {
  599. overflow: hidden;
  600. }
  601. .rp-comment-wrapper {
  602. transition: 0.35s opacity ease-out 0.2s;
  603. &-resolving {
  604. opacity: 0;
  605. }
  606. }
  607. .rp-nav {
  608. display: none;
  609. flex-shrink: 0;
  610. .rp-size-expanded & {
  611. display: flex;
  612. }
  613. .rp-state-current-file & {
  614. position: absolute;
  615. bottom: 0;
  616. }
  617. width: 100%;
  618. font-size: @rp-icon-large-size;
  619. text-align: center;
  620. background-color: @rp-bg-dim-blue;
  621. border-top: solid 1px @rp-border-grey;
  622. z-index: 2;
  623. }
  624. .rp-nav-item {
  625. display: block;
  626. color: lighten(@rp-type-blue, 25%);
  627. flex: 0 0 50%;
  628. border-top: solid 3px transparent;
  629. border-right: 0;
  630. border-bottom: 0;
  631. border-left: 0;
  632. background: none;
  633. padding-bottom: 2px;
  634. &:hover,
  635. &:focus {
  636. text-decoration: none;
  637. color: @rp-type-blue;
  638. }
  639. &-active {
  640. color: @rp-type-blue;
  641. border-top: solid 3px @rp-highlight-blue;
  642. }
  643. }
  644. .rp-nav-label {
  645. display: block;
  646. font-size: @rp-base-font-size;
  647. }
  648. .review-icon {
  649. display: inline-block;
  650. background: url('../../../../public/img/ol-icons/review-icon-dark-theme.svg')
  651. top/30px no-repeat;
  652. width: 30px;
  653. &::before {
  654. content: '\00a0'; // Non-breakable space. A non-breakable character here makes this icon work like font-awesome.
  655. }
  656. }
  657. button when (@is-overleaf-light = true) {
  658. .review-icon {
  659. background: url('../../../../public/img/ol-icons/review-icon-light-theme.svg')
  660. top/30px no-repeat;
  661. }
  662. &.active,
  663. &:active {
  664. .review-icon {
  665. background: url('../../../../public/img/ol-icons/review-icon-dark-theme.svg')
  666. top/30px no-repeat;
  667. }
  668. }
  669. }
  670. .resolved-comments-toggle {
  671. background-color: @gray-lightest;
  672. font-size: 14px;
  673. color: lighten(@rp-type-blue, 25%);
  674. border: solid 1px @rp-border-grey;
  675. border-radius: 3px;
  676. padding: 0 4px;
  677. display: block;
  678. height: 22px;
  679. width: 22px;
  680. line-height: 1.4;
  681. &:hover,
  682. &:focus {
  683. text-decoration: none;
  684. color: @rp-type-blue;
  685. }
  686. }
  687. .resolved-comments-backdrop {
  688. display: none;
  689. position: fixed;
  690. top: 0;
  691. right: 0;
  692. bottom: 0;
  693. left: 0;
  694. &-visible {
  695. display: block;
  696. }
  697. }
  698. .resolved-comments-dropdown {
  699. display: none;
  700. position: absolute;
  701. width: 300px;
  702. left: -150px;
  703. max-height: ~'calc(100vh - 100px)';
  704. margin-top: @rp-entry-arrow-width * 1.5;
  705. margin-left: 1em;
  706. background-color: @rp-bg-blue;
  707. text-align: left;
  708. align-items: stretch;
  709. justify-content: center;
  710. border-radius: 3px;
  711. box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.3);
  712. z-index: 1;
  713. &::before {
  714. content: '';
  715. .triangle(
  716. top,
  717. @rp-entry-arrow-width * 3,
  718. @rp-entry-arrow-width * 1.5,
  719. @rp-bg-blue
  720. );
  721. top: -@rp-entry-ribbon-width * 2;
  722. left: 50%;
  723. margin-left: -@rp-entry-arrow-width * 0.75;
  724. }
  725. &-open {
  726. display: flex;
  727. }
  728. }
  729. .resolved-comments-scroller {
  730. flex: 0 0 auto; // Can't use 100% in the flex-basis key here, IE won't account for padding.
  731. width: 100%; // We need to set the width explicitly, as flex-basis won't work.
  732. max-height: ~'calc(100vh - 100px)'; // We also need to explicitly set the max-height, IE won't compute the flex-determined height.
  733. padding: 5px;
  734. overflow-y: auto;
  735. }
  736. .rp-collapse-toggle {
  737. .btn-inline-link;
  738. color: @rp-type-blue;
  739. font-weight: @rp-semibold-weight;
  740. &:hover,
  741. &:focus {
  742. color: darken(@rp-type-blue, 5%);
  743. text-decoration: none;
  744. }
  745. }
  746. .rp-track-changes-indicator {
  747. display: block;
  748. padding: 5px 10px;
  749. background-color: rgba(240, 240, 240, 0.9);
  750. color: @rp-type-blue;
  751. text-align: center;
  752. border-bottom-left-radius: 3px;
  753. white-space: nowrap;
  754. &.rp-track-changes-indicator-on-dark {
  755. background-color: rgba(88, 88, 88, 0.8);
  756. color: #fff;
  757. &:hover,
  758. &:focus {
  759. background-color: rgba(88, 88, 88, 1);
  760. color: #fff;
  761. }
  762. }
  763. &:hover,
  764. &:focus {
  765. outline: 0;
  766. text-decoration: none;
  767. background-color: rgba(240, 240, 240, 1);
  768. color: @rp-type-blue;
  769. }
  770. }
  771. .review-panel-toggler {
  772. display: none;
  773. position: absolute;
  774. top: 0;
  775. bottom: 0;
  776. width: 10px;
  777. opacity: 0.5;
  778. color: @rp-highlight-blue;
  779. z-index: 1;
  780. background-color: transparent;
  781. transition: background 0.1s;
  782. flex-direction: column;
  783. padding: 0;
  784. border: 0;
  785. .rp-size-mini &,
  786. .rp-size-expanded & {
  787. display: flex;
  788. }
  789. .rp-size-expanded & {
  790. .review-panel-toggler-icon .fa {
  791. transform: scale(0.7) rotate(180deg);
  792. }
  793. }
  794. &:hover,
  795. &:focus {
  796. color: @rp-highlight-blue;
  797. background-color: #fff;
  798. }
  799. .review-panel-toggler-icon {
  800. position: sticky;
  801. top: 50%;
  802. bottom: 50%;
  803. width: 100%;
  804. .fa {
  805. font-size: 14px;
  806. transform: scale(0.7);
  807. }
  808. }
  809. }
  810. .review-panel {
  811. position: relative;
  812. z-index: 6;
  813. flex-shrink: 0;
  814. background-color: @rp-bg-blue;
  815. border-left: solid 0 @rp-border-grey;
  816. font-family: @font-family-base;
  817. line-height: @line-height-base;
  818. font-size: @rp-base-font-size;
  819. color: @rp-type-blue;
  820. box-sizing: content-box;
  821. .rp-size-expanded & {
  822. display: flex;
  823. flex-direction: column;
  824. width: @review-panel-width;
  825. overflow: visible;
  826. border-left-width: 1px;
  827. }
  828. .rp-size-mini & {
  829. width: @review-off-width;
  830. z-index: 6;
  831. border-left-width: 1px;
  832. }
  833. .review-panel-toolbar-collapse-button {
  834. border: none;
  835. background: none;
  836. padding: 0;
  837. }
  838. &.rp-current-file-container {
  839. display: none;
  840. .rp-size-mini &,
  841. .rp-size-expanded & {
  842. display: block;
  843. }
  844. .review-panel-toolbar {
  845. position: sticky;
  846. top: 0;
  847. }
  848. .rp-nav {
  849. position: sticky;
  850. bottom: 0;
  851. }
  852. }
  853. .rp-entry-list-react {
  854. position: relative;
  855. overflow: hidden;
  856. .rp-size-mini & {
  857. overflow: visible;
  858. }
  859. }
  860. .rp-state-current-file & {
  861. .review-panel-tools {
  862. display: flex;
  863. flex-direction: column;
  864. justify-content: space-between;
  865. position: absolute;
  866. top: 0;
  867. bottom: 0;
  868. left: 0;
  869. right: 0;
  870. }
  871. }
  872. .rp-state-overview & {
  873. position: sticky;
  874. top: 0;
  875. display: flex;
  876. flex-direction: column;
  877. height: 100%;
  878. }
  879. }
  880. .rp-floating-entry {
  881. position: absolute;
  882. font-size: @rp-base-font-size;
  883. color: @rp-type-blue;
  884. }
  885. .rp-floating-entry,
  886. .review-panel {
  887. .rp-entry-metadata {
  888. button {
  889. padding: 0;
  890. border: 0;
  891. background-color: transparent;
  892. color: @ol-blue;
  893. &:hover,
  894. &:focus {
  895. text-decoration: underline;
  896. }
  897. }
  898. }
  899. }
  900. .rp-in-editor-widgets {
  901. position: sticky;
  902. top: 0;
  903. right: 0;
  904. font-size: 11px;
  905. z-index: 2;
  906. font-family: @font-family-sans-serif;
  907. .rp-in-editor-widgets-inner {
  908. position: absolute;
  909. top: 0;
  910. right: 0;
  911. display: flex;
  912. flex-direction: column;
  913. }
  914. .rp-track-changes-indicator {
  915. border: 0;
  916. }
  917. }
  918. .track-changes-indicator-circle {
  919. display: inline-block;
  920. width: 10px;
  921. height: 10px;
  922. border-radius: 100%;
  923. background-color: @ol-green;
  924. }