8
0

widget.css 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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 .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. right: 0;
  35. top: 0;
  36. bottom: 0;
  37. }
  38. .ck .ck-widget__resizer-shadow {
  39. display: none;
  40. position: absolute;
  41. left: 0;
  42. right: 0;
  43. top: 0;
  44. bottom: 0;
  45. outline: 1px solid var(--ck-color-resizer);
  46. /* @todo: remove this dirty hack. It's purpose is that shadow element should not be
  47. overlapped by elements that follow it in the DOM. */
  48. z-index: var(--ck-z-default);
  49. &.ck-widget__resizer-shadow-active {
  50. display: block;
  51. visibility: visible;
  52. }
  53. }
  54. .ck .ck-widget__resizer {
  55. position: absolute;
  56. /* Resizers are the only UI elements that should interfere with pointer device */
  57. pointer-events: all;
  58. width: var(--ck-resizer-size);
  59. height: var(--ck-resizer-size);
  60. background: var(--ck-color-focus-border);
  61. border: var(--ck-resizer-border-width) solid #fff;
  62. border-radius: var(--ck-resizer-border-radius);
  63. &.ck-widget__resizer-top-left {
  64. top: var( --ck-resizer-offset );
  65. left: var( --ck-resizer-offset );
  66. cursor: nwse-resize;
  67. }
  68. &.ck-widget__resizer-top-right {
  69. top: var( --ck-resizer-offset );
  70. right: var( --ck-resizer-offset );
  71. cursor: nesw-resize;
  72. }
  73. &.ck-widget__resizer-bottom-right {
  74. bottom: var( --ck-resizer-offset );
  75. right: var( --ck-resizer-offset );
  76. cursor: nwse-resize;
  77. }
  78. &.ck-widget__resizer-bottom-left {
  79. bottom: var( --ck-resizer-offset );
  80. left: var( --ck-resizer-offset );
  81. cursor: nesw-resize;
  82. }
  83. }
  84. .ck .ck-widget.ck-widget_with-selection-handler {
  85. /* Make the widget wrapper a relative positioning container for the drag handler. */
  86. position: relative;
  87. /* Show the selection handler on mouse hover over the widget. */
  88. &:hover {
  89. & .ck-widget__selection-handler {
  90. visibility: visible;
  91. }
  92. }
  93. & .ck-widget__selection-handler {
  94. position: absolute;
  95. & .ck-icon {
  96. /* Make sure the icon in not a subject to font-size/line-height to avoid
  97. unnecessary spacing around it. */
  98. display: block;
  99. }
  100. }
  101. /* Show the selection handler when the widget is selected. */
  102. &.ck-widget_selected {
  103. & .ck-widget__selection-handler {
  104. visibility: visible;
  105. }
  106. }
  107. }
  108. .ck .ck-size-view {
  109. background: var(--ck-color-resizer-tooltip-background);
  110. color: var(--ck-color-resizer-tooltip-text);
  111. border: 1px solid var(--ck-color-resizer-tooltip-text);
  112. border-radius: var(--ck-resizer-border-radius);
  113. font-size: var(--ck-font-size-tiny);
  114. display: block;
  115. padding: var(--ck-spacing-small);
  116. &.ck-orientation-top-left,
  117. &.ck-orientation-top-right,
  118. &.ck-orientation-bottom-right,
  119. &.ck-orientation-bottom-left {
  120. position: absolute;
  121. }
  122. &.ck-orientation-top-left {
  123. top: var( --ck-resizer-tooltip-offset );
  124. left: var( --ck-resizer-tooltip-offset );
  125. }
  126. &.ck-orientation-top-right {
  127. top: var( --ck-resizer-tooltip-offset );
  128. right: var( --ck-resizer-tooltip-offset );
  129. }
  130. &.ck-orientation-bottom-right {
  131. bottom: var( --ck-resizer-tooltip-offset );
  132. right: var( --ck-resizer-tooltip-offset );
  133. }
  134. &.ck-orientation-bottom-left {
  135. bottom: var( --ck-resizer-tooltip-offset );
  136. left: var( --ck-resizer-tooltip-offset );
  137. }
  138. }