@import (reference) '../../customize/src/less2/include/framework.less'; @import (reference) '../../customize/src/less2/include/tools.less'; @import (reference) '../../customize/src/less2/include/avatar.less'; @import (reference) '../../customize/src/less2/include/charts.less'; &.cp-app-form { @form_input-width: 400px; .framework_main( @bg-color: @colortheme_apps[form] ); @cp_form_bar_color: fade(@cryptpad_color_link, 75%); // Color for the response chart bars display: flex; flex-flow: column; font: @colortheme_app-font; color: @cryptpad_text_col; background-color: @cp_app-bg; .alert { font-size: 1rem; &.alert-info { color: @cryptpad_text_col !important; } } @palette0: @cp_kanban-color0; // Default bg color for header @form-colors: @cp_form-palette; .form-colors(@form-colors; @index) when (@index > 0){ .form-colors(@form-colors; (@index - 1)); @color: extract(@form-colors, @index); .cp-form-palette-color@{index}{ &.cp-form-palette { background-color: @color !important; } } &.cp-form-palette-color@{index}{ #cp-app-form-editor { background-color: fade(@color, 50%); } } } .form-colors(@form-colors; length(@form-colors)); @form-colors2: @cp_form-palette2; .checkmark-colors(@form-colors2; @index) when (@index > 0){ .checkmark-colors(@form-colors2; (@index - 1)); @color: extract(@form-colors2, @index); &.cp-form-palette-color@{index}{ .cp-form-block { .cp-radio input:checked ~ .cp-radio-mark, .cp-checkmark input:checked ~ .cp-checkmark-mark { background-color: @color !important; border-color: @color !important; } input, textarea { border-color: @color !important; } } .cp-form-block-question-text, .cp-form-block-question-number { color: @color !important; } .cp-form-type-sort:hover { color: @color !important; .cp-form-sort-order { border-color: @color !important; } } .cp-form-input-block { input { color: @color !important; } border-bottom-color: @color !important; } } } .checkmark-colors(@form-colors2; length(@form-colors2)); .cp-form-palette { &.cp-form-palette-nocolor { background-color: @palette0 !important; } } &.cp-form-palette-nocolor { background-color: @cp_app-bg !important; } div.alert.cp-burn-after-reading { margin: 10px !important; } & > .flatpickr-calendar { animation: none !important; -webkit-animation: none !important; } #cp-app-form-editor { flex: 1; display: flex; flex-flow: row; height: 100%; overflow: hidden; } &.cp-app-form-results { div.cp-form-creator-content, .cp-app-form-button-results { display: none !important; } } &:not(.cp-app-form-results) { div.cp-form-creator-results, .cp-app-form-button-creator { display: none !important; } .cp-form-block { .tools_unselectable(); } } &.cp-form-readonly { .cp-form-creator-inline-add { display: none; } .cp-form-creator-add-full { display: none !important; } .cp-form-edit-buttons-container button { display: none; } .cp-form-edit-save { display: none; } .cp-form-block { cursor: default !important; .cp-form-block-drag-handle { display: none !important; } } } #cp-toolbar .cp-toolbar-title-readonly { display: none; } #cp-app-form-container { display: flex; flex: 1; justify-content: center; min-width: 300px; div.timeline-container { width: 100%; height: 200px; } .cp-form-input-block { display: flex; } .cp-form-view-title { margin-bottom: 20px; } div.cp-form-view-footer { display: flex; align-items: center; justify-content: center; padding: 20px 20px 150px 20px; div.cp-form-view-logo { padding: 10px; font-size: 40px; font-family: "IBM Plex Mono"; .tools_unselectable(); color: @cryptpad_color_grey_500; cursor: pointer; img { max-height: 60px; margin: 0px 20px; } } } div.cp-form-creator-container { display: flex; flex: 1; justify-content: center; min-width: 300px; //flex-wrap: wrap; overflow: auto; @media screen and (max-width: 1000px) { flex-wrap: wrap; justify-content: flex-start; .cp-form-creator-control { width: 100% !important; .cp-form-creator-settings { display: flex; justify-content: space-between; flex-wrap: wrap; & > div { flex-basis: 33.333333%; padding-right: 20px; } } } } @media screen and (max-width: 600px) and (min-width: 400px) { .cp-form-creator-settings { & > div { flex-basis: 50% !important; } } } @media screen and (max-width: 400px) { .cp-form-creator-settings { & > div { flex-basis: 100% !important; } } } .cp-form-creator-settings { .cp-form-actions { margin-top: 5px; } & > div:not(:last-child) { margin-bottom: 20px; } .cp-forms-results-participant { display: flex; flex-flow: column; button { margin-bottom: 20px; } } .cp-form-color-container { & > div { display: flex; justify-content: space-between; margin-top: 5px; &:last-child { justify-content: space-evenly; } .cp-form-palette { display: inline-block; border-radius: 50%; height: 30px; width: 30px; text-align: center; line-height: 30px; color: @cp_kanban-fg; border: 1px solid fade(@cp_kanban-fg, 40%); cursor: pointer; } } } .cp-form-response-msg-container button { white-space: initial; line-height: 25px; padding: 5.5px 6px; } } div.cp-form-filler-container { width: 300px; min-width: 0; flex: 0 300 300px; } div.cp-form-creator-control { padding: 10px; margin-top: 10px; display: flex; flex-flow: column; width: 300px; .cp-form-creator-types { margin-top: 20px; display: flex; flex-flow: column; } } div.cp-form-creator-content { .cp-form-block-type { margin-top: -35px; &.editable { cursor: pointer; } .fa-caret-down { margin-left: 5px; } } .cp-form-conditional { .cp-form-conditional-hint { margin-bottom: 10px; } .cp-form-condition { display: flex; align-items: center; margin-bottom: 10px; flex-wrap: wrap; & > * { margin-right: 10px; } .cp-dropdown-container button { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } .cp-form-condition-rule { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid @cryptpad_text_col; } } div.cp-form-section-sortable { min-height: 300px; border: 2px dashed @cryptpad_text_col; padding: 20px; margin-top: 20px; background: @cp_app-bg; .cp-form-creator-add-inline { button[data-type="section"] { display: none; } } } } div.cp-form-creator-results { .cp-form-block { .cp-form-block-content { overflow-x: auto; } } .cp-form-creator-results-timeline { margin-bottom: 20px; table.cp-charts.column { overflow-x: initial; td { background-color: @cp_form_bar_color; border-color: @cp_form_bar_color; } } } } div.cp-form-creator-content, div.cp-form-creator-results { max-width: 1000px; min-width: 300px; margin-top: 10px; padding: 10px; display: flex; flex-flow: column; flex: 1 1 1000px; .cp-form-creator-add-inline { display: flex; flex-flow: row; align-items: center; margin-bottom: 20px; button { width: 50px; i { margin-right: 0; } } .cp-form-creator-inline-add { font-size: 25px; margin-right: 30px; .add-close { display: none; } &.displayed { .add-close { display: inline; } .add-open { display: none; } } } .cp-form-creator-control-inline { display: flex; justify-content: space-around; button:not(:last-child) { margin-right: 5px; } .cp-form-creator-types { .btn-secondary { background: transparent; &:hover, &:not(:disabled):active, &:focus { background-color: @cryptpad_color_brand_fadest; } } button { border: 0px; //padding-bottom: 3px; i { font-size: 35px; line-height: 35px; } } &:first-child { margin-right: 50px; } } } } .cp-form-creator-add-full { display: flex; flex-flow: column; margin: 20px 0px 0px 0px; padding-bottom: 100px; &> div:first-child { display: flex; height: 100%; align-items: center; padding-right: 10px; margin-bottom: 10px; i { color: @cryptpad_text_col; font-size: 30px; width: 50px; text-align: center; } } .cp-form-creator-control-inline { display: flex; flex-flow: column; justify-content: space-around; button:not(:last-child) { margin-right: 5px; } .cp-form-creator-types { .btn-secondary { background: transparent; &:hover, &:not(:disabled):active, &:focus { background-color: @cryptpad_color_brand_fadest; } } button { border: 0px; padding:5px; margin-right: 10px; i { font-size: 35px; line-height: 35px; } } &:first-child { margin-bottom: 20px; margin-right: 50px; } } } } .cp-form-send-container { text-align: center; margin: 50px auto 0px auto; padding-bottom: 100px; button { &:not(:last-child) { margin-right: 10px; } } .cp-form-invalid-warning { color: @cp_form-invalid; ul { list-style-type: disclosure-closed; margin-bottom: 5px; } li { text-align: left; a { color: @cryptpad_color_link; } } .alert-danger { font-size: 1rem; padding: 10px; } } .cp-form-anon-answer { text-align: center; margin: 20px 0 30px 0; .cp-form-anon-answer-input { margin-top: 20px; display: flex; white-space: nowrap; align-items: center; input { margin-left: 10px; } } .cp-form-anon-answer-registered { font-style: italic; margin-left: 10px; } } } .cp-form-page-container { display: flex; justify-content: center; margin: 10px 0; & > span { margin: 0 20px; width: 100px; display: inline-flex; align-items: center; justify-content: center; } button { display: flex; height: 38px; align-items: center; i { margin-right: 0; font-size: 25px; } } } .cp-form-block { background: @cp_form-bg1; padding: 10px; box-shadow: 0px 0px 15px @cp_shadow-color; &:not(:last-child) { margin-bottom: 20px; } .cp-form-disabled { .cp-form-poll-choice, .cp-form-type-sort { cursor: not-allowed !important; } } .cp-form-preview { color: @cp_sidebar-hint; margin-bottom: 10px; padding: 0; } .cp-form-block-drag-handle { display: flex; flex-flow: column; height: 25px; align-items: center; color: @cp_sidebar-hint; i { cursor: grab; &:first-child { height: 3px; margin-top: -10px; margin-bottom: 1px; } } } &.sortable-ghost { visibility: hidden; } &.sortable-drag { opacity: 0.9 !important; } .flatpickr-calendar.inline { box-shadow: unset; border: 1px solid @cryptpad_text_col; } .cp-form-block-question { margin-bottom: 5px; display: flex; .cp-form-block-question-number { font-weight: bold; margin-right: 10px; } .cp-form-block-question-text { flex: 1; } .cp-form-required-tag { background: fade(@cryptpad_text_col, 15%); padding: 5px; margin-top: -10px; margin-right: -10px; &.cp-is-empty { padding: 3px; border: 2px solid @cryptpad_color_red; color: @cp_form-invalid; } } } .cp-form-block-content { p { a { color: @cryptpad_color_link; } } .cp-form-required-radio { flex-direction: row; display: flex; margin-bottom: 20px; span { margin-right: 10px; &.cp-radio-mark { margin-right: 5px; } } } .cp-form-page-break-edit { font-size: 20px; text-align: center; padding: 10px; i { margin-right: 5px; } } .cp-form-edit-buttons-container { margin-top: 20px; display: flex; justify-content: space-between; } input:invalid { border: 2px solid @cryptpad_color_red; color: @cp_form-invalid; } media-tag { & > * { max-width: 100%; } } } .cp-form-input-block { //width: @form_input-width; padding-bottom: 10px; border-bottom: 2px solid @cp_sidebar-hint; margin-bottom: 10px; &:not(.editing) { input { background: transparent; border: none; padding: 0 !important; & ~ button:not(:disabled) { .cp-form-edit { display: inline; } .cp-form-save { display: none; } } } } input { flex: 1; min-width: 100px; padding: 0 10px !important; height: auto; font-size: 20px; } button { .cp-form-edit { display: none; } .cp-form-save { display: inline; } } .cp-form-block-drag { font-size: 22px; width: 20px; margin-left: 5px; text-align: center; line-height: 31px; } } &.editable { cursor: grab; .cp-form-edit-save { margin-top: 20px; button { margin-right: 10px; } } .cp-form-edit-type { margin-bottom: 10px; .cp-dropdown-container { margin-left: 10px; } } .cp-form-multiple-picker { margin: 10px 0px 0px 0px; button { margin: 10px 10px 0px 0px; } } } } .cp-form-edit-max-options { display: flex; align-items: center; margin-bottom: 10px; input { width: 100px; margin-left: 10px; } } .cp-form-edit-options-block { display: flex; flex-wrap: wrap; align-items: baseline; .CodeMirror { cursor: default; flex: 1; margin: auto; min-width: 80%; width: 80%; min-height: 200px; height: 200px; border: 1px solid @cp_forms-border; .CodeMirror-placeholder { color: #777; } } } .cp-form-edit-block { &.cp-no-sortable { .cp-form-handle { visibility: hidden; cursor: default; } } button.btn-secondary { margin-left: 30px; margin-bottom: 5px; } .cp-form-handle { display: flex; align-items: center; justify-content: center; width: 30px; color: @cp_sidebar-hint; i:first-child { margin-right: 1px; } } .cp-form-edit-block-input { margin-bottom: 5px; &.sortable-ghost { visibility: hidden; } &.sortable-drag { opacity: 0.9 !important; } display: flex; width: 400px; input { flex: 1; min-width: 100px; border-color: @cryptpad_text_col; border-right: 0px; } button { i { margin: 0 !important; } } } } } } div.cp-form-creator-answered { display: flex; align-items: center; justify-content: center; flex: 1; flex-flow: column; .cp-form-submit-actions { button:not(:last-child) { margin-right: 10px; } } .cp-form-view-logo { margin-top: 100px; padding-bottom: 20px; } } div.cp-form-creator-results { display: flex; flex-flow: column; position: relative; #cp-form-response-msg { background: @cp_form-bg1; margin-bottom: 20px; padding: 10px; p:last-child { margin-bottom: 0; } * { max-width: 100%; } } .cp-form-creator-results-controls { margin-bottom: 20px; //background: @cp_form-bg1; //padding: 10px; button { margin-right: 10px; } } .cp-form-creator-results-content { padding-bottom: 100px; .cp-form-block { background: @cp_form-bg1; padding: 10px; } } .cp-form-block-question { margin-bottom: 5px; } .cp-form-results-type-text { max-height: 300px; overflow: auto; .cp-form-results-type-text-data { padding: 5px 10px; background: @cp_form-bg2; &:not(:last-child) { margin-bottom: 1px; } } } .cp-form-results-type-textarea-data { white-space: pre-wrap; padding: 5px 10px; background: @cp_form-bg2; &:not(:last-child) { margin-bottom: 1px; } } .cp-form-results-cell() { border: 1px solid @cp_form-border; display: table-cell; padding: 5px 10px; background: @cp_form-bg2; } .cp-form-results-type-multiradio-data { .cp-mr-q { font-weight: bold; padding: 5px 10px; .cp-form-results-cell(); background: transparent; } &:not(:first-child) { .cp-mr-q { margin-top: 15px; } } } .cp-charts { .cp-charts-row { .cp-grid-sub-question { background: transparent; } .cp-value { min-width: 200px; max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .cp-bar-container { .cp-bar { background-color: @cp_form_bar_color; } } } } .cp-form-results-contained { max-height: 350px; // enough for 10 table entries overflow: auto; } .cp-form-individual { background: @cp_form-bg1; padding: 10px; margin-bottom: 20px; & > *:not(:last-child) { margin-right: 10px; } .cp-form-warning { color: @cp-limit-bar-warning; } .cp-form-friend { color: @cp_profile-hint; .fa { margin-right: 5px; } } a, a:visited { color: @cryptpad_color_link; } } } .cp-form-block-type { float: right; padding: 5px; margin-top: -10px; margin-right: -10px; i { margin-right: 5px; } background: fade(@cryptpad_text_col, 10%); } } .cp-form-type-radio, .cp-form-type-checkbox { display: flex; flex-flow: column; align-items: baseline; .cp-radio { display: inline-flex; } } .cp-form-type-multiradio { display: table; & > * { display: table-row; & > * { display: table-cell; padding: 5px 20px; vertical-align: middle; &:first-child { min-width: 200px; } .cp-radio-mark { margin: auto; } } } } .cp-form-sort-hint, .cp-poll-hint { margin-bottom: 10px; } .cp-form-type-sort { cursor: grab; padding: 5px; .cp-form-handle { margin-right: 5px; } .cp-form-sort-order { border: 1px solid @cryptpad_text_col; padding: 0 5px; margin-right: 5px; } &:hover { background-color: @cp_app-bg; color: @cryptpad_color_link; .cp-form-sort-order { border-color: @cryptpad_color_link; } } } .cp-form-type-poll-container { overflow: auto; .cp-form-poll-hint { margin-bottom: 10px; } } .cp-form-type-poll { display: inline-flex; flex-flow: column; & > div { display: flex; } .cp-poll-total { display: flex; } .cp-form-poll-body { flex-flow: column; max-height: 225px; overflow: auto; & > div { display: flex; } } .cp-poll-cell { width: 100px; height: 35px; display: inline-flex; align-items: center; justify-content: center; margin-top:5px; margin-left:5px; &:first-child { width: 200px; } button { width: 100%; border-top: 0px; border-left: 0px; background-color: @cp_form-bg1; .fa{ margin-left:10px; transform: rotate(-45deg); } } .cp-form-total-yes { margin-right: 5px; } &.cp-poll-best { font-weight: bold; } } .cp-poll-answer-name { padding: 0 5px; display: flex; :last-child { flex: 1; min-width: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .cp-avatar { .avatar_main(30px); margin-right: 10px; } &.cp-clickable { cursor: pointer; &:hover { color: @cryptpad_color_link; &::after { font-family: FontAwesome; content: "\00a0\f06e"; } } } } .cp-poll-time-day { flex-basis: 100px; border-bottom: 1px solid @cryptpad_text_col; } &:not(.cp-form-poll-switch) { & > div { &:last-child { margin-bottom: 5px; } } .cp-form-poll-body { &::-webkit-scrollbar { display: none; } -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ } .cp-form-poll-option, .cp-poll-time-day { flex-flow: column; text-align: center; .cp-form-weekday-separator { display: none; } } .cp-poll-time-day { height: 50px; } } &.cp-form-poll-switch { display: flex; flex-flow: row; .cp-avatar { .avatar_main(20px); } & > div { flex-flow: column; &.cp-form-poll-body { flex-flow: row; max-width: 550px; max-height: unset; scroll-snap-type: x mandatory; & > div { flex-flow: column; } } } .cp-poll-total { flex-flow: column; } .cp-poll-cell:not(.cp-poll-switch) { &:first-child { width: 100px; } } .cp-form-poll-option, .cp-poll-switch { width: 200px; .cp-form-weekday-separator { margin-right: 5px; margin-left: 5px; } } .cp-poll-time-day { flex-basis: 40px; border-right: none; border-right: 1px solid @cryptpad_text_col; border-bottom: 0px; flex-flow: column; text-align: center; .cp-form-weekday-separator { display: none; } } } .cp-form-poll-choice, .cp-form-poll-answer { .fa, .cptools { display: none; } color: @cp_form-poll-color; font-size: 25px; &[data-value="0"] { background: @cp_form-poll-no; .cp-no { display: inline; } } &[data-value="1"] { background: @cp_form-poll-yes; .cp-yes { display: inline; } } &[data-value="2"] { background: @cp_form-poll-maybe; .cp-maybe { display: inline; } } } div.cp-form-poll-choice { cursor: pointer; padding: 5px; //margin: 10px 0px 0px 10px; //border: 1px solid @cryptpad_text_col; color: @cryptpad_text_col; } div.cp-form-poll-answer { color: @cp_form-poll-yes-color; } } .cp-form-response-modal { .CodeMirror { border: 1px solid @cp_forms-border; } } .charts_main(); }