/* * SPDX-FileCopyrightText: 2023 XWiki CryptPad Team and contributors * * SPDX-License-Identifier: AGPL-3.0-or-later */ @import (reference) "../../customize/src/less2/include/markdown.less"; @import (reference) "../../customize/src/less2/include/mediatag.less"; @import (reference) "../../customize/src/less2/include/framework.less"; &.cp-app-slide { .mediatag_base(); .framework_main( @bg-color: @colortheme_apps[slide] ); @slide-default-bg: @cp_app-bg; // body font-size: unset; display: flex; flex-flow: column; .size (@n) { // font-size: @n * 1vmin; // line-height: @n * 1.1vmin; font-size: @n * 10%; // line-height: @n * 11%; line-height: 110%; } 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; height: 100%; min-height: 100%; width: 50%; min-width: 20%; max-width: 80%; overflow: hidden; max-width: 100%; flex: 1; } .CodeMirror { flex: 1; width: 100%; font-size: initial; } .CodeMirror-focused .cm-matchhighlight { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==); background-position: bottom; background-repeat: repeat-x; } #cp-app-slide-colorpicker { display: block; } #cme_toolbox { z-index: 10000; } #cp-app-slide-editor { flex: 1; display: flex; flex-flow: row; height: 100%; overflow: hidden; .CodeMirror { resize: none; } } .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; } } } } .cp-app-slide-preview { .cp-app-slide-viewer { width: 50vw; overflow: hidden; div#cp-app-slide-modal:not(.cp-app-slide-shown) { position: relative; top: auto; left: auto; width: auto; display: block; height: 100%; #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)" !important; max-width: ~"calc(16 / 9 * (100vh - 96px))"; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; } } } .cp-app-slide-container { width: 100%; } .cp-app-slide-frame { width: 50vw; height: 28.125vw; // height:width ratio = 9/16 = .5625 max-height: ~"calc(100vh - 96px)"; max-width: ~"calc(16 / 9 * (100vh - 96px))"; } } #cp-app-slide-modal-exit { visibility: hidden; } } } .CodeMirror { flex: 1; } } @media (max-width: @browser_media-medium-screen) { #cp-app-slide-editor { #cp-app-slide-editor-container { .CodeMirror-sizer > div { padding-bottom: 100px; } } } } /* Slide position (print mode) */ @ratio:0.9; @media print { #cp-app-slide-editor-container { display: none; } #cp-app-slide-print { .cp-app-slide-frame { pre.mermaid > svg { height: 100%; width: 100%; } } } } #cp-app-slide-print { position: relative; display: none; font-size: @ratio*11.25vw; .cp-app-slide-frame { display: flex !important; flex-flow: column; padding: 0.5em; margin: auto; border: 1px solid @cp_slide-fg; height: @ratio*56.25vw; width: @ratio*100vw; page-break-after: always; position: relative; box-sizing: border-box; overflow: hidden; li { min-width: @ratio*50vw; } h1 { padding-top: 0; } } .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; } } } .cp-app-slide-container { width: 90vw; height: 100vh; margin: 0vh 5vw !important; display: flex; &:last-child { height: ~"calc(100vh - 2px)"; } } } /* Slide position (present mode) */ div#cp-app-slide-modal { display: none; background-color: @slide-default-bg; .cp-app-slide-isempty { display: flex; align-items: center; justify-content: center; img { max-width: 100%; max-height: 100%; opacity: 0.2; } } /* Navigation buttons */ .cp-app-slide-modal-button { position: absolute; cursor: pointer; font-size: 30px; opacity: 0.6; display: none; z-index: 9001; } .cp-app-slide-modal-button:hover { opacity: 1; display: block !important; } #cp-app-slide-modal-exit { left: 20px; top: 20px; } #cp-app-slide-modal-left { left: 6vw; bottom: 10vh; } #cp-app-slide-modal-right { right: 6vw; bottom: 10vh; } &.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%; } #cp-app-slide-modal-content { font-size: 20vh; position: relative; height: 100%; overflow: visible; white-space: nowrap; .cp-app-slide-frame { overflow: hidden; display: flex; flex-flow: column !important; box-sizing: border-box; border: 1px solid; white-space: normal; vertical-align: middle; 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 margin: auto; } .cp-app-slide-container { display: inline-flex; height: 100%; width: 100vw; text-align: center; vertical-align: top; } &.cp-app-slide-transition { .cp-app-slide-container { transition: margin-left 1s; } } media-tag button { max-height: none; } } box-sizing: border-box; z-index: 9001; position: fixed; top: 0px; left: 0px; width: 100%; height: 100vh; display: none; } /* Slide content */ div#cp-app-slide-modal #cp-app-slide-modal-content, #cp-app-slide-print { .cp-app-slide-frame { * { .size(2.75); * { font-size: 1em; line-height: 1em; } } svg { * { max-width: unset; max-height: unset; line-height: unset; font-size: 87.5%; } } ul, ol { ul, ol { margin: 0; } } 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; } .markdown_main(); .markdown_cryptpad(); .markdown_preformatted-code; .markdown_gfm-table(); ul, ol { min-width: 50%; max-width: 100%; display: table; margin: 0 auto; padding-left: 0.3em; } // fixes image overflowing media-tag { height: 100%; flex-flow: row; justify-content: center; & + * { margin-top: 1rem; } img { flex: unset; } } img { position: relative; min-width: 1%; margin: auto; } .cp-app-slide-number { position: absolute; right: 5vh; bottom: 5vh; .size(1); } .cp-app-slide-date { position: absolute; left: 5vh; bottom: 5vh; .size(1); } .cp-app-slide-title { position: absolute; bottom: 5vh; left: 0px; right: 0px; text-align: center; .size(1); } text-align: left; position: relative; } } .cp-app-slide-frame * { max-width: 100%; max-height: 100%; } p { padding: 0; margin: 0; min-height:0; min-width:0; } pre.cp-slide-css-error { background: @cp_slide-css-error; color: @cp_slide-fg; margin: 5px 0px; } }