toolbar.scss 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. @import "vars";
  2. @import "mixins";
  3. @import "bounce";
  4. .toolbar {
  5. &.toolbar-meta {
  6. @include translate3d(0, -100%, 0);
  7. width: auto !important;
  8. top: 0 !important;
  9. right: 0 !important;
  10. bottom: auto !important;
  11. }
  12. &.toolbar-undo {
  13. width: auto !important;
  14. top: auto !important;
  15. left: 0 !important;
  16. bottom: 0 !important;
  17. }
  18. margin: auto;
  19. //text-align: center;
  20. position: fixed;
  21. bottom: 0px;
  22. //width: 100%;
  23. z-index: 3000;
  24. padding: $gutter-b;
  25. font-size: 0;
  26. line-height: 0;
  27. transition-duration: 0.15s;
  28. transition-timing-function: ease-in-out;
  29. transition-delay: initial;
  30. transition-property: opacity, transform;
  31. @include backface-visibility(hidden);
  32. @include translate3d(0, 10px, 0);
  33. pointer-events: none !important;
  34. opacity: 0;
  35. &.out {
  36. @include translate3d(0, 10px, 0);
  37. * {pointer-events: none !important; }
  38. button, input, .dialog {
  39. display: none;
  40. }
  41. }
  42. &.in {
  43. @include translate3d(0, 0, 0);
  44. &.out {
  45. @include translate3d(0, 10px, 0);
  46. * {pointer-events: none !important; }
  47. }
  48. }
  49. > * {
  50. margin: 0 2px;
  51. margin-top: 4px;
  52. pointer-events: auto !important;
  53. &.out {
  54. margin: 0;
  55. opacity: 0;
  56. }
  57. }
  58. &.toolbar-vertical {
  59. width: auto !important;
  60. &.toolbar-left {
  61. left: 0px;
  62. .panel-wrap {
  63. left: 0px;
  64. @include transform-origin(center left);
  65. .panel {@include perspective-origin(center left);
  66. > div {
  67. @include rotateY(90deg);
  68. @include transform-origin(center left);
  69. }
  70. }
  71. }
  72. }
  73. &.toolbar-right {
  74. right: 0px;
  75. .panel-wrap {
  76. right: 0px;
  77. @include transform-origin(center right);
  78. .panel {@include perspective-origin(center right);
  79. > div {
  80. @include rotateY(-90deg);
  81. @include transform-origin(center right);
  82. }
  83. }
  84. }
  85. }
  86. font-size: 0px;
  87. height: 100%;
  88. pointer-events: none;
  89. @include transition( all 0.25s ease-in-out);
  90. @include translate3d(0, 0, 0);
  91. -webkit-perspective: 1000;
  92. -moz-perspective: 1000;
  93. -ms-perspective: 1000;
  94. perspective: 1000;
  95. .panel-toggles {
  96. @include transition( all 0.15s ease-in-out);
  97. display: inline-block;
  98. vertical-align: middle;
  99. .btn-group {
  100. display: block;
  101. margin: 4px 0;
  102. }
  103. // > div > * {
  104. // height: 0px;
  105. // // pointer-events: auto;
  106. // display: block !important;
  107. // overflow: hidden;
  108. // @include transition( height 0.125s ease-in-out);
  109. // }
  110. // > div > .in {
  111. // pointer-events: auto;
  112. // cursor: pointer;
  113. // height: 60px;
  114. // }
  115. }
  116. .panels {
  117. @include transition( all 0.15s ease-in-out);
  118. height: 100%;
  119. display: inline-block;
  120. vertical-align: middle;
  121. position: relative;
  122. margin: 10px;
  123. .panel-wrap {
  124. display: table;
  125. position: absolute;
  126. height: 100%;
  127. pointer-events: none;
  128. @include scale(0,0);
  129. @include user-select(none);
  130. @include transition( all 0.125s ease-in-out);
  131. &.open {
  132. @include scale(1,1);
  133. .panel > div {
  134. @include rotateX(0deg);
  135. opacity: 1 !important;
  136. pointer-events: auto !important;
  137. }
  138. }
  139. .panel {
  140. display: table-cell;
  141. vertical-align: middle;
  142. // @include backface-visibility(hidden);
  143. -webkit-perspective: 1000;
  144. -moz-perspective: 1000;
  145. -ms-perspective: 1000;
  146. perspective: 1000;
  147. z-index: 1000;
  148. pointer-events: none;
  149. > div {
  150. @include backface-visibility(hidden);
  151. /* Other transform properties here */
  152. pointer-events: none;
  153. @include transition(all 0.2s ease-in-out);
  154. position: relative;
  155. }
  156. }
  157. }
  158. }
  159. }
  160. }
  161. .toolbar-properties {
  162. bottom: 64px;
  163. z-index: 0;
  164. &.in {
  165. z-index: 3000;
  166. }
  167. .icon-sm {
  168. z-index: 110;
  169. background-color: #222;
  170. border-radius: 50px;
  171. }
  172. .jewel {
  173. border: 2px solid rgba(255,255,255,0.5);
  174. background-color: transparent;
  175. color: #989898;
  176. width: 36px;
  177. height: 36px;
  178. border-top-left: 0px;
  179. border-top-right: 0px;
  180. font-size: 13px;
  181. line-height: 26px;
  182. top: 10px;
  183. right: 2px;
  184. box-shadow: 0px 0px 1px;
  185. }
  186. .jewel-stroke {
  187. border-width: 10px;
  188. }
  189. .dropdown-toggle.open .jewel {
  190. color: white;
  191. }
  192. }
  193. .toolbar-elements > .btn-group,
  194. .toolbar-properties > .btn-group {
  195. box-shadow: 0 0 30px rgba(0,0,0,0.5);
  196. }