8
0

widget.css 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. /*
  2. * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  4. */
  5. :root {
  6. --ck-color-resizer: var(--ck-color-focus-border);
  7. --ck-resizer-size: 10px;
  8. --ck-resizer-border-width: 1px;
  9. --ck-resizer-border-radius: 2px;
  10. /* Set resizer with 50% offset. */
  11. --ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);
  12. --ck-resizer-tooltip-offset: 10px;
  13. --ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);
  14. --ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);
  15. }
  16. .ck .ck-widget_with-resizer {
  17. /* Make the widget wrapper a relative positioning container for the drag handler. */
  18. position: relative;
  19. }
  20. .ck-focused .ck-widget_with-resizer.ck-widget_selected {
  21. & > .ck-widget__resizer-wrapper {
  22. visibility: visible;
  23. }
  24. & .ck-widget__resizer-shadow {
  25. display: block;
  26. }
  27. }
  28. .ck .ck-widget__resizer-wrapper {
  29. visibility: hidden;
  30. position: absolute;
  31. /* The wrapper itself should not interfere with pointer device */
  32. pointer-events: none;
  33. left: 0;
  34. top: 0;
  35. }
  36. .ck .ck-widget__resizer-shadow {
  37. display: none;
  38. position: absolute;
  39. left: 0;
  40. right: 0;
  41. top: 0;
  42. bottom: 0;
  43. outline: 1px solid var(--ck-color-resizer);
  44. /* @todo: remove this dirty hack. It's purpose is that shadow element should not be
  45. overlapped by elements that follow it in the DOM. */
  46. z-index: var(--ck-z-default);
  47. &.ck-widget__resizer-shadow-active {
  48. display: block;
  49. visibility: visible;
  50. }
  51. }
  52. .ck .ck-widget__resizer {
  53. position: absolute;
  54. /* Resizers are the only UI elements that should interfere with pointer device */
  55. pointer-events: all;
  56. width: var(--ck-resizer-size);
  57. height: var(--ck-resizer-size);
  58. background: var(--ck-color-focus-border);
  59. border: var(--ck-resizer-border-width) solid #fff;
  60. border-radius: var(--ck-resizer-border-radius);
  61. &.ck-widget__resizer-top-left {
  62. top: var( --ck-resizer-offset );
  63. left: var( --ck-resizer-offset );
  64. cursor: nwse-resize;
  65. }
  66. &.ck-widget__resizer-top-right {
  67. top: var( --ck-resizer-offset );
  68. right: var( --ck-resizer-offset );
  69. cursor: nesw-resize;
  70. }
  71. &.ck-widget__resizer-bottom-right {
  72. bottom: var( --ck-resizer-offset );
  73. right: var( --ck-resizer-offset );
  74. cursor: nwse-resize;
  75. }
  76. &.ck-widget__resizer-bottom-left {
  77. bottom: var( --ck-resizer-offset );
  78. left: var( --ck-resizer-offset );
  79. cursor: nesw-resize;
  80. }
  81. }
  82. .ck .ck-widget.ck-widget_with-selection-handler {
  83. /* Make the widget wrapper a relative positioning container for the drag handler. */
  84. position: relative;
  85. /* Show the selection handler on mouse hover over the widget. */
  86. &:hover {
  87. & .ck-widget__selection-handler {
  88. visibility: visible;
  89. }
  90. }
  91. & .ck-widget__selection-handler {
  92. position: absolute;
  93. & .ck-icon {
  94. /* Make sure the icon in not a subject to font-size/line-height to avoid
  95. unnecessary spacing around it. */
  96. display: block;
  97. }
  98. }
  99. /* Show the selection handler when the widget is selected. */
  100. &.ck-widget_selected {
  101. & .ck-widget__selection-handler {
  102. visibility: visible;
  103. }
  104. }
  105. }
  106. .ck .ck-size-view {
  107. background: var(--ck-color-resizer-tooltip-background);
  108. color: var(--ck-color-resizer-tooltip-text);
  109. border: 1px solid var(--ck-color-resizer-tooltip-text);
  110. border-radius: var(--ck-resizer-border-radius);
  111. font-size: var(--ck-font-size-tiny);
  112. display: block;
  113. padding: var(--ck-spacing-small);
  114. &.ck-orientation-top-left,
  115. &.ck-orientation-top-right,
  116. &.ck-orientation-bottom-right,
  117. &.ck-orientation-bottom-left {
  118. position: absolute;
  119. }
  120. &.ck-orientation-top-left {
  121. top: var( --ck-resizer-tooltip-offset );
  122. left: var( --ck-resizer-tooltip-offset );
  123. }
  124. &.ck-orientation-top-right {
  125. top: var( --ck-resizer-tooltip-offset );
  126. right: var( --ck-resizer-tooltip-offset );
  127. }
  128. &.ck-orientation-bottom-right {
  129. bottom: var( --ck-resizer-tooltip-offset );
  130. right: var( --ck-resizer-tooltip-offset );
  131. }
  132. &.ck-orientation-bottom-left {
  133. bottom: var( --ck-resizer-tooltip-offset );
  134. left: var( --ck-resizer-tooltip-offset );
  135. }
  136. }