// // @file // Experimental paragraphs widget CSS. // @import "variables"; .paragraphs { // Paragraphs state information icons. &-icon { display: inline-block; height: $info-size; width: $info-size; background: no-repeat center; background-size: $info-icon-size $info-icon-size; $icons: view edit-info edit-disabled delete delete-disabled lock changed collapse warning error; @each $icon in $icons { &-#{$icon} { background-image: url('../icons/icon-#{$icon}.svg'); } } } } // Paragraphs button icon support for small screens. @media (max-width: map-get($grid-breakpoints, 'md')) { .button.paragraphs-icon-button { padding: 0; width: $action-size-big !important; height: $action-size-big; // We need important flag here to easily override many specific rules from // seven buttons.css. background-position: center !important; background-repeat: no-repeat !important; background-size: $action-icon-size $action-icon-size; border-radius: $action-border-radius; text-indent: -9999em; $icons: collapse edit; @each $icon in $icons { &-#{$icon}, &-#{$icon}:active, &-#{$icon}:hover, &-#{$icon}:focus { background-image: url('../icons/icon-#{$icon}.svg'); } &-#{$icon}:disabled, &-#{$icon}:disabled:active { background-image: url('../icons/icon-#{$icon}-disabled.svg'); } } } } .paragraph-type-info { display: flex; } .paragraphs-tabs-wrapper { .paragraphs-tabs { display: none; } } // We are using .js prefix here mainly because we want to apply this style rules // only for JS version of a widget. .js { .field--widget-paragraphs { th .paragraphs-actions { float: right; // Table th padding is 12px but for some weird reason here we need to do // -11px to return it back. margin-right: -11px; } .paragraphs-dropbutton-wrapper { // We are using inline-flex here so 'Add type' dropdown button is inline // and aligned 'to type' text. display: inline-flex; } .dropbutton-wrapper { // Override 600px breakpoint from core, needed again so 'to type' is in // the same line with add dropdown button. width: auto; // Reset some CSS that are coming from core. margin-right: 0; padding-right: 0; } // Reset some CSS that are coming from core. .dropbutton-widget { position: static; } .field-multiple-table { margin-bottom: 10px; } td { // stylelint-disable-line selector-no-type padding: 10px 0; } .field-multiple-drag { vertical-align: top; } .draggable .tabledrag-handle { margin-left: 0; } .tabledrag-handle .handle { height: 22px; } .delta-order { padding-right: 10px; text-align: right; } } .paragraph-type-top { display: grid; grid-template-columns: 100px auto 1fr auto; grid-template-rows: auto; grid-gap: $gutter-top $gutter-top; align-items: center; .paragraph-type-title { grid-column: 1 / 2; // PostCSS autoprefixer does not support -ms-grid-column and some other // attributes that we need. This support will not be improved so we need // to do it manually for IE. -ms-grid-column: 1; grid-row: 1 / span 1; } .paragraph-type-info { grid-column: 2 / 3; -ms-grid-column: 2; grid-row: 1 / span 1; } .paragraph-type-summary { grid-column: 1 / 5; -ms-grid-column: 1; -ms-grid-column-span: 5; grid-row: 2 / span 1; @media (min-width: map-get($grid-breakpoints, 'sm')) { grid-column: 3 / 4; -ms-grid-column: 3; -ms-grid-column-span: 1; grid-row: 1 / span 1; } } .paragraphs-actions { grid-column: 3 / 5; -ms-grid-column: 3; -ms-grid-column-span: 2; grid-row: 1 / span 1; justify-self: end; -ms-grid-column-align: end; @media (min-width: map-get($grid-breakpoints, 'sm')) { grid-column: 4 / 5; -ms-grid-column: 4; -ms-grid-column-span: 1; } } } .paragraphs-subform { margin-top: 5px; } .paragraphs-collapsed-description { position: relative; height: 1.538em; overflow: hidden; color: #777; word-break: break-all; // Fade out text element. &::after { display: block; position: absolute; top: 0; right: 0; width: 3em; background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #fff 100%); content: "\00a0"; } @at-root .draggable:hover .paragraphs-collapsed-description { &::after { background: linear-gradient(to right, rgba(247, 252, 255, 0) 0%, #f7fcff 100%); } } @at-root .drag-previous .paragraphs-collapsed-description { &::after { background: linear-gradient(to right, rgba(255, 255, 221, 0) 0%, #ffd 100%); } } @at-root tr:hover .paragraphs-collapsed-description { &::after { background: linear-gradient(to right, rgba(255, 255, 221, 0) 0%, #f7fcff 100%); } } } .paragraph-type { &-title { display: flex; flex-basis: 100px; min-width: 100px; } &-icon { padding-right: $gutter-top; height: $info-icon-size; width: $info-icon-size; } &-label { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } } @media (min-width: map-get($grid-breakpoints, 'sm')) { .paragraph-type-add-modal { width: 100%; padding: 10px 0; height: 30px; margin-top: -1.8em; margin-bottom: -0.2em; display: inline; } } .paragraph-type-add-modal-button { display: inline-block; margin: 0 auto; } .paragraph-type-add-modal-button:hover { color: #ffffff; background: #057ec7 none; } } .paragraph--view-mode--preview { padding-right: 1em; } .is-horizontal .paragraphs-tabs .tabs__tab { border-bottom: 0; }