silverstripe-framework/admin/scss/_style.scss
Sam Minnee 3ee8f505b7 MINORE: Remove training whitespace.
The main benefit of this is so that authors who make use of
.editorconfig don't end up with whitespace changes in their PRs.

Spaces vs. tabs has been left alone, although that could do with a
tidy-up in SS4 after the switch to PSR-1/2.

The command used was this:

for match in '*.ss' '*.css' '*.scss' '*.html' '*.yml' '*.php' '*.js' '*.csv' '*.inc' '*.php5'; do
	find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" -exec sed -E -i '' 's/[[:space:]]+$//' {} \+
	find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" | xargs perl -pi -e 's/ +$//'
done
2016-01-07 10:15:54 +13:00

2181 lines
41 KiB
SCSS

/**
* This file defines most styles of the CMS: Colors, fonts, backgrounds,
* alignments, dimensions.
*
* Use SCSS variable definitions in screen.css to avoid repeating styles
* like background colours or padding dimensions. See themes/_default.scss
* to get started.
*
* To avoid this file getting too large and complicated, it is encouraged to
* create new SCSS files for larger components like the CMS menu or tree
* (see _tree.scss and _menu.scss).
*/
@import "compass";
@import "compass/css3";
@import "compass/utilities";
/** ----------------------------------------------------
* Core Styles.
* ---------------------------------------------------- */
html,body {
width: 100%;
height: 100%;
/* Removes RHS whitespace on iPad */
overflow-x: hidden;
}
body.cms {
overflow: hidden;
}
.cms {
a {
color: $color-text-blue-link;
text-decoration: none;
&:hover,
&:focus {
text-decoration: underline;
}
}
body .ui-widget {
font-family: $font-family;
font-size: $font-base-size;
}
strong {
font-weight: bold;
}
}
/** --------------------------------------------
* Helpers
* -------------------------------------------- */
.hide {
display: none;
}
.cms-helper-hide-actions {
.Actions {
@extend .hide;
}
}
/** --------------------------------------------
* Panels Styles
* -------------------------------------------- */
.cms-container {
height: 100%;
/*background: $tab-panel-texture-background;*/
background: $tab-panel-texture-color;
}
.cms-preview,
.cms-menu,
.cms-content,
.cms-content-header,
/**
* DEPRECATED:
* .cms-content-tools will be removed in 4.0
* Use .cms-content-filters instead.
*/
.cms-content-tools,
.cms-content-fields,
.cms-edit-form,
.cms-preview,
.cms-preview iframe,
.cms-preview-controls
{
@include inline-block;
}
.cms-content-header {
padding-left: $grid-x * 2;
z-index: 60;
min-height: 52px;
background: {
image: url(../images/textures/cms_content_header.png);
repeat: repeat;
position: left bottom;
color: $color-darker-bg;
}
a {
color: $color-text-blue-link;
}
.backlink {
span.btn-icon-back {
height:16px;
}
}
h2 {
font-size: $font-base-size + 2;
font-weight: bold;
margin: 0;
margin-bottom: $grid-x;
* {
vertical-align: middle;
}
}
.cms-content-header-info {
float:left;
padding-top: $grid-y - 1;
& * {
display: inline-block; // align back button and breadcrumbs
}
.section-icon {
opacity: 0.2;
margin-right: 4px;
background-repeat: no-repeat;
}
.cms_backlink {
vertical-align: middle;
}
}
// Reset to default styles
.ss-ui-button {
line-height: $grid-x*3;
.ui-button-text {
line-height: 1.4;
}
}
}
.cms-edit-form.CMSMain {
padding: 0;
}
// Hide threeColumnCompressor column.
.cms-container {
.column-hidden {
display: none;
}
}
.cms-content-header-top {
@include inline-block;
width: 100%;
}
// We have a faux three column layout when displaying Page content in the CMS.
.has-panel {
.cms-content-header.north {
padding-left: $grid-x*2;
&.collapsed {
.cms-content-header-info {
width: 24px;
text-align: right;
padding-left: 12px;
padding-right: 8px;
}
.view-controls,
.section-label {
display: none;
}
.cms-content-header-nav {
margin-left: 31px;
}
}
}
.cms-content-header-info {
position: absolute;
top: 0;
left: 0;
bottom: 1px;
width: $grid-x * 34;
margin-left: -$grid-x*.5;
padding-bottom: $grid-y;
padding-left: $grid-x * 2;
padding-right: $grid-x*2;
border-right: 1px solid $color-separator;
}
.cms-content-header-nav {
margin-left: 280px;
}
.section-heading {
margin-top: 8px;
padding-left: 4px;
}
.section-icon {
vertical-align: middle;
}
.section-label {
vertical-align: middle;
font-size: 1.2em;
font-weight: normal;
}
.breadcrumbs-wrapper {
float: left;
padding-top: $grid-y - 1;
padding-left: $grid-x*2.5;
}
.cms-content-header-tabs {
margin-top: $grid-y;
}
.view-controls {
float: right;
margin-top: 4px;
.icon-button-group {
.icon-button {
padding: 6px 8px;
height: 14px;
}
}
}
.cms-content-tools {
.cms-panel-content {
padding-top: 0;
overflow-x: hidden;
}
}
}
#page-title-heading {
line-height: 1.2em;
}
/** ------------------------------------------------------------------
* CMS Breadcrumbs
* ----------------------------------------------------------------- */
.breadcrumbs-wrapper {
.crumb,
.sep {
font-size: .8em;
line-height: 1.2em;
font-weight: normal;
}
.crumb {
&.last {
display: block;
padding: 8px 0;
font-size: 1.2em;
}
}
.sep {
+ .crumb.last {
padding-top: 0;
padding-bottom: 0;
}
}
}
/** ------------------------------------------------------------------
* Filters available in the top bar.
* This is a togglable element that displays a form
* used for filtering content.
* ----------------------------------------------------------------- */
.cms-content-filters {
display: none;
width: 100%;
margin: 0 0 0 -16px;
padding: 16px;
background-color: #dddfe1;
.cms-search-form {
margin-bottom: 0;
}
}
.cms-tabset-nav-primary {
@include inline-block;
vertical-align: middle;
}
/** ------------------------------------------------------------------
* Buttons that use font icons.
* There are !important rules here because we need to override some Tab styling.
* It's tidier to have some !important rules here than have the Tab styles
* littered with load of context specific rules for icon-buttons.
* Icon buttons styles should always take presedence over Tab styles.
* Tabs should be refactored to use weaker selectors.
* ----------------------------------------------------------------- */
.cms {
a.icon-button,
button.ss-ui-button.icon-button {
vertical-align: middle;
margin: 0 2px 0 0;
padding: 5px 8px;
font-size: 14px;
text-indent: 0;
text-shadow: none;
line-height: 1em;
color: $color-text;
background-color: transparent;
background-image: none;
border: 0;
&:hover,
&:active,
&:focus {
border: 0;
box-shadow: none;
background-image: none;
text-decoration: none;
}
&:hover {
background-color: #d4dbe1;
}
&.active,
&:active {
background-color: #d4dbe1;
box-shadow: inset 0 0 3px rgba(191, 194, 196, .9);
}
&.font-icon-search {
padding: 5px 6px;
&:before {
font-size: 18px;
margin-left: 1px;
margin-right: 0;
}
}
.ui-button-text {
display: none;
}
.ModelAdmin & {
margin-top: -11px;
}
}
}
// Context specific overrides for Tabs.
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-active a.icon-button.cms-panel-link,
.ui-tabs.ui-tabs-nav li.cms-tabset-icon.ui-corner-top.ui-state-default a.icon-button.cms-panel-link {
padding: 5px 8px 6px;
line-height: 1em;
background-color: transparent;
background-image: none;
border: 0;
&:before {
vertical-align: middle;
}
}
.icon-button-group {
display: inline-block;
vertical-align: middle;
border: 1px solid #CDCCD0;
border-radius: 4px;
a.icon-button,
button.ss-ui-button.icon-button {
margin-right: 0;
line-height: 13px;
border-radius: 0;
&:first-child {
border-radius: 3px 0 0 3px;
}
&:last-child {
border-radius: 0 3px 3px 0;
}
&:hover {
background: $tab-panel-texture-color;
}
&.active:hover {
background: #d4dbe1;
}
+ a.icon-button,
+ button.ss-ui-button.icon-button {
border-left: 1px solid #CDCCD0;
}
}
// Context specific overrides for Tabs.
.ui-tabs.ui-tabs-nav {
border-left: 0 !important;
padding-right: 0 !important;
margin-bottom: 0;
overflow: hidden;
.cms-tabset-icon.ui-state-default {
background-color: transparent;
background-image: none;
margin: 0;
padding: 0;
border-left: 0;
border-right: 0;
@include box-shadow(none);
+ .cms-tabset-icon.ui-state-default {
border-left: 1px solid #CDCCD0;
}
&:hover {
background: $tab-panel-texture-color;
}
&.ui-state-active:hover {
background: #d4dbe1;
}
}
.cms-tabset-icon.ui-state-active {
background-color: #d4dbe1;
box-shadow: inset 0 0 3px rgba(191, 194, 196, .9);
}
}
.cms-content-header-tabs & {
overflow: hidden;
}
}
/** --------------------------------------------
* Tabs
* -------------------------------------------- */
.ui-tabs {
padding: 0;
background: none;
.ui-tabs {
position: static;
}
.ui-tabs-panel {
padding: $grid-y*1.5 $grid-x*2;
background: transparent; // default it's white
border: 0; // suppress default borders
&.cms-edit-form {
padding: 0;
}
}
.ui-widget-header {
border: 0;
background: none;
}
.ui-tabs-nav {
float: right;
margin: $grid-x*2 0 -1px 0;
padding: 0 $grid-x*2 0 0;
border-bottom: 0;
~ .ui-tabs-panel {
clear: both;
}
li {
top: 0;
float: left;
margin-top: 0;
a {
@include inline-block;
float: none;
font-weight: normal;
color: $color-text;
line-height: $grid-y * 4;
padding: 0 $grid-x*1.5 0;
&.icon-button {
@extend a.icon-button;
}
}
&:last-child {
// correctly right-align last tab
margin-right: 0;
}
}
.ui-state-default {
border: 0;
background: transparent;
a {
line-height: 28px;
padding-top: 12px;
padding-bottom: 8px;
color: lighten($color-text, 10%);
&:hover {
color: $color-text;
}
}
}
.ui-state-active {
padding-bottom: 1px;
background-color: transparent;
cursor: text;
a {
border-bottom: 4px solid #66727d;
padding-left: 0;
padding-right: 0;
margin: 0 12px 0;
color: $color-text;
}
}
&.ui-state-active {
border-color: $color-medium-separator;
}
li.cms-tabset-icon.ui-corner-top {
text-indent:-9999em;
a {
display: block;
padding-left: 40px; // icon width
padding-right: 0;
margin: 0;
}
&.list a {background: sprite($sprites64, tab-list) no-repeat;}
&.tree a {background: sprite($sprites64, tab-tree) no-repeat;}
&.gallery a {background: sprite($sprites64, tab-gallery) no-repeat;}
&.edit a {background: sprite($sprites64, tab-edit) no-repeat;}
&.search a {background: sprite($sprites64, tab-search) no-repeat;}
&.list.ui-state-active a {background: sprite($sprites64, tab-list-hover) no-repeat;}
&.tree.ui-state-active a {background: sprite($sprites64, tab-tree-hover) no-repeat;}
&.gallery.ui-state-active a {background: sprite($sprites64, tab-gallery-hover) no-repeat;}
&.edit.ui-state-active a {background: sprite($sprites64, tab-edit-hover) no-repeat;}
&.search.ui-state-active a {background: sprite($sprites64, tab-search-hover) no-repeat;}
}
}
.cms-panel-padded {
.ui-tabs-panel {
padding: 0; // Avoid double padding with parent
.ui-tabs-panel {
padding: $grid-x 0 0 0;
}
}
.Actions {
padding: 0; // Avoid double padding with parent
}
}
&.ss-tabset-tabshidden .ui-tabs-panel {
border-top: none;
}
}
/**
* Primary styles which sit on top of screen, with different tab colors.
* TODO Only use one "primary" selector and fix HTMLEditorField TabSet addExtraClass()
*/
.ui-tabs.cms-tabset-primary .ui-tabs-nav,
.ui-tabs .ui-tabs-nav.cms-tabset-nav-primary,
.ui-tabs .cms-content-header-tabs .ui-tabs-nav {
margin-top: 0;
float: none; // parent container is already right floated
li {
margin-right: 0; // tabs are directly adjacent
margin-top: 0;
a {
margin: 0;
// overlap divider line below
line-height: 40px - 1px;
padding-top: 0;
padding-bottom: 0;
}
}
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr, .ui-corner-tl {
border-radius:0;
}
.ui-state-default {
background: none;
border-top: none;
border: none;
}
.ui-state-active {
@include box-shadow(none);
background: transparent;
border-top: none;
border: none;
z-index:2;
a {
border-bottom: 4px solid #66727d;
padding: 0;
margin: 0 12px 0;
}
}
}
.cms-content-header-tabs {
float: right;
margin-top: 8px;
&.icon-button-group-tabs {
margin-top: 12px;
margin-bottom: 13px;
}
.icon-button-group {
margin-right: 16px;
}
}
.cms-content-fields .ui-tabs-nav {
float: none;
padding: 0;
border-bottom: 1px solid $color-button-generic-border;
margin: 0 16px 0;
li {
margin-bottom: -1px;
&.first a {
margin-left: 0;
padding-left: 0;
}
}
}
/** -------------------------------------------------------
* Loading Interface
* ------------------------------------------------------- */
.cms-content-loading-overlay {
position: absolute; // z-index doesn't apply properly without that
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9998;
// Further styling by .ui-widget-overlay-light which is usually applied at the same time
}
.cms-content-loading-spinner {
position: absolute; // z-index doesn't apply properly without that
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999;
background: url(../images/spinner.gif) no-repeat 50% 50%;
}
/** -----------------------------------------------
* Loading Screen
* ------------------------------------------------ */
.ss-loading-screen {
width: 100%;
height: 100%;
overflow: hidden;
position: absolute;
z-index: 100000;
// TODO Convert to compass gradient include
background: #fff;
background: -moz-radial-gradient(50% 50% 180deg, circle cover, #FFFFFF, #EFEFEF, #C7C7C7 100%);
background: -webkit-gradient(radial, 50% 50%, 350, 50% 50%, 0, from(#E3E3E3), to(white));
.loading-logo {
width: 100%;
height: 100%;
overflow: hidden;
position: absolute;
background: transparent url(../images/silverstripe_logo.png) no-repeat 50% 50%;
}
p {
width: 100%;
text-align: center;
position: absolute;
bottom: 80px;
z-index: 100001;
span.notice {
width: 300px;
font-size: 14px;
padding: 10px 20px;
color: #dc7f00;
border: none;
background: none;
@include border-radius(5px);
display: inline-block;
zoom: 1;
*display: inline;
}
}
.loading-animation {
display: none;
position: absolute;
left: 50%;
margin-left: -21.5px; // Half of spinner size
top: 80%;
}
}
/** --------------------------------------------
* Actions
* -------------------------------------------- */
.cms-content-actions, .cms-preview-controls {
margin: 0;
padding: $grid-y*1.5 $grid-x*2;
z-index: 999;
border-top: 1px solid $color-light-separator;
@include box-shadow(
1px 0 0 $tab-panel-texture-color,
$box-shadow-shine 0 1px 0px inset,
$color-shadow-light 0 0 1px);
height: 28px;
background-color: $tab-panel-texture-color;
}
/** --------------------------------------------
* Messages
* -------------------------------------------- */
.message { // White
display: block;
clear: both;
margin: 0 0 $grid-y;
padding: $grid-y + $grid-x/4 $grid-x + $grid-x/2;
font-weight: normal;
border: 1px #ccc solid;
background: #fff; // for browsers that don't understand rgba
background: rgba(#fff,0.5);
text-shadow: none;
@include border-radius(3px 3px 3px 3px);
&.notice {
background-color: lighten($color-notice,22%); // Blue
border-color: $color-notice;
}
&.warning { // Yellow
background-color: lighten($color-warning,47%);
border-color: $color-warning;
}
&.error, &.bad, &.required, &.validation { // Red
background-color: lighten($color-error,24%);
border-color: $color-error;
}
&.good { // Green
background-color: lighten($color-good,40%);
border-color: $color-good;
}
p {
margin: 0;
}
}
.cms-edit-form {
.message {
margin: $grid-x*2; // TODO Remove double padding when adjacent to a padded tabs panel
}
.ui-tabs-panel {
.message {
margin: $grid-x*2 0; // gets padding from tab panel
}
}
}
.notice-item {
@include border-radius(3px);
font-family: inherit;
font-size: inherit;
padding: 6px 24px 8px 10px;
word-wrap: break-word;
min-height: 60px;
height: auto;
border: 0;
border-left: 3px solid;
color: #666;
left: 300px;
background: #fff;
&.success,
&.good,
&.green {
border-color: $color-good;
}
&.notice,
&.info,
&.blue {
border-color: $color-notice;
}
&.warning,
&.caution,
&.yellow {
border-color: $color-warning;
}
&.bad,
&.error,
&.red {
border-color: $color-error;
}
p {
margin-bottom: 0;
}
}
.notice-item-close {
font-weight: normal;
width: 12px;
height: 16px;
color: #555;
font-size: 16px;
overflow: hidden;
top: 4px;
right: 4px;
padding: 2px;
opacity: .8;
&::before {
content: 'x';
}
&:hover {
opacity: 1;
}
}
/** --------------------------------------------
* Page icons
* -------------------------------------------- */
.page-icon, a .jstree-pageicon {
display: block;
width: 16px;
height: 16px;
background: transparent url(../images/sitetree_ss_pageclass_icons_default.png) no-repeat;
}
.page-icon {
&.class-HomePage {
background-position: 0 -48px;
}
&.class-RedirectorPage {
background-position: 0 -16px;
}
&.class-VirtualPage {
background-position: 0 -32px;
}
&.class-ErrorPage {
background-position: 0 -112px;
}
}
/** --------------------------------------------
* "Add page" dialog
* -------------------------------------------- */
.cms-page-add-form-dialog {
display: none;
}
.cms-add-form {
.step-label {
opacity:0.9;
.flyout {
height:17px; //centres number within the grey arrow
padding-top:5px;
}
.title {
padding-top:5px; //aligns label with point of arrow
font-weight:bold; //to match pagetype label
@include text-shadow(1px 1px 0 $color-text-shadow);
}
}
ul.SelectionGroup {
padding-left:28px;
overflow: visible;
@include legacy-pie-clearfix;
}
.parent-mode {
padding: $grid-x;
overflow: auto;
}
}
#PageType {
ul {
padding-left: 20px;
li {
float: none;
width: 100%;
padding: 9px 0 9px 15px;
overflow: hidden;
border-bottom-width: 2px;
border-bottom: 2px groove lighten($color-shadow-light, 95%);
-webkit-border-image: url(../images/textures/bg_fieldset_elements_border.png) 2 stretch stretch;
border-image: url(../images/textures/bg_fieldset_elements_border.png) 2 stretch stretch;
&:last-child {
border-bottom: none;
}
&:hover, &.selected {
background-color: $color-highlight-opacity;
}
&.disabled {
color: $color-text-disabled;
@include opacity(0.5);
&:hover {
background: none;
}
}
input {
margin: inherit;
}
label {
padding-left: 0;
padding-bottom: 0;
}
input, label, .page-icon, .title {
float: left;
line-height: 1.3em;
}
.page-icon {
margin: 0 4px;
}
.title {
width: 120px;
font-weight: bold;
padding-right: 10px;
}
.description {
font-style: italic;
// Undo some generic styles from tooltips
display: inline;
clear: none;
margin: 0;
}
}
}
}
/** --------------------------------------------
* Content toolbar
* -------------------------------------------- */
.cms-content-toolbar {
min-height: 29px;
display: block;
margin: $grid-y*1.5 0 0;
padding-bottom: 0;
@include legacy-pie-clearfix();
border-bottom: 0;
box-shadow: none;
.cms-tree-view-modes {
float:right;
padding-top:$grid-y - 3;
* {
display: inline-block;
label {
color:$color-text-blue-link;
}
}
}
.cms-actions-tools-row {
clear: both;
}
.tool-action {
display: none;
}
}
/**
* DEPRECATED:
* .cms-content-tools will be removed in 4.0
* Use .cms-content-filters instead.
*
* Content Tools is the sidebar on the left of the main content
* panel
*/
.cms-content-tools {
background: $tab-panel-texture-color;
width: $grid-x * 36;
overflow-y: auto;
overflow-x: hidden;
z-index: 70;
border-right: 1px solid $color-separator;
@include box-shadow($box-shadow-shine -1px 0 0 inset, 0 0 1px $color-shadow-light);
float: left;
position: relative;
&.filter{
padding:0 !important;
}
.cms-panel-header {
clear: both;
margin: 10px 0 $grid-y - 1;
padding-bottom: 2px;
line-height: $grid-y * 3;
@include doubleborder(bottom, $color-light-separator, $box-shadow-shine);
}
.cms-panel-content {
width: $grid-x * 34;
padding: 0 $grid-x*1.5 0 $grid-x*2;
overflow: auto;
height:100%;
.Actions .ss-ui-action-constructive {
margin-right:5px; //accounts for the scrollbar in the filter - keeps the actions on one line instead of wrapping onto two.
}
}
.cms-content-header {
background-color: darken($color-widget-bg, 40%);
@include background-image(
linear-gradient(darken($color-widget-bg, 20%), darken($color-widget-bg, 40%))
);
h2 {
text-shadow: darken($color-widget-bg, 50%) -1px -1px 0;
width: $grid-x * 22 /* 24 - (padding on each side + margin) */;
color: lighten($color-widget-bg, 60%);
@include hide-text-overflow();
}
}
h3,h4,h5 {
font-weight: bold;
line-height: $grid-y * 2;
}
h3 {
font-size: $font-base-size + 1;
}
h4 {
font-size: $font-base-size;
margin:5px 0;
}
.ui-widget-content {
background: none;
}
.field {
/*
* Fields are more compressed in the sidebar compared to the
* main content editing window so the below alters the internal
* spacing of the fields so we can move that spacing to between
* the form fields rather than padding
*/
label {
float: none;
width: auto;
font-size: $font-base-size;
padding: 0 $grid-x 4px 0;
}
.middleColumn {
margin: 0;
}
input.text,
select,
textarea {
padding: 5px;
font-size: 11px;
}
&.checkbox {
padding: 0 0 8px;
input {
margin: 2px 0;
}
}
.description {
margin-left: 0;
}
}
.fieldgroup {
.fieldgroup-field {
padding: 0;
.field {
margin: 0;
padding: 0;
}
}
}
table {
margin: 8px -4px;
thead {
th {
color: $color-text-dark;
font-weight: bold;
line-height: 16px;
font-size: 11px;
padding: 4px;
}
}
tr {
&.active {
background-color: $color-menu-button;
color: $color-text-light;
td.first-column {
@include border-radius(6px 0 0 6px);
}
td.last-column {
@include border-radius(0 6px 6px 0);
}
}
}
td {
padding: 4px;
line-height: 16px;
vertical-align: top;
}
}
td {
border-bottom: 1px solid darken($color-widget-bg, 10%);
padding: $grid-y - 1 2px;
font-size: 11px;
}
}
/** ------------------------------------------------------------------
* CMS notice, used for filter messages, but generic enough to use elsewhere
* ----------------------------------------------------------------- */
.cms-notice {
display: block;
margin: 0 0 8px;
padding: 10px 12px;
font-weight: normal;
border: 1px $color-light-separator solid;
background: #fff; //for browsers that don't understand rgba
background: rgba(#fff,0.5);
text-shadow: none;
}
.cms-tree-filtered {
position: absolute;
margin: 0;
width: 100%;
box-sizing: border-box;
margin-left: -$grid-x*2;
padding: $grid-y*2 $grid-x*2;
background: #D4E2EC;
text-shadow: none;
border: 0;
> strong,
> a {
font-size: 14px;
}
}
/**
* CMS Batch actions
*/
.cms-content-batchactions-button {
@include inline-block;
padding: 4px 6px;
vertical-align: middle;
@include background-image(linear-gradient(top, #fff, #D9D9D9));
border: 1px solid #aaa;
@include border-radius(4px);
}
.cms-content-batchactions {
float: left;
position: relative;
display: block;
.view-mode-batchactions-wrapper {
height: 18px;
float: left;
padding: 4px 6px;
border: 1px solid #aaa;
margin-bottom: 8px;
margin-right:-1px;
background-color: #D9D9D9;
@include background-image(linear-gradient(top, #fff, #D9D9D9));
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
input {
vertical-align: middle;
}
.view-mode-batchactions-label {
vertical-align: middle;
display: none;
}
}
.checkbox {
margin-top: 2px;
vertical-align: middle;
}
}
.cms-content-batchactions-dropdown {
@include inline-block;
// Context specific rules for when batch actions are in the SiteTree panel.
.cms-content-tools & {
width: 100%;
}
fieldset { // The dropdown element wrapper
@include inline-block;
width: 200px;
.view-mode-batchactions-label {
display: inline;
}
// Context specific rules for when batch actions are in the SiteTree panel.
.cms-content-tools & {
width: 82%;
}
}
.dropdown { // The 'select' element
width: 100%;
height: 32px;
.chzn-single {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
box-shadow: none;
}
}
.Actions {
@include inline-block;
// Context specific rules for when batch actions are in the SiteTree panel.
.cms-content-tools & {
width: 16%;
}
padding: 0;
margin-left: -4px;
}
.action {
width: 100%;
height: 32px;
margin-bottom: 0;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
/** --------------------------------------------
* Preview
* -------------------------------------------- */
.cms-switch-view {
a {
padding-right: 1em;
}
}
/** --------------------------------------------
* Member Profile
* -------------------------------------------- */
form.member-profile-form {
padding: 0 $grid-x*2 0 0;
#Root_Permissions {
clear:both;
border-top: 1px solid darken($color-tab, 20%);
}
#Root_Main {
clear:both;
border-top: 1px solid darken($color-tab, 20%);
.cms-help-toggle {
text-indent: -9999em;
display: inline-block;
width: 20px;
background:url(../images/question.png) no-repeat 0px 0px;
}
}
#FavouritePageID {
margin-top:$grid-y;
}
#CsvFile .middleColumn {
background: none !important;
}
.advanced h4 {
margin-bottom: .5em;
}
.Actions {
text-align: left;
border: 0;
}
input.customFormat {
width: $grid-x * 10;
border: 1px solid #ccc !important;
padding: 3px;
display: inline-block;
margin-left: 1em;
}
.formattingHelpToggle {
display: block;
font-size: 11px;
}
.formattingHelpText {
margin: 5px 0 0 -5px;
color: #333;
padding: 5px 10px;
background: #fff;
border: 1px solid #ccc;
}
.formattingHelpText ul {
padding: 0;
}
.formattingHelpText li {
font-size: 11px;
color: #333;
margin-bottom: 2px;
padding-bottom: 0;
float: none;
width: auto;
}
#Groups .middleColumn {
margin-left: 0;
width: 100%;
.TreeDropdownField {
width: 90%;
max-width: 90%;
}
}
// Same rules in .SecurityAdmin
#Permissions {
.optionset {
li {
float: none;
width: auto;
}
}
}
}
.memberdatetimeoptionset {
.description {
font-style: normal;
}
.toggle {
font-size: $font-base-size - 1;
}
}
.cms {
.cms-content {
border-right: 1px solid #BBB;
@include border-radius(0);
background: $tab-panel-texture-color;
width: 800px;
z-index: 40;
}
.cms-content-fields {
// always show a y scroll bar as popups like TreeDropdowns
// can trigger longer pages and the extra scroll bar doesn't fire our sizing bar
overflow-y: auto;
overflow-x: auto;
background: $tab-panel-texture-color;
width: 100%;
#Root_Main {
.confirmedpassword {
border-bottom:none;
box-shadow:none;
}
.customFormat {
max-width:80px;
}
.cms-help-toggle {
text-indent: -9999em;
display: inline-block;
width: 20px;
background:url(../images/question.png) no-repeat 0px 0px;
}
}
#Root_Permissions{
ul.optionset li {
float:none;
}
}
}
form.member-profile-form {
#Root .ui-tabs-nav {
display: none;
}
#Root_Main, #Root_Permissions {
border: none;
}
}
}
/** --------------------------------------------
* "Settings" Form
* -------------------------------------------- */
#CanViewType, #CanEditType, #CanCreateTopLevelType {
.optionset li {
// All options on their own line
float: none;
width: auto;
white-space: nowrap;
}
}
#ViewerGroups, #EditorGroups, #CreateTopLevelGroups {
select {
// Fix for chosen.js width detection on hidden elements.
// TODO Remove once .field styling in _form.scss is refactored to allow flexible field widths
width: $grid-x * 64;
}
}
/** --------------------------------------------
* Panels
* -------------------------------------------- */
.cms-panel {
overflow: hidden;
.cms-panel-toggle {
@include box-shadow(0 0 1px $box-shadow-shine);
&.south {
border-top: 1px solid darken($color-light-separator, 15%);
@include box-shadow(lighten($color-base, 4%) 0 1px 0px inset);
position: absolute;
bottom: 0;
width:100%;
}
a {
display: block;
text-align: right;
padding: $grid-y/2 0;
width: 100%;
text-decoration: none;
span {
display: inline-block;
margin: 0 5px;
color: #555d60;
font-size: 16px;
}
&.toggle-expand {
width: 40px; // will set the collapsed width
display: none;
}
}
}
/**
* DEPRECATED:
* .cms-content-tools will be removed in 4.0
* Use .cms-content-filters instead.
*/
&.cms-content-tools .cms-panel-toggle {
&.south {
border-top: 1px solid $color-light-separator;
@include box-shadow($box-shadow-shine 0 1px 0px inset);
}
}
&.collapsed {
cursor: pointer;
.cms-panel-header *,
.cms-panel-content,
.cms-panel-toggle a.toggle-collapse{
display:none;
}
.cms-panel-toggle a.toggle-expand {
display: block;
}
}
.cms-panel-header {
width: 100%;
}
&#cms-content-tools-CMSPageEditController {
.cms-panel-content-collapsed {
width: 40px;
display: none; // Avoids FOUC
h2, h3 {
border-bottom: 0;
margin-left: $grid-y;
@include transform-origin(bottom, right);
@include rotate(270deg);
}
.cms-panel-header {
width: 600px;
position:relative;
top:24px;
right:577px;
text-align:right;
}
}
}
.cms-panel-content-collapsed {
width: 40px;
display: none; // Avoids FOUC
h2, h3 {
border-bottom: 0;
margin-left: $grid-y;
@include transform-origin(bottom, right);
@include rotate(270deg);
}
.cms-panel-header {
width: 600px;
position:relative;
right:577px;
text-align:right;
border-bottom:none;
box-shadow:none;
}
}
.child-flyout-indicator {
width:0;
height:0;
border-right:3px dashed $color-text-dark;
border-top:3px solid transparent;
border-left:3px solid transparent;
border-bottom:3px dashed $color-text-dark;
position: absolute;
right: 1px;
margin-top: -8px;
display: none; /* To be shown by javascript, see LeftAndMain.Panel.js */
}
.collapsed-flyout {
display: block !important;
left: 41px;
margin-top: -40px;
position: fixed;
width: 191px;
li a span {
display: block !important;
}
}
}
.cms {
.cms-panel-padded {
padding: 0 $grid-x*2 $grid-y*1.5;
&.ReportAdmin {
> fieldset {
padding-top: 12px;
}
}
}
}
.CMSPageAddController {
.cms-panel-padded {
padding: $grid-y*2 $grid-x*2;
}
}
/** ------------------------------------------------------------------
* Dialog
*
* Contained in a jQuery UI dialog ('.ui-dialog'), with either inline
* markup (for the "insert" dialogs), or an iframe (for member profile).
* ----------------------------------------------------------------- */
// overlay for switching between CMS panes
.cms .ui-widget-overlay-light {
background: #aaaaaa url(../../thirdparty/jquery-ui-themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
opacity: 0.3;
}
// Adjusting the color of the background overlay to be darker for pop-up dialogs (created by jQuery-UI)
.cms .ui-widget-overlay {
background-color: #000;
background-image: none;
}
.cms .ui-dialog{
.ss-ui-dialog.ui-dialog-content {
padding-top: 0px; //removes padding so that tabs are flush with header
}
}
// Elements with this class can either frame inline markup or an iframe,
// most styles should be applied to .cms-dialog instead (which declares the content in the frame)
.ui-dialog {
background: url("../images/textures/bg_cms_main_content.png") repeat left top #F0F3F4;
background-clip: content-box;
border: 1px solid #666 !important;
@include border-radius($grid-y);
overflow: visible;
padding: 0;
@include box-shadow(0px 0px 30px 10px rgba(0,0,0,.3));
// Titlebar for pop-up dialog.
.ui-dialog-titlebar.ui-widget-header {
font-size: $font-base-size+2;
padding: 0;
border:none;
background: {
color:transparent;
image:url(../images/textures/cms_content_header.png);
repeat:repeat;
}
@include box-shadow($color-shadow-dark 0 0 ($grid-x / 2) inset);
.ui-dialog-title {
position:absolute;
}
}
.ui-dialog-content {
@include border-radius($grid-y);
overflow: auto; // TODO Replace with proper $.layout grid
&.loading {
background-image: url(../images/spinner.gif);
background-position: 50% 50%;
background-repeat: no-repeat;
}
}
.cms-dialog-content {
background: url("../images/textures/bg_cms_main_content.png") repeat left top #F0F3F4;
padding-bottom: $grid-y;
padding-top:0px;
.Actions {
overflow: auto;
margin: $grid-y 0;
padding-bottom: $grid-y;
float: right;
}
.ui-tabs{
position:static;
// Shift navigation upwards to be horizontally centered with dialog title.
// Can't use floats since this title is in a different DOM parent sibling
// Note: Does NOT apply to member profile form (unnecessary, since it doesn't have a dialog title)
.ui-tabs-nav {
position:absolute;
top: 9px;
// Tabs nav is included in scollbar. By absolutely positioning it off the edge,
// we avoid tabs shifting position when scrollbar toggles
right: 40px;
}
// Don't show top border, since these styles already have a title bar
.ui-tabs-panel {
border: 0;
}
}
.clear {
clear: both;
}
}
&.loading {
background-image: url(../images/spinner.gif);
background-position: 50% 50%;
background-repeat: no-repeat;
}
}
body.cms-dialog {
overflow: auto;
background: url("../images/textures/bg_cms_main_content.png") repeat left top #F0F3F4;
position:relative;
}
/** --------------------------------------------
* "Insert X" forms
* -------------------------------------------- */
.htmleditorfield-dialog{
&.ui-dialog-content{
padding:0;
position:relative;
}
.htmleditorfield-from-web {
.CompositeField{
@include clearfix;
}
#RemoteURL{
border:none;
@include box-shadow-none;
width:55%;
max-width:512px;
float:left;
position: relative;
label {
position: absolute;
left: 8px;
top: 13px;
font-weight: normal;
color: #888;
width: 35px;
padding-right: 0;
}
.middleColumn {
margin-left: 0;
}
input.remoteurl {
padding-left: 40px;
max-width: 350px;
}
}
button.add-url{
margin-top:20px;
@include clearfix;
border:none;
background:none;
opacity:0.8;
cursor: hand;
.btn-icon-addMedia{
width:20px;
height:20px;
}
.ui-button-text{
margin-left:10px;
padding-top:10px;
}
&:hover, &:active{
border:none;
@include box-shadow-none;
opacity:1;
}
&.ui-state-disabled {
&, &:hover, &:active {
opacity: 0.35;
filter: Alpha(Opacity=35);
}
}
}
.loading button.add-url .ui-icon {
background-image: url(../images/throbber.gif);
background-position: 50% 50%;
background-repeat: no-repeat;
}
}
.cms-content-header{
padding:0;
width:100%;
height: 53px;
h3{
padding: $grid-y*1.5 $grid-x*2;
margin: 0;
line-height: 28px;
}
}
.ss-insert-media, .Actions, .ss-insert-link{
padding:$grid-y $grid-x*2 ;
.ui-tabs-panel {
padding: 0;
}
}
.details{
.file-url{
display:block;
width:300px;
@include hide-text-overflow;
}
.cms-file-info{
.field{
border:none;
@include box-shadow(0 0 0 rgba(0, 0, 0, 0));
}
}
.field{
border-bottom: 1px solid $color-shadow-light;
@include box-shadow(0 1px 0 lighten($color-shadow-light, 95%));
&.last{
border-bottom:none;
@include box-shadow(0 0 0 rgba(0, 0, 0, 0));
margin-bottom:0;
}
}
}
.CompositeField{
.text{
select{
margin: 5px 0 0 0;
}
}
}
}
.htmleditorfield-linkform {
.step2 {
margin-bottom: $grid-x*2;
}
.ss-uploadfield {
.middleColumn {
width: auto;
}
}
}
.htmleditorfield-mediaform {
.ss-gridfield {
.gridfield-button-delete {
// TODO Remove from PHP instead of hiding
display: none; // delete action shouldn't be allowed here
}
}
.htmleditorfield-from-web, .htmleditorfield-from-cms {
.ss-uploadfield {
.middleColumn {
width:auto;
background:none;
border:none;
margin-top:13px;
}
}
}
.htmleditorfield-from-cms {
.ss-uploadfield {
h4 {
float: left; // headline and dropdown on same line
margin-top: $grid-y/2; // bring to same baseline as dropdown
margin-bottom: 0;
}
.middleColumn {
margin-top: $grid-y*2; // same as left-floated h4
margin-left: $grid-x*23; // make room for headline
min-width: 0; // fit within available space
clear: none; // headline and dropdown on same line
}
.field.treedropdown {
border-bottom: 0; // don't show border, dropdown and gridfield visually belong together
padding: 0;
}
}
}
.ss-assetuploadfield .ss-uploadfield-editandorganize {
.ss-uploadfield-files {
.ss-uploadfield-item-info {
background-color: grayscale(#5db4df);
@include background-image(linear-gradient(top, grayscale(#5db4df) 0%, grayscale(#5db1dd) 8%, grayscale(#439bcb) 50%, grayscale(#3f99cd) 54%, grayscale(#207db6) 96%, grayscale(#1e7cba) 100%));
}
}
}
}
/** --------------------------------------------
* Search forms (used in AssetAdmin, ModelAdmin, etc)
* -------------------------------------------- */
.cms-search-form {
margin-bottom: $grid-y*2;
.filter &{
margin-bottom:0;
}
.Actions {
padding: 0;
}
}
/** --------------------------------------------
* Step labels
* -------------------------------------------- */
.step-label {
& > * {
display: inline-block;
vertical-align: top;
}
.flyout {
height: 26px - 2*4px; // minus padding
font-size: $font-base-size+2;
font-weight: bold;
@include border-top-left-radius(3px);
@include border-bottom-left-radius(3px);
background-color: #667980; // hardcoding colour since its tied to the sprite
padding: 4px 3px 4px 6px;
text-align: center;
text-shadow: none;
color: #fff;
}
.arrow {
height: 26px;
width: 10px;
background: sprite($sprites32, numeric-label) no-repeat;
margin-right: 4px;
}
.title {
height: 26px - 2*4px; // minus padding
padding: 4px;
}
}
/** --------------------------------------------
* Item Edit Form
* -------------------------------------------- */
.cms-file-info {
overflow: auto;
// Emulate .field bottom border styling without applying .field class,
// as it messes up the nested .field element styling (blocklevel labels)
border-bottom: 1px solid $color-shadow-light;
@include box-shadow(0 1px 0 lighten($color-shadow-light, 95%));
margin-bottom: $grid-x;
// Preview might not always be available
.cms-file-info-preview {
float: left;
width: $grid-x * 22; // Same as ".field label"
margin-right: $grid-x;
img {
max-width: $grid-x * 22; // Same as ".field label"
max-height: $grid-x * 16; // Fitting typical info displayed (~5 rows)
}
}
.cms-file-info-data {
float: left;
width: 55%;
.field {
// Unsetting styles from .field, make it more compact visually
margin: 0;
padding-bottom: $grid-x;
border: none;
box-shadow: none;
label.left {
width: $grid-x*12;
}
.middleColumn {
margin-left: $grid-x*13;
}
label, span {
padding: 0;
}
}
}
}
form.small {
.cms-file-info-preview {
width: $grid-x*14;
img {
max-width: $grid-x*14;
}
}
.cms-file-info-data {
// Ensure it fits beside the image preview, increased size for long url
max-width: 550px;
// Reduced label widths to fit everything in smaller space
.field {
padding-bottom: 0;
label {
width: $grid-x*14;
}
.middleColumn {
margin-left: $grid-x*15;
}
}
}
}
/** --------------------------------------------
* Users Members Admin
* -------------------------------------------- */
.members_grid {
span button#action_gridfield_relationfind {
display:none; //hides find button - redundant functionality
}
p button#action_export {
span.btn-icon-download-csv {
height:17px; //exact height of icon
}
}
}
/**
* Import forms
*/
form.import-form {
ul {
list-style: disc;
li {
margin-left: 20px;
}
}
p {
margin-bottom: 5px;
}
label.left {
width: 250px;
}
}
/** --------------------------------------------
* Page Edit Controller
* -------------------------------------------- */
/*.cms-container {
.CMSPageEditController, .CMSPageSettingsController, .CMSPageHistoryController {
// Fix pixel gap between nav tree and main page header
margin-left: -1px; // Removed to close gap far right of right tabs?
}
}*/
/** --------------------------------------------
* Page Settings Controller
* -------------------------------------------- */
.cms-container .CMSMain.CMSPageSettingsController {
.tab#Root_Settings {
.optionset li {
white-space:nowrap;
label {
padding-left:2px;
}
}
.fieldgroup .fieldgroup-field {
width:$grid-x*27;
padding-left:0;
}
}
}
/** --------------------------------------------
* Buttons for FileUpload
* -------------------------------------------- */
.ss-uploadfield-item-edit-all .ui-button-text{
padding-right:0;
}
.toggle-details-icon {
background: sprite($sprites32, menu-arrow-down) no-repeat;
.ss-uploadfield-item-edit-all &{
background: sprite($sprites32, menu-arrow-deselected-down) no-repeat;
display:inline-block;
width:8px;
height:8px;
padding-left:5px;
}
&.opened {
background: sprite($sprites32, menu-arrow-up) no-repeat;
.ss-uploadfield-item-edit-all &{
background: sprite($sprites32, menu-arrow-deselected-up) no-repeat;
}
}
}
/** --------------------------------------------
* Hide preview toggle link by default. May be shown
in IE7 stylesheet and forced to show with js if needed
* -------------------------------------------- */
.cms .Actions > .cms-preview-toggle-link,
.cms .cms-navigator > .cms-preview-toggle-link{
display:none;
}