list.scss 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617
  1. @import "vars";
  2. @import "mixins";
  3. @import "unicode";
  4. .table-versions {
  5. width: 100%;
  6. margin-top: 25px;
  7. margin-bottom: 25px;
  8. tr {
  9. border-bottom: 2px solid rgba(0,0,0,0.025);
  10. &:last-child { border: none !important;}
  11. td {
  12. span {
  13. position: relative;
  14. }
  15. &:first-child { padding-left: 15px; width: 1%; padding-right: 0px;}
  16. &:last-child { padding-right: 40px; width: 1%; text-align: right;}
  17. }
  18. }
  19. }
  20. .grid {
  21. padding: 15px;
  22. margin: 0;
  23. list-style: none;
  24. text-align: left;
  25. width: 100%;
  26. @include user-select(none);
  27. @include transition( all 0.2s ease-in-out);
  28. @include translateY (0px);
  29. &.select {
  30. @include translateY (60px);
  31. > li {
  32. &.list-title > span,
  33. &.folder-up > span {
  34. @include translateX (0px);
  35. }
  36. &:active,
  37. &.active,
  38. &:hover {
  39. &:before {
  40. display: none !important;
  41. }
  42. }
  43. .checkbox {
  44. pointer-events: auto;
  45. // @include translateX (0px);
  46. @include scale(1,1);
  47. }
  48. }
  49. }
  50. > li {
  51. display: block;
  52. width: 33.333333%;
  53. width: 50%;
  54. float: left;
  55. @include clearfix;
  56. position: relative;
  57. overflow: hidden;
  58. // border-bottom: 2px solid rgba(0,0,0,0.05);
  59. .sort-handle {
  60. width: 44px;
  61. position: absolute;
  62. pointer-events: none;
  63. top: 0;
  64. right: 0;
  65. @include transition-transform( 0.1s ease-in-out);
  66. opacity: 0.05;
  67. @include scale(0,0);
  68. cursor: -webkit-grab; cursor: -moz-grab;
  69. &:active {
  70. opacity: 1;
  71. cursor: -webkit-grabbing; cursor: -moz-grabbing;
  72. }
  73. z-index: 100;
  74. &:before {
  75. width: 44px;
  76. }
  77. }
  78. &:hover {
  79. background-clip: padding-box;
  80. // background-color: rgba(255,255,255,0.025);
  81. &:before {
  82. opacity: 0.25;
  83. display: block;
  84. }
  85. }
  86. &.checked {
  87. &:before {
  88. opacity: 0.5;
  89. display: block;
  90. }
  91. }
  92. &.editing { > span { color: transparent !important; } }
  93. &.editing,
  94. &:active,
  95. &.loading,
  96. &.active {
  97. // background-color: rgba(255,255,255,0.025);
  98. &:before {
  99. opacity: 1 !important;
  100. display: block;
  101. }
  102. > span {
  103. color: white;
  104. font-weight: 500;
  105. &:after {
  106. opacity: 1 !important;
  107. color: white !important;
  108. }
  109. }
  110. }
  111. .item-thumbnail {
  112. display: block;
  113. width: 100%;
  114. background-size: cover;
  115. background-position: center;
  116. background-color: rgba(255,255,255,0.025);
  117. margin-bottom: 7px;
  118. border-radius: $radius;
  119. z-index: 50;
  120. /* aspect ratio without spacer image */
  121. &:before{
  122. content: "";
  123. display: block;
  124. padding-top: 100%; /* initial ratio of 1:1*/
  125. // padding-top: 75%; /* initial ratio of 1:1*/
  126. }
  127. }
  128. .checkbox {
  129. @include transition-transform(0.2s ease-in-out);
  130. position: absolute;
  131. left: 0px;
  132. pointer-events: none;
  133. z-index: 100;
  134. height: 100%;
  135. width: 100%;
  136. text-align: left;
  137. @include transform-origin(top left);
  138. @include scale(0,0);
  139. &:before {
  140. border-radius: 100%;
  141. height: 30px;
  142. width: 30px;
  143. line-height: 29px;
  144. background-color: $darker;
  145. z-index: 10;
  146. position: absolute;
  147. }
  148. &:after {
  149. margin: -5px;
  150. content: "";
  151. display: block;
  152. position: absolute;
  153. top: 0;
  154. border-bottom-right-radius: 50%;
  155. height: 40px;
  156. width: 40px;
  157. line-height: 29px;
  158. background-color: $darker;
  159. z-index: 0;
  160. }
  161. }
  162. > span {
  163. padding: 5px;
  164. padding-bottom: 10px;
  165. display: block;
  166. line-height: 1;
  167. font-size: 15px;
  168. font-size: 11px;
  169. color: $medium;
  170. text-decoration: none;
  171. // text-align: center;
  172. cursor: pointer;
  173. overflow: hidden;
  174. text-overflow: ellipsis;
  175. white-space: nowrap;
  176. width: 100%;
  177. }
  178. }
  179. }
  180. .list {
  181. counter-reset: list-counter;
  182. padding: 0px;
  183. margin: 0px;
  184. list-style: none;
  185. text-align: left;
  186. // width: 100%;
  187. display: block;
  188. @include user-select(none);
  189. @include transition( all 0.2s ease-in-out);
  190. @include translateY (0px);
  191. &.pages {
  192. margin-left: -40px;
  193. margin-right: -40px;
  194. > li {
  195. @include transition( margin-top 0.2s ease-in-out);
  196. &.moving{
  197. }
  198. &.over{
  199. }
  200. counter-increment: list-counter;
  201. position: relative;
  202. display:block;
  203. > span {
  204. padding-left: 90px;
  205. position: static;
  206. &:before {
  207. content: counter(list-counter);
  208. position: absolute;
  209. top: 50%;
  210. margin-top: -13px;
  211. left: 40px;
  212. // background-color: $medium;
  213. // color: $dark;
  214. color: rgba(0,0,0,0.1);
  215. border: 2px solid rgba(0,0,0,0.1);
  216. border-radius: 100%;
  217. display: inline-block;
  218. text-align: center;
  219. width: 26px;
  220. height: 26px;
  221. line-height: 22px;
  222. font-weight: 700;
  223. }
  224. }
  225. }
  226. }
  227. // &.versions {
  228. // counter-reset: versions-counter;
  229. // li {
  230. // counter-increment: versions-counter;
  231. // span {
  232. // &:before {
  233. // content: counter(versions-counter);
  234. // display: block;
  235. // }
  236. // }
  237. // }
  238. // }
  239. &.versions {
  240. > li {
  241. position: relative;
  242. > span {
  243. padding: 20px 25px;
  244. position: static;
  245. // padding-left: 65px;
  246. // &:before {
  247. // content: counter(list-counter);
  248. // position: absolute;
  249. // top: 50%;
  250. // margin-top: -13px;
  251. // left: 25px;
  252. // // background-color: $medium;
  253. // // color: $dark;
  254. // color: $medium;
  255. // border: 2px solid $medium;
  256. // border-radius: 100%;
  257. // display: inline-block;
  258. // text-align: center;
  259. // width: 26px;
  260. // height: 26px;
  261. // line-height: 22px;
  262. // font-weight: 700;
  263. // }
  264. > span {
  265. display: block;
  266. line-height: 1.3;
  267. font-family: $main-font;
  268. font-size: 10px;
  269. line-height: 1.5;
  270. font-weight: 300;
  271. overflow: hidden;
  272. text-overflow: ellipsis;
  273. white-space: nowrap;
  274. &.version-name {font-size: 15px; }
  275. &.version-author {opacity: 0.5; }
  276. &.version-thumbnail {
  277. float: left;
  278. display: block;
  279. width: 25%;
  280. background-size: cover;
  281. background-position: center;
  282. background-color: rgba(255,255,255,0.025);
  283. border-radius: $radius;
  284. z-index: 50;
  285. margin-right: 15px;
  286. /* aspect ratio without spacer image */
  287. &:before{
  288. content: "";
  289. display: block;
  290. padding-top: 100%; /* initial ratio of 1:1*/
  291. // padding-top: 75%; /* initial ratio of 1:1*/
  292. }
  293. }
  294. }
  295. }
  296. }
  297. }
  298. &.menu {
  299. > li {
  300. &:before {
  301. display: none !important;
  302. }
  303. > span {
  304. padding-left: 0px !important;
  305. .icon {
  306. margin-left: 8px;
  307. margin-right: -8px;
  308. }
  309. .icon-md {
  310. margin-top: -2px;
  311. margin-right: -8px;
  312. margin-left: 8px;
  313. }
  314. .icon-folder-plus {
  315. color: $yellow;
  316. }
  317. }
  318. }
  319. }
  320. &.select {
  321. > li {
  322. &.list-title > span,
  323. &.folder-up > span {
  324. @include translateX (0px);
  325. }
  326. &:active,
  327. &.active,
  328. &:hover {
  329. &:before {
  330. display: none !important;
  331. }
  332. }
  333. .sort-handle {
  334. @include scale(1,1);
  335. pointer-events: auto;
  336. }
  337. .checkbox {
  338. position: absolute;
  339. left: 0px;
  340. @include translateX (0px);
  341. pointer-events: auto;
  342. }
  343. > span {
  344. @include translateX (40px);
  345. padding-right: 80px !important;
  346. }
  347. }
  348. }
  349. > li {
  350. @include clearfix;
  351. position: relative;
  352. overflow: hidden;
  353. display: block;
  354. border-bottom: 2px solid rgba(0,0,0,0.05);
  355. cursor: pointer;
  356. .sort-handle {
  357. width: 44px;
  358. position: absolute;
  359. pointer-events: none;
  360. top: 0;
  361. right: 0;
  362. @include transition-transform( 0.1s ease-in-out);
  363. opacity: 0.5;
  364. @include scale(0,0);
  365. cursor: -webkit-grab; cursor: -moz-grab;
  366. &:active {
  367. opacity: 1;
  368. cursor: -webkit-grabbing; cursor: -moz-grabbing;
  369. }
  370. z-index: 100;
  371. &:before {
  372. width: 44px;
  373. }
  374. }
  375. &.deleted {-webkit-animation:collapse 0.35s ease-in-out forwards; }
  376. &.loading {
  377. > span:before {
  378. @include transition( all 0.1s 0.1s ease-in-out);
  379. -webkit-animation:pulse 0.35s infinite ease-in-out;
  380. @include scale(1,1);
  381. }
  382. }
  383. &.home > span:after{
  384. @extend .icon-home:before;
  385. opacity: 0.25;
  386. }
  387. &.folder-up > span:after,
  388. &.folder > span:after {
  389. @extend .icon-folder:before;
  390. color: $yellow;
  391. }
  392. &.space > span:after {
  393. @extend .icon-page-horizontal:before;
  394. opacity: 0.25;
  395. }
  396. &.shaed > span:after {
  397. @extend .icon-page-horizontal-up:before;
  398. opacity: 0.25;
  399. }
  400. &.home,
  401. &.folder-up,
  402. &.folder,
  403. &.space {
  404. > span {
  405. padding-left: 50px;
  406. position: relative;
  407. &:after {
  408. @include icon;
  409. @include icon-md;
  410. position: absolute;
  411. top: 6px;
  412. left: 8px;
  413. }
  414. &:before {
  415. @include icon;
  416. position: absolute;
  417. top: 0px;
  418. left: auto;
  419. right: -4px;
  420. color: $medium !important;
  421. color: $light !important;
  422. @extend .icon-shape-circle:before;
  423. }
  424. &:after {
  425. @include transition( transition-transform 0.1s 0.1s ease-in-out);
  426. @include scale(1,1);
  427. }
  428. &:before {
  429. @include transition( transition-transform 0.1s 0s ease-in-out);
  430. @include scale(0,0);
  431. }
  432. }
  433. }
  434. &:before {
  435. top: 50%;
  436. left: 7px;
  437. margin-top: -3px;
  438. content: "";
  439. display: block;
  440. position: absolute;
  441. height: 6px;
  442. width: 6px;
  443. background-color: $light;
  444. border-radius: 100%;
  445. display: none;
  446. }
  447. &:hover {
  448. background-clip: content-box;
  449. background-color: rgba(255,255,255,0.025);
  450. &:before {
  451. opacity: 0.25;
  452. display: block;
  453. }
  454. }
  455. &.checked {
  456. &:before {
  457. opacity: 0.5;
  458. display: block;
  459. }
  460. }
  461. &.editing { > span { color: transparent !important; } }
  462. &.editing,
  463. &:active,
  464. &.loading,
  465. &.active {
  466. // background-color: rgba(255,255,255,0.025);
  467. &:before {
  468. opacity: 1 !important;
  469. display: block;
  470. }
  471. > span {
  472. color: white;
  473. // font-weight: 500;
  474. &:after {
  475. opacity: 1 !important;
  476. color: white !important;
  477. }
  478. }
  479. }
  480. &.list-title,
  481. &.list-title:hover,
  482. &.list-title:active {
  483. background-color: transparent;
  484. border: none;
  485. cursor: default;
  486. > span {
  487. min-height: 30px;
  488. line-height: 30px;
  489. font-size: 11px;
  490. color: $medium;
  491. color: white;
  492. padding: 0px 25px;
  493. padding-top: 19px;
  494. }
  495. &:before {
  496. display: none;
  497. }
  498. }
  499. .checkbox {
  500. @include transition-transform(0.2s ease-in-out);
  501. @include translateX (-60px);
  502. position: absolute !important;
  503. left: 0px;
  504. pointer-events: none;
  505. width: 100%;
  506. z-index: 100;
  507. }
  508. > span {
  509. @include transition-transform(0.2s ease-in-out);
  510. display: block;
  511. min-height: 60px;
  512. line-height: 58px;
  513. font-size: 15px;
  514. color: $medium;
  515. text-decoration: none;
  516. padding: 0px 25px;
  517. overflow: hidden;
  518. text-overflow: ellipsis;
  519. white-space: nowrap;
  520. width: 100%;
  521. // &:active {background-color: $dark !important; }
  522. &:first-letter {
  523. // text-transform: capitalize;
  524. }
  525. &.thumbnail {
  526. padding: 0px 25px;
  527. padding-top: 25px;
  528. img {
  529. display: block;
  530. max-width: 100%;
  531. }
  532. }
  533. }
  534. }
  535. }
  536. .light .list > li{
  537. &.editing,
  538. &:active,
  539. &.loading,
  540. &.active {
  541. > span {
  542. color: black;
  543. &:after {
  544. color: black !important;
  545. }
  546. }
  547. }
  548. }
  549. @-webkit-keyframes pulse {
  550. 0% { @include scale(0,0); }
  551. 50% { @include scale(0.3,0.3); }
  552. 100% { @include scale(0,0); }
  553. }
  554. @-webkit-keyframes collapse {
  555. 0% { max-height: 60px; }
  556. 100% { max-height: 0px; }
  557. }