You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

458 lines
8.7 KiB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
  1. /*
  2. * # Semantic - Sidebar
  3. * http://github.com/semantic-org/semantic-ui/
  4. *
  5. *
  6. * Copyright 2014 Contributors
  7. * Released under the MIT license
  8. * http://opensource.org/licenses/MIT
  9. *
  10. */
  11. /*******************************
  12. Theme
  13. *******************************/
  14. @type : 'module';
  15. @element : 'sidebar';
  16. @import '../../semantic.config';
  17. /*******************************
  18. Sidebar
  19. *******************************/
  20. /* Sidebar Menu */
  21. .ui.sidebar {
  22. position: absolute;
  23. top: 0;
  24. left: 0;
  25. visibility: hidden;
  26. background: @sidebarBackground;
  27. backface-visibility: hidden;
  28. height: 100% !important;
  29. width: @sidebarWidth !important;
  30. border-radius: 0em !important;
  31. margin: 0 !important;
  32. will-change: transform;
  33. overflow: auto !important;
  34. }
  35. /*--------------
  36. Body
  37. ---------------*/
  38. /* Sets 3D Perspective */
  39. .pushable {
  40. position: relative;
  41. height: 100%;
  42. overflow: hidden;
  43. }
  44. /*--------------
  45. Pusher
  46. ---------------*/
  47. .pushable > .pusher {
  48. position: relative;
  49. left: 0;
  50. height: 100%;
  51. transition: transform @animationDuration;
  52. z-index: 2;
  53. will-change: transform;
  54. /* Appears to reduce performance breaks fixed position
  55. backface-visibility: hidden;
  56. */
  57. }
  58. /*--------------
  59. Page
  60. ---------------*/
  61. .pushable > .pusher > .page {
  62. background: @bodyBackground;
  63. overflow-y: auto;
  64. height: 100%;
  65. /* Appears to reduce performance
  66. backface-visibility: hidden;
  67. */
  68. }
  69. /*--------------
  70. Dimmer
  71. ---------------*/
  72. .pushable > .pusher > .page:after {
  73. position: fixed;
  74. top: 0px;
  75. right: 0px;
  76. content: '';
  77. background-color: @dimmerColor;
  78. width: 0px;
  79. height: 0px;
  80. overflow: hidden;
  81. opacity: 0;
  82. z-index: 999;
  83. transition: opacity @animationDuration;
  84. will-change: opacity;
  85. }
  86. /*******************************
  87. States
  88. *******************************/
  89. /*--------------
  90. Pushed
  91. ---------------*/
  92. /* Add Canvas BG */
  93. .pushable.pushed,
  94. .pushable.hide,
  95. .pushable.show {
  96. background: @canvasBackground !important;
  97. }
  98. /* Remove Scroll */
  99. .pushable.pushed > .pusher > .page {
  100. // overflow: hidden;
  101. }
  102. /* Show Dimmer */
  103. .pushable.pushed > .pusher > .page:after {
  104. width: 100% !important;
  105. height: 100% !important;
  106. opacity: 1 !important;
  107. }
  108. .pushable.hide > .pusher > .page *,
  109. .pushable.show > .pusher > .page *,
  110. .pushable.pushed > .pusher > .page * {
  111. transition: none !important;
  112. }
  113. /*--------------
  114. Visible
  115. ---------------*/
  116. .pushable > .visible.ui.sidebar {
  117. visibility: visible;
  118. }
  119. /*******************************
  120. Variations
  121. *******************************/
  122. /*--------------
  123. Styled
  124. ---------------*/
  125. .ui.styled.sidebar {
  126. background-color: #FFFFFF;
  127. padding: 1em 1.25em;
  128. border-right: 1px solid #DDDDDD;
  129. }
  130. /*******************************
  131. Animations
  132. *******************************/
  133. /*--------------
  134. Overlay
  135. ---------------*/
  136. /* Set-up */
  137. .pushable.overlay > .ui.sidebar {
  138. transform: translate3d(-100%, 0, 0);
  139. z-index: 3;
  140. }
  141. /* Pushed */
  142. .pushable.overlay .visible.ui.sidebar {
  143. transform: translate3d(0, 0, 0);
  144. }
  145. /* Animation */
  146. .pushable.overlay.show > .visible.ui.sidebar,
  147. .pushable.overlay.hide > .visible.ui.sidebar {
  148. transition: transform @animationDuration @easing;
  149. }
  150. /*--------------
  151. Pushed
  152. ---------------*/
  153. /* Set-Up */
  154. .pushable.pushing.pushed > .pusher {
  155. transform: translate3d(@sidebarWidth, 0, 0);
  156. }
  157. .pushable.pushing > .ui.sidebar {
  158. transform: translate3d(-100%, 0, 0);
  159. z-index: 3;
  160. }
  161. .pushable.pushing > .pusher {
  162. transform: translate3d(0px, 0, 0);
  163. z-index: 2;
  164. }
  165. /* Pushed */
  166. .pushable.pushing.pushed .visible.sidebar {
  167. transform: translate3d(0px, 0, 0);
  168. }
  169. .pushable.pushing.pushed > .pusher {
  170. transform: translate3d(@sidebarWidth, 0, 0);
  171. }
  172. /* Animation */
  173. .pushable.pushing.show > .visible.ui.sidebar,
  174. .pushable.pushing.hide > .visible.ui.sidebar {
  175. transition: transform @animationDuration ease;
  176. }
  177. /*--------------
  178. Reveal
  179. ---------------*/
  180. /* Set-up */
  181. .pushable.reveal .visible.ui.sidebar {
  182. z-index: 1;
  183. }
  184. .pushable.reveal > .pusher {
  185. transform: translate3d(0, 0, 0);
  186. z-index: 2;
  187. }
  188. /* Pushed */
  189. .pushable.reveal.pushed > .pusher {
  190. transform: translate3d(@sidebarWidth, 0, 0);
  191. }
  192. /*--------------
  193. Slide Along
  194. ---------------*/
  195. /* Set-up */
  196. .pushable.slide.along > .ui.sidebar {
  197. z-index: 2;
  198. transform: translate3d(-50%, 0, 0);
  199. }
  200. .pushable.slide.along > .pusher {
  201. z-index: 3;
  202. }
  203. /* Pushed */
  204. .pushable.slide.along.pushed > .pusher {
  205. transform: translate3d(@sidebarWidth, 0, 0);
  206. }
  207. .pushable.slide.along.pushed > .visible.ui.sidebar {
  208. transform: translate3d(0%, 0, 0);
  209. }
  210. /* Animation */
  211. .pushable.slide.along.show > .visible.ui.sidebar,
  212. .pushable.slide.along.hide > .visible.ui.sidebar {
  213. transition: transform @animationDuration ease;
  214. }
  215. /*--------------
  216. Slide Out
  217. ---------------*/
  218. /* Set-up */
  219. .pushable.slide.out > .ui.sidebar {
  220. z-index: 1;
  221. transform: translate3d(50%, 0, 0);
  222. }
  223. /* Pushed */
  224. .pushable.slide.out.pushed > .pusher {
  225. transform: translate3d(@sidebarWidth, 0, 0);
  226. }
  227. .pushable.slide.out.pushed .visible.ui.sidebar {
  228. transform: translate3d(0%, 0, 0);
  229. }
  230. /* Animation */
  231. .pushable.slide.out.show > .visible.ui.sidebar,
  232. .pushable.slide.out.hide > .visible.ui.sidebar {
  233. transition: transform @animationDuration ease;
  234. }
  235. /*--------------
  236. Scale Down
  237. ---------------*/
  238. /* Set-up */
  239. .pushable.scale.down {
  240. perspective: 1500px;
  241. }
  242. .pushable.scale.down > .pusher {
  243. transform-style: preserve-3d;
  244. z-index: 2;
  245. }
  246. .pushable.scale.down > .ui.sidebar {
  247. opacity: 1;
  248. transform: translate3d(-100%, 0, 0);
  249. z-index: 3;
  250. }
  251. /* Pushed */
  252. .pushable.scale.down.pushed > .pusher {
  253. transform: translate3d(210px, 0px, -500px);
  254. }
  255. .pushable.scale.down.pushed > .visible.ui.sidebar {
  256. transform: translate3d(0, 0, 0);
  257. }
  258. /* Animation */
  259. .pushable.scale.down.show > .visible.ui.sidebar,
  260. .pushable.scale.down.hide > .visible.ui.sidebar {
  261. transition: transform @animationDuration ease;
  262. }
  263. /*--------------
  264. Scale Up
  265. ---------------*/
  266. /* Set-up */
  267. .pushable.scale.up {
  268. perspective: 1500px;
  269. perspective-origin: 0% 50%;
  270. }
  271. .pushable.scale.up > .ui.sidebar {
  272. z-index: 1;
  273. transform: translate3d(0, 0, -@sidebarWidth);
  274. }
  275. .pushable.scale.up > .pusher {
  276. z-index: 2;
  277. }
  278. /* Pushed */
  279. .pushable.scale.up.pushed > .pusher {
  280. transform: translate3d(@sidebarWidth, 0, 0);
  281. }
  282. .pushable.scale.up.pushed > .visible.ui.sidebar {
  283. transform: translate3d(0, 0, 0);
  284. }
  285. /* Animation */
  286. .pushable.scale.up.show > .visible.ui.sidebar,
  287. .pushable.scale.up.hide > .visible.ui.sidebar {
  288. transition: transform @animationDuration ease;
  289. }
  290. /*--------------
  291. Recede
  292. ---------------*/
  293. /* Set-up */
  294. .pushable.recede {
  295. perspective: 1500px;
  296. }
  297. .pushable.recede > .ui.sidebar {
  298. opacity: 1;
  299. transform: translate3d(-100%, 0, 0);
  300. z-index: 3;
  301. }
  302. .pushable.recede > .pusher {
  303. transform-style: preserve-3d;
  304. z-index: 2;
  305. }
  306. .pushable.recede > .pusher::after {
  307. background-color: rgba(0, 0, 0, 0.5);
  308. }
  309. /* Pushed */
  310. .pushable.recede.pushed > .pusher {
  311. transform: translate3d(15%, 0px, -400px) rotateY(-15deg);
  312. }
  313. .pushable.recede.pushed > .visible.ui.sidebar {
  314. transform: translate3d(0, 0, 0);
  315. }
  316. /* Animation */
  317. .pushable.recede.show > .visible.ui.sidebar,
  318. .pushable.recede.hide > .visible.ui.sidebar {
  319. transition: transform @animationDuration ease;
  320. }
  321. /*--------------
  322. Open Door
  323. ---------------*/
  324. /* Set-up */
  325. .pushable.open.door {
  326. perspective: 1500px;
  327. }
  328. .pushable.open.door > .ui.sidebar {
  329. opacity: 1;
  330. transform: translate3d(-100%, 0, 0);
  331. z-index: 3;
  332. }
  333. .pushable.open.door > .pusher {
  334. transform-origin: 100% 50%;
  335. transform-style: preserve-3d;
  336. z-index: 2;
  337. }
  338. /* Pushed */
  339. .pushable.open.door.pushed > .pusher {
  340. transform: rotateY(-10deg);
  341. }
  342. .pushable.open.door.pushed > .visible.ui.sidebar {
  343. transform: translate3d(0, 0, 0);
  344. }
  345. /* Animation */
  346. .pushable.open.door.show > .visible.ui.sidebar,
  347. .pushable.open.door.hide > .visible.ui.sidebar {
  348. transition: transform @animationDuration;
  349. }
  350. /*--------------
  351. Rotate In
  352. ---------------*/
  353. /* Set-up */
  354. .pushable.rotate.in {
  355. perspective: 1500px;
  356. perspective-origin: 0% 50%;
  357. }
  358. .pushable.rotate.in > .pusher {
  359. transform-style: preserve-3d;
  360. }
  361. .pushable.rotate.in > .ui.sidebar {
  362. transform: translate3d(-100%, 0, 0) rotateY(90deg);
  363. transform-origin: 50% 100% 0;
  364. transform-style: preserve-3d;
  365. }
  366. /* Pushed */
  367. .pushable.rotate.in.pushed > .pusher {
  368. transform: translate3d(@sidebarWidth, 0, 0);
  369. }
  370. .pushable.rotate.in.pushed .visible.ui.sidebar {
  371. transform: translate3d(0%, 0, 0) rotateY(0deg);
  372. }
  373. /* Return Animation */
  374. .pushable.rotate.in.hide > .visible.ui.sidebar {
  375. transform: translate3d(-100%, 0, 0) rotateY(0deg);
  376. transition: transform @animationDuration ease 0s;
  377. }
  378. /* Animation */
  379. .pushable.rotate.in.show > .visible.ui.sidebar,
  380. .pushable.rotate.in.hide > .visible.ui.sidebar {
  381. transition: transform @animationDuration ease-in-out 0s;
  382. }