silverstripe-framework/admin/scss/_style.scss
Mateusz Uzdowski d4f13fe532 API Refactor the CMS layouting to provide access to options.
It is now possible to change the threeColumnLayout width options for the
columns via entwine property LayoutOptions and accessor methods.

Thanks @robert-h-curry, @clarkepaul for contributing!
2012-12-10 17:52:01 +01:00

1785 lines
35 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
* -------------------------------------------- */
.cms-helper-hide-actions {
.Actions {
display: none;
}
}
.hide {
display: none;
}
/** --------------------------------------------
* 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,
.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: 40px;
background: {
image: url(../images/textures/cms_content_header.png);
repeat: repeat;
position: left bottom;
}
.cms-content-header-info *,
.cms-content-header-tabs * {
@include inline-block;
}
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;
}
.cms-content-header-info {
float:left;
line-height: 34px;
}
// 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;
}
}
/** --------------------------------------------
* Tabs
* -------------------------------------------- */
.ui-tabs {
padding: 0;
background: none;
.ui-tabs {
position: static;
}
.ui-tabs-panel {
padding: $grid-x 0;
background: transparent; // default it's white
&.cms-edit-form {
padding: 0;
}
}
.ui-widget-header {
border: 0;
background: none;
}
.ui-tabs-nav {
float: right;
margin: 0 0 -1px 0;
padding: 0 $grid-x*1.5 0 0;
border-bottom: none;
~ .ui-tabs-panel {
border-top:1px solid $color-button-generic-border;
clear: both;
}
li {
top: 0;
float: left;
border-bottom: 0 !important;
a {
@include inline-block;
float: none;
font-weight: bold;
color: $color-text;
line-height: $grid-y * 4;
padding: 0 $grid-x*2 0;
}
&:last-child {
// correctly right-align last tab
margin-right: 0;
}
}
.ui-state-default {
border:1px solid $color-button-generic-border;
background:darken($color-widget-bg, 10%);
a {
color: lighten($color-text, 10%);
text-shadow: lighten($color-tab, 5%) 0 1px 0;
}
}
.ui-state-active {
padding-bottom:1px;
border:1px solid $color-button-generic-border;
background-color: $tab-panel-texture-color;
a {
color: $color-text;
}
}
&.ui-state-active {
border-color: $color-medium-separator;
}
li.cms-tabset-icon {
text-indent:-9999em;
a {
display: block;
padding-left: 40px; // icon width
padding-right: 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-edit-form, .cms-content-fields {
.cms-panel-padded { /* Has padded area inside it */
padding: 0;
margin: 0;
}
.ui-tabs-panel, .ss-gridfield {
margin: 12px;
padding: 0 0 12px;
.ss-gridfield { /* Files area & inside second level tabs */
padding: 0; /* should be zero ideally */
margin: 0 0 12px;
}
}
.ui-tabs-nav {
margin: 10px 12px 0;
padding: 0 8px 0 0; /* second set of tabs */
}
#tree_actions .ui-tabs-nav{
margin: 0;
}
}
.cms-panel-padded {
h3 {
margin-left: 12px; /* reports headers, probably too specific */
}
.ui-tabs-panel {
margin: 0;
padding: 12px 12px 12px;
.ui-tabs-panel {
padding: $grid-x 0 0 0;
}
}
}
.ui-tabs .ui-tabs-panel { /* second level tabs */
padding-top: 8px;
}
&.ss-tabset-tabshidden .ui-tabs-panel {
border-top: none;
}
// Reset to default styles
.ss-ui-button {
line-height: $grid-x*3;
.ui-button-text {
line-height: 1.4;
}
}
}
/**
* 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 {
border-left: 1px solid darken($color-tab, 15%);
li {
margin-right: 0; // tabs are directly adjacent
margin-top: 0;
a {
margin: 0;
// overlap divider line below
line-height: 40px - 1px;
}
}
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr, .ui-corner-tl {
border-radius:0;
}
.ui-state-default {
@include box-shadow($color-shadow-light 0 0 2px);
background-color: $color-base;
@include background-image(
linear-gradient(lighten($color-base, 12%), $color-base)
);
border-top:none;
border: {
right-color: darken($color-base, 15%);
left-color: lighten($color-base, 10%);
}
}
.ui-state-active {
@include box-shadow(none);
background: darken($color-widget-bg, 2%);
background: $tab-panel-texture-color;
border-top: none;
border: {
right-color: darken($color-tab, 15%); // same color as divider between header and body, needed for IE
left-color: $tab-panel-texture-color;
}
z-index:2;
a {
border-bottom: none;
}
}
}
.cms-content-header-tabs {
float: right;
}
/** -------------------------------------------------------
* 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: 49%;
top: 75%;
}
}
/** --------------------------------------------
* Actions
* -------------------------------------------- */
.cms-content-actions, .cms-preview-controls {
margin: 0;
padding: $grid-y*1.5 $grid-y*2;
z-index: 0;
border-top: 1px solid $color-light-separator;
border-top: 1px solid #FAFAFA;
@include box-shadow(1px 0 0 $tab-panel-texture-color, #CCC 0 -1px 1px);
height: 28px;
background-color: $tab-panel-texture-color;
}
/** --------------------------------------------
* Messages
* -------------------------------------------- */
.message { // White
display: block;
clear: both;
margin: $grid-y 0;
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;
}
}
p.message {
margin-bottom: $grid-y*1.5;
}
/** --------------------------------------------
* 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;
}
.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;
&: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;
}
}
}
}
/** --------------------------------------------
* Content toolbar
* -------------------------------------------- */
.cms-content-toolbar {
min-height: 29px;
display: block;
margin: 0 0 15px 0;
@include doubleborder(bottom, $color-light-separator, lighten($color-light-separator, 50%));
@include legacy-pie-clearfix();
.cms-tree-view-modes {
float:right;
padding-top:$grid-y - 3;
* {
display: inline-block;
label {
color:$color-text-blue-link;
}
}
}
/* smaller treedropdown */
.chzn-container-single .chzn-single {
height: 26px;
line-height: 26px;
padding-left:25px;
color: darken($color-dark-grey, 15%);
@include background-image(
linear-gradient($color-button-generic, darken($color-button-generic, 10%))
);
font: {
size:13px;
weight:bold;
}
text-shadow:darken($color-text-shadow, 10%) 0 -1px 1px;
box-shadow:none;
&:hover {
@include box-shadow(0 0 5px darken($color-button-generic, 20%));
@include background-image(
linear-gradient(lighten($color-button-generic, 2%), darken($color-button-generic, 8%))
);
}
&:active {
@include box-shadow(inset 0 1px 3px darken($color-button-generic, 60%));
}
span {
padding-top:1px;
}
div {
/*background:url(../images/btn-icon/settings.png) 5px 4px no-repeat;*/
border-left:none;
width:100%;
}
div b {
background: url(../images/sprites-32x32/menu-arrow-deselected-down.png) no-repeat 9px 11px;
float:right;
width:24px;
}
}
.ss-ui-button {
margin-bottom: $grid-y;
}
}
/* --------------------------------------------------------
* Content Tools is the sidebar on the left of the main content
* panel
*/
.cms-content-tools {
background: $tab-panel-texture-color;
width: $grid-x * 24;
overflow-y: auto;
overflow-x: hidden;
z-index: 70;
@include box-shadow($color-shadow-black 0 2px 3px);
float: left;
position: relative;
&.filter{
padding:0 !important;
}
.cms-panel-header {
clear: both;
margin: 0 0 $grid-y - 1;
line-height: $grid-y * 3;
@include doubleborder(bottom, $color-light-separator, lighten($color-shadow-light, 95%));
}
.cms-panel-content {
width: ($grid-x * 22);
padding: $grid-x $grid-x 0;
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: 11px;
padding: 0 $grid-x 4px 0;
}
.middleColumn {
margin: 0;
}
input.text,
select,
textarea {
padding: 5px;
font-size: 11px;
}
&.checkbox {
padding: 0 8px 0;
input {
margin: 2px 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 Batch actions
*/
.cms-content-batchactions {
float: left;
position: relative;
display: block;
margin-left: 8px;
.view-mode-batchactions-wrapper {
float: left;
padding: 4px 6px;
border: 1px solid #aaa;
margin-bottom: 8px;
@include background-image(linear-gradient(top, #fff, #D9D9D9));
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
label {
display: none;
}
fieldset, .Actions {
display: inline-block;
}
}
&.inactive .view-mode-batchactions-wrapper {
border-radius: 4px;
label {
display: inline;
}
}
form > * {
display: block;
float: left;
}
form.cms-batch-actions {
float: left;
}
&.inactive form {
display: none;
}
.chzn-container-single .chzn-single {
margin-left: -1px;
border-radius: 0;
@include background-image(linear-gradient(top, #fff, #D9D9D9));
}
.cms-batch-actions .Actions .ss-ui-button {
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
&.ui-state-disabled {
opacity: 1;
color: #ccc;
}
}
}
#Form_BatchActionsForm select {
width: 200px;
}
/** --------------------------------------------
* Preview
* -------------------------------------------- */
.cms-switch-view {
a {
padding-right: 1em;
}
}
/* Necessary because when chosen is initialised the selects are not part of cms-preview
and so the sizes are wrong. */
select.preview-dropdown {
display: inline;
width: auto;
padding-right: 20px;
}
.cms-preview {
background-color: $tab-panel-texture-color;
height: 100%;
width: 100%;
.preview-note {
font-weight: 18px;
display: block;
position: absolute;
text-align: center;
width: 300px;
height: 82px;
left: 50%;
top: 50%;
margin-top: -50px;
margin-left: -150px; /* half of width */
color: #CDD7DC;
font-weight: bold;
font-size: 22px;
text-shadow: 0 1px 0 #fff;
span {
background: sprite($sprites64, preview) no-repeat;
width: 50px;
height: 41px;
margin: 0 auto 20px;
display: block;
}
}
.preview-scroll {
height: 100%;
width: 100%;
overflow: auto;
position: relative;
.preview-device-outer {
height: 100%;
width: 100%;
.preview-device-inner {
height: 100%;
width: 100%;
iframe {
height: 100%;
width: 100%;
overflow-y: auto;
}
}
}
}
&.mobile, &.mobileLandscape, &.tablet, &.tabletLandscape {
.preview-scroll {
background-color: $tab-panel-texture-color; /* hide website preview icon */
.preview-device-outer {
padding: 16px;
/*background-color: darken($tab-panel-texture-color,3%);*/
background-color: #414141;
}
}
}
&.mobile {
.preview-scroll .preview-device-outer {
width: 335px; /* add 15px for desktop scrollbar */
height: 568px;
margin: 30px auto 30px;
.preview-device-inner {
width: 335px;
}
}
}
&.mobileLandscape .preview-scroll .preview-device-outer {
width: 583px; /* add 15px for desktop scrollbar */
height: 320px;
margin: 12% auto;
.preview-device-inner {
width: 583px;
}
}
&.tablet .preview-scroll .preview-device-outer {
width: 783px; /* add 15px for desktop scrollbar */
height: 1024px;
padding-top: 0;
margin: 0 auto;
.preview-device-inner {
width: 783px;
}
}
&.tabletLandscape .preview-scroll .preview-device-outer {
width: 1039px; /* add 15px for desktop scrollbar */
height: 768px;
padding-top: 0;
margin: 0 auto;
.preview-device-inner {
width: 1039px;
}
}
&.desktop .preview-scroll .preview-device-outer {
width: 1024px;
}
}
/** --------------------------------------------
* 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%);
padding-top:$grid-y*2;
.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;
}
}
}
}
.cms {
.cms-content {
@include box-shadow(1px 0 0 #BBB);
@include border-radius(0);
/*background: $tab-panel-texture-background;*/
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: none;
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;
}
}
.field {
.fieldholder-small { // Small fields have a second set of headers
margin-top: $grid-y;
label {
padding-top: $grid-x;
width: $grid-x * 8;
float: left;
margin-left: $grid-x * -8;
}
}
table .fieldholder-small {
margin-top: 0;
}
}
}
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 rgba(107, 120, 123, 0.5));
&.south {
border-top: 1px solid $color-light-separator;
position: absolute;
bottom: 0;
}
a {
display: block;
text-align: right;
padding: $grid-y/2 0;
width: 100%;
text-decoration: none;
span {
display: inline-block;
margin: 0 5px;
color: $color-text-dark;
font-size: 16px;
}
&.toggle-expand {
width: 40px; // will set the collapsed width
display: none;
}
}
}
&.cms-content-tools .cms-panel-toggle {
&.south {
border-top: 1px solid #FFF;
}
}
&.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;
}
}
}
/** ------------------------------------------------------------------
* 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{
min-width:570px;
.htmleditorfield-dialog{
min-width:570px;
}
.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;
border: 3px solid #000 !important;
border-radius: $grid-y;
overflow: visible;
padding: 0;
// 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;
}
}
.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:0;
// 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;
}
#MediaFormInsertMediaTabs_Fromtheweb{
.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;
}
.middleColumn {
margin-left: 0;
}
input.remoteurl {
padding-left: 40px;
}
}
button.add-url{
margin-top:13px;
padding-top:15px;
@include clearfix;
border:none;
background:none;
opacity:0.8;
cursor: hand;
.btn-icon-addMedia{
width:20px;
height:20px;
}
&: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: 40px;
h3{
padding: 0 8px;
margin: 10px;
}
}
.ss-insert-media, .Actions, .ss-insert-link{
padding:$grid-y $grid-x*2 ;
}
.details{
.file-url{
display:block;
width:450px;
@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;
}
}
}
}
.htmleditorfield-linkform {
.step2 {
margin-bottom: $grid-x*2;
}
}
.htmleditorfield-mediaform {
.ss-gridfield {
// Set thumbnail size
tbody td:first-child img {
max-height: 30px;
}
}
.ss-uploadfield{
&.from-web, &.from-CMS{
margin-bottom:48px;
.middleColumn {
width:auto;
background:none;
border:none;
margin-top:13px;
}
}
&.from-CMS{
margin-top:33px;
h4{
margin-top:3px;
}
.middleColumn {
margin-top:0;
.TreeDropdownField{
margin-top:23px;
}
}
}
}
.ss-uploadfield-editandorganize {
display: none;
}
}
/** --------------------------------------------
* Search forms (used in AssetAdmin, ModelAdmin, etc)
* -------------------------------------------- */
.cms-search-form {
margin-bottom: $grid-y*2;
.filter &{
margin-bottom: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"
}
}
.cms-file-info-data {
float: left;
.field {
// Unsetting styles from .field, make it more compact visually
margin-bottom: 0;
padding-bottom: $grid-x;
border: none;
box-shadow: none;
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 {
margin-top:$grid-y*2;
span.btn-icon-download-csv {
height:17px; //exact height of icon
}
.ui-button-text {
padding-left:26px; //to accomodate wider export 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;
}
.TreeDropdownField .treedropdownfield-toggle-panel-link {
border-left:none;
background:none;
background-image:none;
}
}
}
/** --------------------------------------------
* 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;
}
}
}