cryptpad/www/form/app-form.less
2021-11-09 15:11:43 +00:00

1144 lines
38 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@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 {
visibility: hidden;
}
}
}
#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;
display: inline-flex;
&: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;
display: inline-flex;
&: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-radio {
margin-top: 10px;
}
.cp-form-required-radio.cp-radio-required {
color: @cp_form-invalid;
}
.cp-form-anon-answer-input {
display: flex;
white-space: nowrap;
align-items: center;
input {
margin-left: 10px;
display: inline-block;
}
}
.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 {
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-text-table {
.cp-charts-row {
.cp-value {
white-space: normal;
}
}
}
}
.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();
}