Blame | Last modification | View Log | Download
// ProcessWire Inputfield styles// general purpose@pw-inputfield-background: @global-background;@pw-inputfield-background-none: @global-background;@pw-inputfield-border-color: darken(@global-muted-background, 4%);@pw-inputfield-border: 1px solid @pw-inputfield-border-color;@pw-inputfield-margin: @global-margin;@pw-inputfield-margin-small: @global-small-margin;@pw-inputfield-margin-large: @global-large-margin;@pw-inputfield-button-margin: @global-small-margin;// general nested@pw-inputfield-nested-border-color: @pw-inputfield-border-color;@pw-inputfield-nested-border: 1px solid @pw-inputfield-nested-border-color;// primary@pw-inputfield-background-primary: lighten(tint(@global-primary-background, 40%), 25%);// @pw-inputfield-border-primary: 1px solid lighten(@text-primary-color, 30%);@pw-inputfield-color-primary: @text-primary-color;// secondary@pw-inputfield-background-secondary: lighten(@global-muted-background, 3%);// @pw-inputfield-border-secondary: darken(@global-muted-background, 5%);@pw-inputfield-color-secondary: @global-color;// success@pw-inputfield-background-success: lighten(tint(@global-success-background, 40%), 25%);// @pw-inputfield-border-success: 1px solid lighten(@text-success-color, 10%);@pw-inputfield-color-success: @text-success-color;// highlight@pw-inputfield-background-highlight: #ffd;// @pw-inputfield-border-highlight: @pw-inputfield-border;@pw-inputfield-color-highlight: inherit;// warning@pw-inputfield-background-warning: lighten(tint(@global-warning-background, 45%), 15%);// @pw-inputfield-border-warning: 1px solid lighten(@text-warning-color, 10%);@pw-inputfield-color-warning: @text-warning-color;// danger@pw-inputfield-background-danger: lighten(tint(@global-danger-background, 40%), 20%);// @pw-inputfield-border-danger: 1px solid lighten(@text-danger-color, 10%);@pw-inputfield-color-danger: @text-danger-color;// background when dragging in a file@pw-inputfield-drag-in-file-background: @pw-inputfield-background-primary;// fieldset@pw-inputfield-fieldset-background: @global-muted-background;@pw-inputfield-nested-background: lighten(@pw-inputfield-background, 5%);// header@pw-inputfield-header-padding-top: @global-margin;@pw-inputfield-header-padding-right: @global-small-margin;@pw-inputfield-header-padding-bottom: @global-margin;@pw-inputfield-header-padding-left: @global-margin;@pw-inputfield-header-padding: @pw-inputfield-header-padding-top @pw-inputfield-header-padding-right @pw-inputfield-header-padding-bottom @pw-inputfield-header-padding-left;@pw-inputfield-header-color: @global-color;@pw-inputfield-header-collapsed-color: @global-muted-color;@pw-inputfield-header-hover-color: @global-link-color;@pw-inputfield-header-collapsed-hover-color: darken(@pw-inputfield-header-collapsed-color, 10%);@pw-inputfield-header-collapsed-hover-background: @global-muted-background;// content@pw-inputfield-content-padding-top: 1px;@pw-inputfield-content-padding-right: @global-margin;@pw-inputfield-content-padding-bottom: @global-margin + 3px;@pw-inputfield-content-padding-left: @global-margin;@pw-inputfield-content-padding: @pw-inputfield-content-padding-top @pw-inputfield-content-padding-right @pw-inputfield-content-padding-bottom @pw-inputfield-content-padding-left;// cards: header padding@pw-inputfield-header-cards-padding-top: @global-margin;@pw-inputfield-header-cards-padding-right: @global-small-margin;@pw-inputfield-header-cards-padding-bottom: @global-margin;@pw-inputfield-header-cards-padding-left: @global-margin;@pw-inputfield-header-cards-padding: @pw-inputfield-header-cards-padding-top @pw-inputfield-header-cards-padding-right @pw-inputfield-header-cards-padding-bottom @pw-inputfield-header-cards-padding-left;// cards: content padding@pw-inputfield-content-cards-padding-top: @global-small-margin;@pw-inputfield-content-cards-padding-right: @global-margin;@pw-inputfield-content-cards-padding-bottom: @global-margin;@pw-inputfield-content-cards-padding-left: @global-margin;@pw-inputfield-content-cards-padding: @pw-inputfield-content-cards-padding-top @pw-inputfield-content-cards-padding-right @pw-inputfield-content-cards-padding-bottom @pw-inputfield-content-cards-padding-left;// GENERAL INPUTFIELD ALL --------------------------------------------.InputfieldForm {margin-bottom: @global-margin;}.Inputfields {// background: @pw-inputfield-background;background: none;}/*** Inputfield *************************************************************/.Inputfield {display: block;color: @global-color;background: @pw-inputfield-background; // required to avoid doubled outlines on columnWidth fieldsborder: none;outline: @pw-inputfield-border;&.InputfieldSubmit,&.InputfieldButton,&.InputfieldNoBorder,&.InputfieldWrapper,&.InputfieldRepeaterItem {outline: none;}&.InputfieldHideBorder {//outline-color: transparent;outline: none;margin-top: 1px;}&:not(.InputfieldColumnWidth) {width: 100%;}&.ui-state-error {border: none;}select + ol {/* i.e. asmSelect */margin-top: 0.1em;}input[type=text]:not(.uk-input),input[type=email]:not(.uk-input),input[type=date]:not(.uk-input),input[type=datetime]:not(.uk-input),input[type=number]:not(.uk-input),input[type=url]:not(.uk-input) {.uk-input();// width: auto;&.InputfieldMaxWidth {width: 100%;}&[size] {width: auto;}}.InputfieldDatetime input.InputfieldDatetimeDatepicker {width: auto;}.InputfieldMaxWidth {width: 100%;}select,input[type=checkbox],input[type=radio] {font-size: @global-font-size;}select {max-width: 100%;}.uk-select:not(.InputfieldSetWidth):not(.InputfieldMaxWidth) {width: auto;}.uk-select:not([multiple]):not([size]) {// to ensure the toggle icon is visiblepadding-right: 30px !important;}.InputfieldContent table td .uk-select:not(.InputfieldSetWidth), // i.e. InputfieldTable&.InputfieldColumnWidth > .InputfieldContent .uk-select:not(.InputfieldSetWidth) {width: 100%;padding-right: initial;}textarea:not(.uk-textarea) {.uk-textarea();}input[size] {width: auto;}}@media screen and (max-width: 767px) {body.AdminThemeUikitNoGrid {.InputfieldColumnWidth {width: 100% !important;}}}// Inputfield offsets.Inputfields .InputfieldIsOffset:not(.InputfieldColumnWidth) {// Inputfield that is vertically offset from others via a margin// By default, Inputfield elements have no margins, so this adds onemargin-top: @pw-inputfield-margin;margin-bottom: @pw-inputfield-margin;&.InputfieldNoBorder {// to prevent it from being overridden when no-border activemargin-top: @pw-inputfield-margin;}&.InputfieldIsOffsetSm {// small offset optionmargin-top: @pw-inputfield-margin-small;margin-bottom: @pw-inputfield-margin-small;&.InputfieldNoBorder {margin-top: @pw-inputfield-margin-small;}}&.InputfieldIsOffsetLg {// large offset optionmargin-top: @pw-inputfield-margin-large;margin-bottom: @pw-inputfield-margin-large;&.InputfieldNoBorder {margin-top: @pw-inputfield-margin-large;}}&.InputfieldRowFirst:not(.WireTab) {// first row of offset fields needs no top marginmargin-top: 0;}&.InputfieldRowLast:not(.InputfieldWrapper):not(.InputfieldFieldset) {// last row of offset fields needs no bottom marginmargin-bottom: 0;}&.InputfieldSubmit.InputfieldIsOffset,&.InputfieldButton.InputfieldIsOffset {// offsets don't apply to buttonsmargin-top: 0 !important;}+ .InputfieldIsOffset {margin-top: 0;}}table .InputfieldIsOffset,.InputfieldFieldset .InputfieldColumnWidth.InputfieldIsOffset,.InputfieldRepeater .InputfieldIsOffset {// offsets don't apply in repeaters and some other contextsmargin-top: 0;margin-bottom: 0;}.InputfieldNoBorder:not(.InputfieldIsOffset):not(.InputfieldColumnWidth) {// ensures that a no-border field doesn't hide the outline from the previous fieldmargin-top: 1px;}/*** InputfieldHeader ***************************************************/.InputfieldHeader {.hook-form-label();display: block;margin: 0;padding: @pw-inputfield-header-padding;padding-bottom: @pw-inputfield-header-padding-bottom / 2; // header when not collapsedbackground: @pw-inputfield-background;font-weight: bold;font-size: @global-font-size;color: @pw-inputfield-header-color;// prevent selection of this element-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-o-user-select: none;user-select: none;&.InputfieldHeaderHidden {// header is not showndisplay: none;}&:hover {color: @pw-inputfield-header-hover-color;}// toggles open and collapse of Inputfield&.InputfieldStateToggle {cursor: pointer;i.toggle-icon {// the open/close icon that goes with most Inputfieldsfloat: right;padding-right: 0.25em;padding-right: 0.5em;margin-right: 0;color: lighten(@global-muted-color, 20%);line-height: @global-line-height;}i + i {margin-right: 0.5em;margin-left: 0;}}}.Inputfield.InputfieldStateCollapsed {> .InputfieldHeader {color: @pw-inputfield-header-collapsed-color;&:hover {color: @pw-inputfield-header-collapsed-hover-color;background: @pw-inputfield-header-collapsed-hover-background;}}> .InputfieldHeaderHidden {display: block;}&.InputfieldNoBorder {> .InputfieldHeader:hover {// background color doesn't look good when no-border mode is usedbackground: transparent;}}}.pw-init {.toggle-icon {display: none;}}/*** InputfieldContent ***************************************************/.InputfieldContent {// content area of each Inputfield elementbackground: @pw-inputfield-background;padding: @pw-inputfield-content-padding;> .InputfieldError {display: block;padding: 5px 12px 5px 5px;}}.InputfieldContent,.LanguageSupport {& > textarea,& > select.InputfieldMaxWidth,& > input.InputfieldMaxWidth {width: 100%;}p {margin-top: @global-small-margin;margin-bottom: @global-small-margin + 5px;&:first-child {margin-top: 0;}&.notes {margin-top: @global-small-margin + 5px;}}> p:last-child,> ul:last-child {// notes, description, radio/checkbox ul's, etc.margin-bottom: 0;}}.InputfieldHeaderHidden > .InputfieldContent, // applied to .Inputfield.InputfieldHeaderHidden + .InputfieldContent { // applied to .InputfieldHeader// when header not visible, make top padding in content consistent with other headers// Example: checkbox fields lacking a description or Markup fields with no labelpadding-top: @pw-inputfield-header-padding-top + 3px;}/*** Inputfield states: collapsed & required *********************************************/.InputfieldStateCollapsed {> .InputfieldHeader {// header when collapsedpadding-bottom: @pw-inputfield-header-padding-bottom;background: @pw-inputfield-background-none;color: @global-muted-color;&:hover {color: @global-link-color;}&:after {content: " \2026"; // ellipsis}}> .InputfieldContent {// collapsed Inputfields don't show their content (only header)display: none;}}.InputfieldStateRequired > .InputfieldHeader:first-child:after {// Add asterisk to indicate field is requiredcontent: ' *';color: red;}/*** InputfieldFieldset ***************************************************/.InputfieldFieldset {// fieldset containing other Inputfield elements> .InputfieldHeader,> .InputfieldContent {// adjust background color for fieldsetsbackground: @pw-inputfield-fieldset-background;}&.WireTab {// fieldsets that are tabs do not have a background or border/outlineoutline: none;> .InputfieldContent {background: none;padding-left: 0;padding-right: 0;> .Inputfields > .InputfieldMarkup {outline: none;}}}&.InputfieldStateCollapsed > .InputfieldHeader {// collapsed fieldset has no background color adjustmentbackground: @pw-inputfield-background-none;}> .InputfieldContent > .Inputfields {// a set of .Inputfields rendered within the content area of a Fieldset// remove background so previous shows throughbackground: none;.Inputfield {background: @pw-inputfield-background-none;}}}/*** InputfieldNoBorder ***************************************************/.InputfieldNoBorder {// An inputfield that has no borders or background&:not(.InputfieldStateCollapsed):not(.InputfieldFieldset) {// Inputfield with no border that is open (not collapsed)outline: none;> .InputfieldHeader,> .InputfieldContent {padding-left: 0;padding-right: 0;background: none;}> .InputfieldHeader {// half bottom padding in headerpadding-bottom: @pw-inputfield-header-padding-bottom / 2;}}&.InputfieldStateCollapsed {// collapsed NoBorder inputfieldpadding-left: 0;> .InputfieldHeader {padding-left: 0;}}&:not(.InputfieldColumnWidth) {// reduced margin when there is no bordermargin-bottom: 0;+ .InputfieldNoBorder:not(.InputfieldColumnWidth) {// two no-border inputfields on top of one another: reduce the margins between themmargin-top: 0;}}&.InputfieldColumnWidth:not(.InputfieldColumnWidthFirst) {// horizontal space between floated columnspadding-left: @pw-inputfield-margin;}} // .NoBorder.InputfieldColumnWidth:not(.InputfieldNoBorder) + .InputfieldNoBorder:not(.InputfieldColumnWidth) {// more margin when row of columns is followed by a 100% width NoBorder columnmargin-top: @pw-inputfield-margin;}/*** Card style Inputfield elements *******************************************************/.Inputfield.uk-card {> .InputfieldHeader {padding: @pw-inputfield-header-cards-padding;padding-bottom: 0;}> .InputfieldContent {padding: @pw-inputfield-content-cards-padding;}&.InputfieldStateCollapsed > .InputfieldHeader {padding: @pw-inputfield-header-cards-padding;}> .InputfieldHeaderHidden + .InputfieldContent {// when header not visible, make top padding in content consistent with other headerspadding-top: @pw-inputfield-header-cards-padding-top;}}/*** Inputfields in table, like in Lister/ListerPro *****************************************/table.AdminDataTable {.Inputfields {margin: 0;padding: 0;.Inputfield {outline: none;.InputfieldContent {padding: 0;}}}}