_editor-attachment.scss 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. @import 'editor-overlay';
  2. .editor-container {
  3. // for Dropzone
  4. .dropzone {
  5. @mixin insertSimpleLineIcons($code) {
  6. &:before {
  7. margin-right: 0.2em;
  8. font-family: 'simple-line-icons';
  9. content: $code;
  10. }
  11. }
  12. position: relative; // against .overlay position: absolute
  13. @include overlay-processing-style(overlay-dropzone-active, 2.5em, 0.5em);
  14. // unuploadable or rejected
  15. &.dropzone-unuploadable,
  16. &.dropzone-rejected {
  17. .overlay.overlay-dropzone-active {
  18. background: rgba(200, 200, 200, 0.8);
  19. .overlay-content {
  20. color: #444;
  21. }
  22. }
  23. }
  24. // uploading
  25. &.dropzone-uploading {
  26. @include overlay-processing-style(overlay-dropzone-active, 2.5em, 0.5em);
  27. }
  28. // unuploadable
  29. &.dropzone-unuploadable {
  30. .overlay.overlay-dropzone-active {
  31. .overlay-content {
  32. // insert content
  33. @include insertSimpleLineIcons('\e617'); // icon-exclamation
  34. &:after {
  35. content: 'File uploading is disabled';
  36. }
  37. }
  38. }
  39. }
  40. // uploadable
  41. &.dropzone-uploadable {
  42. // accepted
  43. &.dropzone-accepted:not(.dropzone-rejected) {
  44. .overlay.overlay-dropzone-active {
  45. border: 4px dashed #$gray-300;
  46. .overlay-content {
  47. // insert content
  48. @include insertSimpleLineIcons('\e084'); // icon-cloud-upload
  49. &:after {
  50. content: 'Drop here to upload';
  51. }
  52. // style
  53. color: #$secondary;
  54. background: rgba(200, 200, 200, 0.8);
  55. }
  56. }
  57. }
  58. // file type mismatch
  59. &.dropzone-rejected:not(.dropzone-uploadablefile) {
  60. .overlay.overlay-dropzone-active {
  61. .overlay-content {
  62. // insert content
  63. @include insertSimpleLineIcons('\e032'); // icon-picture
  64. &:after {
  65. content: 'Only an image file is allowed';
  66. }
  67. }
  68. }
  69. }
  70. // multiple files
  71. &.dropzone-accepted.dropzone-rejected {
  72. .overlay.overlay-dropzone-active {
  73. .overlay-content {
  74. // insert content
  75. @include insertSimpleLineIcons('\e617'); // icon-exclamation
  76. &:after {
  77. content: 'Only 1 file is allowed';
  78. }
  79. }
  80. }
  81. }
  82. }
  83. /* end of.dropzone */
  84. }
  85. .btn.btn-open-dropzone {
  86. z-index: 2;
  87. padding-top: 3px;
  88. padding-bottom: 3px;
  89. font-size: small;
  90. border: none;
  91. border-top: 1px dotted #$gray-300;
  92. border-bottom: none;
  93. &:active {
  94. box-shadow: none;
  95. }
  96. &:hover,
  97. &:focus {
  98. border-bottom: none;
  99. }
  100. }
  101. }