cryptpad/www/slide/app-slide.less

418 lines
9.7 KiB
Text
Raw Normal View History

2017-09-07 16:56:58 +00:00
@import (once) "../../customize/src/less2/include/browser.less";
@import (once) "../../customize/src/less2/include/markdown.less";
@import (once) "../../customize/src/less2/include/mediatag.less";
@import (once) "../../customize/src/less2/include/framework.less";
2017-03-09 18:05:44 +00:00
2017-09-07 16:56:58 +00:00
.mediatag_base();
.framework_main(
@bg-color: @colortheme_slide-bg,
@warn-color: @colortheme_slide-warn,
@color: @colortheme_slide-color
);
2017-09-07 16:56:58 +00:00
// body
font-size: unset;
display: flex;
flex-flow: column;
@slide-default-bg: #000;
.size (@n) {
// font-size: @n * 1vmin;
// line-height: @n * 1.1vmin;
font-size: @n * 10%;
// line-height: @n * 11%;
line-height: 110%;
2017-03-09 18:05:44 +00:00
}
h1 { font-size: 40px; }
h2 { font-size: 37px; }
h3 { font-size: 34px; }
h4 { font-size: 31px; }
h5 { font-size: 27px; }
h6 { font-size: 24px; }
#cp-app-slide-editor-container {
display: inline-flex;
flex-flow: column;
2017-09-07 16:56:58 +00:00
height: 100%;
2017-09-11 12:42:43 +00:00
min-height: 100%;
width: 50%;
min-width: 20%;
max-width: 80%;
overflow: hidden;
max-width: 100%;
flex: 1;
}
.CodeMirror {
flex: 1;
width: 100%;
2017-09-07 16:56:58 +00:00
font-size: initial;
2017-03-09 18:05:44 +00:00
}
2017-09-07 16:56:58 +00:00
.CodeMirror-focused .cm-matchhighlight {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==);
background-position: bottom;
background-repeat: repeat-x;
2017-03-09 18:05:44 +00:00
}
2017-09-07 16:56:58 +00:00
#cp-app-slide-colorpicker {
display: block;
}
#cme_toolbox {
z-index: 10000;
}
2017-09-07 16:56:58 +00:00
#cp-app-slide-editor {
2017-06-16 13:11:32 +00:00
flex: 1;
display: flex;
flex-flow: row;
height: 100%;
overflow: hidden;
.CodeMirror {
resize: none;
2017-11-30 16:24:43 +00:00
//width: 100vw;
2017-06-16 13:11:32 +00:00
}
2017-09-07 16:56:58 +00:00
&.cp-app-slide-preview {
2017-06-16 13:11:32 +00:00
.CodeMirror {
//resize: horizontal;
2017-11-30 16:24:43 +00:00
//width: 50vw;
2017-06-16 13:11:32 +00:00
}
}
}
.cp-app-slide-shown {
.cp-app-slide-container {
position: relative;
&> media-tag {
position: absolute;
top:0; right: 0; bottom: 0; left: 0;
z-index: -1;
&> img {
width: 100vw;
height: 56.25vw; // height:width ratio = 9/16 = .5625
max-height: 100vh;
max-width: 177.78vh; // 16/9 = 1.778
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
}
}
}
2017-09-07 16:56:58 +00:00
.cp-app-slide-preview {
.cp-app-slide-viewer {
2017-07-20 07:55:18 +00:00
width: 50vw;
overflow: hidden;
2017-09-07 16:56:58 +00:00
div#cp-app-slide-modal:not(.cp-app-slide-shown) {
2017-07-20 07:55:18 +00:00
position: relative;
top: auto;
left: auto;
width: auto;
display: block;
height: 100%;
2017-09-07 16:56:58 +00:00
#cp-app-slide-modal-content {
.cp-app-slide-container {
position: relative;
&> media-tag {
position: absolute;
top:0; right: 0; bottom: 0; left: 0;
z-index: -1;
&> img {
width: 50vw;
height: 28.125vw;
max-height: ~"calc(100vh - 96px)";
max-width: ~"calc(16 / 9 * (100vh - 96px))";
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
}
}
2017-09-07 16:56:58 +00:00
.cp-app-slide-container {
2017-07-20 07:55:18 +00:00
width: 100%;
}
2017-09-07 16:56:58 +00:00
.cp-app-slide-frame {
2017-07-20 07:55:18 +00:00
width: 50vw;
height: 28.125vw; // height:width ratio = 9/16 = .5625
max-height: ~"calc(100vh - 96px)";
max-width: ~"calc(16 / 9 * (100vh - 96px))";
//max-height: 100vh;
//max-width: 177.78vh; // 16/9 = 1.778
}
2017-06-16 13:11:32 +00:00
}
2017-09-07 16:56:58 +00:00
#cp-app-slide-modal-exit {
2017-07-20 07:55:18 +00:00
visibility: hidden;
2017-06-16 13:11:32 +00:00
}
}
2017-07-20 07:55:18 +00:00
}
.CodeMirror {
flex: 1;
2017-06-16 13:11:32 +00:00
}
}
/* Slide position (print mode) */
@ratio:0.9;
@media print {
#cp-app-slide-editor-container {
display: none;
}
}
2017-09-07 16:56:58 +00:00
#cp-app-slide-print {
position: relative;
display: none;
font-size: @ratio*11.25vw;
2017-09-07 16:56:58 +00:00
.cp-app-slide-frame {
display: flex !important;
flex-flow: column;
padding: 0.5em;
margin: auto;
border: 1px solid black;
height: @ratio*56.25vw;
width: @ratio*100vw;
page-break-after: always;
2017-03-09 18:05:44 +00:00
position: relative;
box-sizing: border-box;
overflow: hidden;
li {
min-width: @ratio*50vw;
2017-03-09 18:05:44 +00:00
}
h1 {
padding-top: 0;
}
2017-03-17 16:49:03 +00:00
2017-03-09 18:05:44 +00:00
}
.cp-app-slide-container {
position: relative;
&> media-tag {
position: absolute;
top:0; right: 0; bottom: 0; left: 0;
z-index: -1;
&> img {
width: 90vw;
height: 50.625vw;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
}
}
2017-09-07 16:56:58 +00:00
.cp-app-slide-container {
width: 90vw;
height: 100vh;
2017-07-20 12:41:51 +00:00
margin: 0vh 5vw !important;
display: flex;
&:last-child {
height: ~"calc(100vh - 2px)";
}
}
2017-03-09 18:05:44 +00:00
}
/* Slide position (present mode) */
2017-09-07 16:56:58 +00:00
div#cp-app-slide-modal {
2017-03-09 18:05:44 +00:00
display: none;
2017-06-16 13:11:32 +00:00
background-color: black;
color: white;
2017-03-09 18:05:44 +00:00
2018-02-27 16:38:29 +00:00
.cp-app-slide-isempty {
display: flex;
align-items: center;
justify-content: center;
img {
max-width: 100%;
max-height: 100%;
}
}
/* Navigation buttons */
2017-09-07 16:56:58 +00:00
.cp-app-slide-modal-button {
position: absolute;
cursor: pointer;
font-size: 30px;
opacity: 0.6;
display: none;
2017-03-17 17:39:39 +00:00
z-index: 9001;
}
.cp-app-slide-modal-button:hover {
opacity: 1;
display: block !important;
}
2017-09-07 16:56:58 +00:00
#cp-app-slide-modal-exit {
left: 20px;
top: 20px;
}
2017-09-07 16:56:58 +00:00
#cp-app-slide-modal-left {
left: 6vw;
bottom: 10vh;
}
2017-09-07 16:56:58 +00:00
#cp-app-slide-modal-right {
right: 6vw;
bottom: 10vh;
}
2017-09-07 16:56:58 +00:00
&.cp-app-slide-shown {
display: block;
position: fixed;
top: 0px;
left: 0px;
z-index: 1000000; // one order of magnitude higher than alertify
height: 100vh;
width: 100%;
}
2017-09-07 16:56:58 +00:00
#cp-app-slide-modal-content {
font-size: 20vh;
2017-03-17 17:39:39 +00:00
position: relative;
height: 100%;
overflow: visible;
white-space: nowrap;
2017-09-07 16:56:58 +00:00
.cp-app-slide-frame {
overflow: hidden;
display: flex;
flex-flow: column !important;
box-sizing: border-box;
border: 1px solid;
white-space: normal;
2017-03-09 18:05:44 +00:00
vertical-align: middle;
2017-03-09 18:05:44 +00:00
padding: 0.5em;
width: 100vw;
height: 56.25vw; // height:width ratio = 9/16 = .5625
max-height: 100vh;
max-width: 177.78vh; // 16/9 = 1.778
2017-03-09 18:05:44 +00:00
margin: auto;
2017-03-17 17:39:39 +00:00
}
2017-09-07 16:56:58 +00:00
.cp-app-slide-container {
display: inline-flex;
2017-03-17 17:39:39 +00:00
height: 100%; width: 100vw;
text-align: center;
vertical-align: top;
2017-03-09 18:05:44 +00:00
}
2017-09-07 16:56:58 +00:00
&.cp-app-slide-transition {
.cp-app-slide-container {
2017-06-16 13:11:32 +00:00
transition: margin-left 1s;
}
}
2017-07-04 12:24:07 +00:00
media-tag button {
max-height: none;
}
2017-03-09 18:05:44 +00:00
}
box-sizing: border-box;
z-index: 9001;
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100vh;
display: none;
background-color: @slide-default-bg;
}
2017-03-09 18:05:44 +00:00
/* Slide content */
2017-09-07 16:56:58 +00:00
div#cp-app-slide-modal #cp-app-slide-modal-content, #cp-app-slide-print {
.cp-app-slide-frame {
* {
.size(2.75);
* {
2017-07-11 15:39:26 +00:00
font-size: 1em;
line-height: 1em;
2017-03-09 18:05:44 +00:00
}
}
ul, ol {
ul, ol {
margin: 0;
}
2017-03-09 18:05:44 +00:00
}
h1 { .size(5); }
h2 { .size(4.2); }
h3 { .size(3.6); }
h4 { .size (3); }
h5 { .size(2.2); }
h6 { .size(1.6); }
h1, h2, h3, h4, h5, h6 {
color: inherit;
text-align: center;
padding-top: 0;
margin-bottom: 0.5em;
2017-03-09 18:05:44 +00:00
}
2017-08-02 09:03:06 +00:00
.markdown_preformatted-code;
ul, ol {
min-width: 50%;
max-width: 100%;
display: table;
margin: 0 auto;
padding-left: 0.3em;
2017-03-09 18:05:44 +00:00
}
2017-08-08 09:44:01 +00:00
// fixes image overflowing
media-tag {
height: 100%;
2017-10-12 14:45:43 +00:00
flex-flow: row;
justify-content: center;
2017-08-08 09:44:01 +00:00
& + * {
margin-top: 1rem;
}
2017-10-12 14:45:43 +00:00
img { flex: unset; }
2017-08-08 09:44:01 +00:00
}
img {
position: relative;
min-width: 1%;
margin: auto;
2017-03-30 10:00:46 +00:00
}
2017-09-07 16:56:58 +00:00
.cp-app-slide-number {
2017-03-17 16:49:03 +00:00
position: absolute;
right: 5vh;
bottom: 5vh;
.size(1);
}
2017-09-07 16:56:58 +00:00
.cp-app-slide-date {
2017-03-17 16:49:03 +00:00
position: absolute;
left: 5vh;
bottom: 5vh;
.size(1);
}
2017-09-07 16:56:58 +00:00
.cp-app-slide-title {
2017-03-17 16:49:03 +00:00
position: absolute;
bottom: 5vh;
left: 0px; right: 0px;
text-align: center;
.size(1);
}
2017-03-17 17:39:39 +00:00
text-align: left;
position: relative;
2017-03-09 18:05:44 +00:00
}
}
2017-06-15 09:04:55 +00:00
2017-09-07 16:56:58 +00:00
.cp-app-slide-frame * {
max-width: 100%;
max-height: 100%;
}
p {
2017-07-11 15:39:26 +00:00
padding: 0;
margin: 0;
min-height:0;
min-width:0;
}
pre.cp-slide-css-error {
color: white;
}