Browse Source

Bug 20427: Convert OPAC LESS to SCSS

This patch converts the OPAC LESS files to SCSS. In the process of
converting opac.less (and other .less files) to .scss, I have improved
the completeness of the nesting, reordered properties, and in general
done cleanup based on rules in .scss-lint.yml. All of these changes
should have no impact on the style of the OPAC.

This patch modifies the commands used to compile CSS so that OPAC and
staff assets can be processed separately:

'yarn build' <-- Builds the staff client assets by default
'yarn build --view opac' <-- Builds OPAC assets

To test, apply the patch and compile the CSS by running the command
above (or apply the follow-up patch with compiled CSS).

Do a thorough review of the OPAC, taking care to cover as many pages as
possible and checking responsive behavior at the same time. There should
be no visual differences in the OPAC before and after applying the
patch.

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
tags/v18.11.00
Owen Leonard 2 years ago
committed by Nick Clemens
parent
commit
2df87a94f5
11 changed files with 3853 additions and 3226 deletions
  1. +1
    -0
      .gitignore
  2. +245
    -0
      .scss-lint.yml
  3. +13
    -5
      gulpfile.js
  4. +10
    -0
      koha-tmpl/opac-tmpl/bootstrap/css/src/_mixins.scss
  5. +179
    -148
      koha-tmpl/opac-tmpl/bootstrap/css/src/_responsive.scss
  6. +2977
    -0
      koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss
  7. +251
    -0
      koha-tmpl/opac-tmpl/bootstrap/css/src/print.scss
  8. +177
    -169
      koha-tmpl/opac-tmpl/bootstrap/css/src/right-to-left.scss
  9. +0
    -12
      koha-tmpl/opac-tmpl/bootstrap/less/mixins.less
  10. +0
    -2634
      koha-tmpl/opac-tmpl/bootstrap/less/opac.less
  11. +0
    -258
      koha-tmpl/opac-tmpl/bootstrap/less/print.less

+ 1
- 0
.gitignore View File

@@ -3,4 +3,5 @@
/Makefile
/pm_to_blib
node_modules/
koha-tmpl/opac-tmpl/bootstrap/css/maps/
koha-tmpl/intranet-tmpl/prog/css/maps/

+ 245
- 0
.scss-lint.yml View File

@@ -0,0 +1,245 @@
# Default application configuration that all configurations inherit from.

scss_files: "**/*.scss"
plugin_directories: ['.scss-linters']

# List of gem names to load custom linters from (make sure they are already
# installed)
plugin_gems: []

# Default severity of all linters.
severity: warning

linters:
BangFormat:
enabled: true
space_before_bang: true
space_after_bang: false

BemDepth:
enabled: false
max_elements: 1

BorderZero:
enabled: true
convention: zero # or `none`

ChainedClasses:
enabled: false

ColorKeyword:
enabled: false

ColorVariable:
enabled: false

Comment:
enabled: false
style: silent

DebugStatement:
enabled: true

DeclarationOrder:
enabled: true

DisableLinterReason:
enabled: false

DuplicateProperty:
enabled: true

ElsePlacement:
enabled: true
style: same_line # or 'new_line'

EmptyLineBetweenBlocks:
enabled: true
ignore_single_line_blocks: true

EmptyRule:
enabled: true

ExtendDirective:
enabled: false

FinalNewline:
enabled: true
present: true

HexLength:
enabled: false
style: short # or 'long'

HexNotation:
enabled: true
style: uppercase # or 'lowercase'

HexValidation:
enabled: true

IdSelector:
enabled: false

ImportantRule:
enabled: true

ImportPath:
enabled: true
leading_underscore: false
filename_extension: false

Indentation:
enabled: true
allow_non_nested_indentation: false
character: space # or 'tab'
width: 4

LeadingZero:
enabled: true
style: exclude_zero # or 'include_zero'

MergeableSelector:
enabled: true
force_nesting: true

NameFormat:
enabled: true
allow_leading_underscore: true
convention: hyphenated_lowercase # or 'camel_case', or 'snake_case', or a regex pattern

NestingDepth:
enabled: true
max_depth: 4
ignore_parent_selectors: false

PlaceholderInExtend:
enabled: true

PrivateNamingConvention:
enabled: false
prefix: _

PropertyCount:
enabled: false
include_nested: false
max_properties: 10

PropertySortOrder:
enabled: true
ignore_unspecified: false
min_properties: 2
separate_groups: false

PropertySpelling:
enabled: true
extra_properties: []
disabled_properties: []

PseudoElement:
enabled: true

QualifyingElement:
enabled: true
allow_element_with_attribute: false
allow_element_with_class: false
allow_element_with_id: false

SelectorDepth:
enabled: true
max_depth: 4

SelectorFormat:
enabled: false
convention: hyphenated_lowercase # or 'classic_BEM', or 'hyphenated_BEM', or 'snake_case', or 'camel_case', or a regex pattern

Shorthand:
enabled: true
allowed_shorthands: [1, 2, 3, 4]

SingleLinePerProperty:
enabled: true
allow_single_line_rule_sets: false

SingleLinePerSelector:
enabled: true

SpaceAfterComma:
enabled: true
style: one_space # or 'no_space', or 'at_least_one_space'

SpaceAfterComment:
enabled: false
style: one_space # or 'no_space', or 'at_least_one_space'
allow_empty_comments: true

SpaceAfterPropertyColon:
enabled: true
style: one_space # or 'no_space', or 'at_least_one_space', or 'aligned'

SpaceAfterPropertyName:
enabled: true

SpaceAfterVariableColon:
enabled: false
style: one_space # or 'no_space', 'at_least_one_space' or 'one_space_or_newline'

SpaceAfterVariableName:
enabled: true

SpaceAroundOperator:
enabled: true
style: one_space # or 'at_least_one_space', or 'no_space'

SpaceBeforeBrace:
enabled: true
style: space # or 'new_line'
allow_single_line_padding: false

SpaceBetweenParens:
enabled: true
spaces: 1

StringQuotes:
enabled: true
style: double_quotes # or single_quotes

TrailingSemicolon:
enabled: true

TrailingWhitespace:
enabled: true

TrailingZero:
enabled: false

TransitionAll:
enabled: false

UnnecessaryMantissa:
enabled: true

UnnecessaryParentReference:
enabled: true

UrlFormat:
enabled: true

UrlQuotes:
enabled: true

VariableForProperty:
enabled: false
properties: []

VendorPrefix:
enabled: true
identifier_list: base
additional_identifiers: []
excluded_identifiers: []

ZeroUnit:
enabled: true

Compass::*:
enabled: false

+ 13
- 5
gulpfile.js View File

@@ -26,28 +26,36 @@ var sassOptions = {
precision: 3
}

if( gutil.env.view == "opac" ){
var css_base = OPAC_CSS_BASE;
var js_base = OPAC_JS_BASE;
} else {
var css_base = STAFF_CSS_BASE;
var js_base = STAFF_JS_BASE;
}

gulp.task( "default", ['watch'] );

// CSS processing for development
gulp.task('css', function() {
return gulp.src( STAFF_CSS_BASE + "/src/**/*.scss" )
return gulp.src( css_base + "/src/**/*.scss" )
.pipe(sourcemaps.init())
.pipe(sass( sassOptions ).on('error', sass.logError))
.pipe(autoprefixer())
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest( STAFF_CSS_BASE ));
.pipe(gulp.dest( css_base ));
});

// CSS processing for production

gulp.task('build', function() {
return gulp.src( STAFF_CSS_BASE + "/src/**/*.scss" )
return gulp.src( css_base + "/src/**/*.scss" )
.pipe(sass( sassOptions ).on('error', sass.logError))
.pipe(autoprefixer())
.pipe(cssnano())
.pipe(gulp.dest( STAFF_CSS_BASE ));
.pipe(gulp.dest( css_base ));
});

gulp.task('watch', function(){
gulp.watch( STAFF_CSS_BASE + "/src/**/*.scss", ['css'] );
gulp.watch( css_base + "/src/**/*.scss", ['css'] );
});

+ 10
- 0
koha-tmpl/opac-tmpl/bootstrap/css/src/_mixins.scss View File

@@ -0,0 +1,10 @@
$color: #999999;
$links: #0076B2;

@mixin shadowed {
box-shadow: 0 1px 1px 0 rgba( 0, 0, 0, .2 );
}

@mixin border-radius-all( $radius: 3px ) {
border-radius: $radius;
}

koha-tmpl/opac-tmpl/bootstrap/less/responsive.less → koha-tmpl/opac-tmpl/bootstrap/css/src/_responsive.scss View File

@@ -1,60 +1,48 @@
@import "mixins.less";
@media only screen and (min-width: 0px) and (max-width: 304px) {
@import "mixins";

@media only screen and ( min-width: 0 ) and ( max-width: 304px ) {
/* Screens bewteen 0 and 304 pixels wide */
#oh:after {
content: "(min-width: 0px) and (max-width: 304px)";
}
input,
select,
textarea {
width : auto;
max-width : 11em;
max-width: 11em;
width: auto;
}
}

@media only screen and (min-width: 0px) and (max-width: 390px){
@media only screen and ( min-width: 0 ) and ( max-width: 390px ){
/* Screens bewteen 0 and 390 pixels wide */
#oh:after {
content: "(min-width: 0px) and (max-width: 390px)";
}
.ui-tabs .ui-tabs-nav li a,
.statictabs li a {
padding: .1em .5em;
}
.input-fluid {
width : 90%;
}
}

@media only screen and (min-width: 305px) and (max-width: 341px) {
/* Screens bewteen 305 and 341 pixels wide */
#oh:after {
content: "(min-width: 305px) and (max-width: 341px)";
.input-fluid {
width: 90%;
}
}

@media only screen and (min-width: 342px) and (max-width: 479px) {
@media only screen and ( min-width: 342px ) and ( max-width: 479px ) {
/* Screens bewteen 342 and 479 pixels wide */
#oh:after {
content: "(min-width: 342px) and (max-width: 479px)";
}
.input-fluid {
width : 75%;
width: 75%;
}

.searchsuggestion {
display: block;
}
}
/* Override Bootstrap Responsive CSS fixed navbar */
@media (max-width: 979px) {
.navbar-fixed-top,
.navbar-fixed-bottom {
position: fixed;
margin-left: 0px;
margin-right: 0px;
}
@media ( max-width: 979px ) {
.navbar-fixed-top,
.navbar-fixed-bottom {
margin-left: 0;
margin-right: 0;
position: fixed;
}
}
@media only screen and (max-width: 608px) {

@media only screen and ( max-width: 608px ) {
/* Screens below 608 pixels wide */
fieldset {
&.rows {
@@ -63,30 +51,38 @@
float: none;
text-align: left;
}

li {
padding-bottom : .5em;
padding-bottom: .5em;
}

ol {
margin-left : 0;
margin-left: 0;
}

.hint {
margin-left: 0;
}
}
}

body {
padding: 0;
}

.tdlabel {
display: inline;
}

.navbar-fixed-top,
.navbar-static-top {
margin : 0;
margin: 0;
}

.navbar-inner {
padding : 0;
padding: 0;
}

.checkall,
.clearall,
.highlight_controls,
@@ -96,388 +92,423 @@
#remove-selected {
display: none;
}

.table td.bibliocol {
padding-left: 1.3em;
}

.actions {
display: block;
a, #login4tags {

a,
#login4tags {
@include border-radius-all( 4px );
background-color: #F2F2EF;
border : 1px solid #DDD;
.border-radius-all(4px);
font-weight: bold;
border: 1px solid #DDD;
display: block;
font-size: 120%;
font-weight: bold;
margin: 2px 0;
}

.label {
display: block;
font-weight: bold;
}

#login4tags {
margin-right: 1em;
}
}

#opac-main-search {
button,
input,
select,
.librarypulldown .transl1,
.input-append {
@include border-radius-all( 5px );
box-sizing: border-box;
display: block;
height: 120%;
width : 97%;
margin: .5em 0;
max-width: 100%;
margin : .5em 0;
.border-radius-all(5px);
width: 97%;
}

.input-append {
margin : 0;
margin: 0;
width: 100%;
}

.librarypulldown .transl1 {
width : 94.5%;
width: 94.5%;
}
}

#toolbar .resort {
font-size : 14px;
@include border-radius-all( 5px );
font-size: 14px;
margin: .5em 0;
max-width: 100%;
margin : .5em 0;
padding : 4px 6px;
.border-radius-all(5px);
padding: 4px 6px;
}

.mastheadsearch {
margin : 0;
.border-radius-all(0px);
@include border-radius-all( 0 );
margin: 0;

}

.main {
margin : .5em 0;
padding : 15px;
.border-radius-all(0px);
@include border-radius-all( 0 );
margin: .5em 0;
padding: 15px;
}

.breadcrumb {
margin : 10px 0;
margin: 10px 0;
}

#moresearches {
text-align: center;
}

#searchsubmit {
font-weight: bold;
}

.ui-tabs-panel,
.tabs-container,
#topissues,
#usertags,
#usersuggestions {
.item-thumbnail {
margin : .5em 0 0 .5em;
margin: .5em 0 0 .5em;
}

.table-bordered {
border : none;
border: 0;
}

.table {
th,
thead {
display: none;
}

td {
border-right : 1px solid #dddddd;
border-left : 1px solid #dddddd;
border-top : 0;
display : block;
padding : .2em;
border-left: 1px solid #DDDDDD;
border-right: 1px solid #DDDDDD;
border-top: 0;
display: block;
padding: .2em;
}

p {
margin-bottom : 2px;
margin-bottom: 2px;
}
}

tr {
display: block;
margin-bottom : .6em;
margin-bottom: .6em;

td:first-child {
border-top : 1px solid #dddddd;
border-radius: 5px 5px 0 0;
border-top: 1px solid #DDDDDD;
}

td:last-child {
border-bottom: 2px solid #CACACA;
border-radius: 0 0 5px 5px;
border-bottom : 2px solid #CACACA;
}
}
}

.no-image {
display : none;
display: none;
}
}

@media only screen and (max-width: 700px) {
@media only screen and ( max-width: 700px ) {
/* Screens below 700 pixels wide */
#opac-main-search {
label {
display: none;
}
}

#logo {
background: transparent url("../lib/bootstrap/img/glyphicons-halflings-white.png") no-repeat;
background: transparent url( "../lib/bootstrap/img/glyphicons-halflings-white.png" ) no-repeat;
background-position: 0 -24px;
margin: 14px 14px 0 14px;
width: 14px;

a {
padding:14px 0 0;
width:14px;
padding: 14px 0 0;
width: 14px;
}
}

#user-menu-trigger {
display: inline;
margin-right : 12px;
margin-right: 12px;
}

#members {
clear: both;
display: none;
clear : both;
li {
border-bottom: 1px solid #555;
padding-right: 20px;
text-align: right;
border-bottom : 1px solid #555;
&:first-child {
border-top : 1px solid #555;
border-top: 1px solid #555;
}

&:last-child {
border-bottom : none;
border-bottom: 0;
}
}

.nav {
float: none;

> li {
float: none;
}

&.pull-right {
float: none;
}
}
.nav>li {
float: none;
}

.divider-vertical {
border : 0;
height : 0;
margin : 0;
border: 0;
height: 0;
margin: 0;
}
}
}

@media only screen and (min-width: 480px) and (max-width: 608px) {
@media only screen and ( min-width: 480px ) and ( max-width: 608px ) {
/* Screens between 480 and 608 pixels wide */
#oh:after {
content: " Between 480 pixels and 608 pixels. ";
}
.input-fluid {
width : 75%;
width: 75%;
}
}

@media only screen and (min-width: 608px) {
@media only screen and ( min-width: 608px ) {
#views {
border-bottom : 1px solid #D6D6D6;
border-bottom: 1px solid #D6D6D6;
margin: 0;
padding: 0;
white-space : nowrap;
white-space: nowrap;
}

.view {
border-bottom-width: 0;
border-radius: 0;
border-right-width: 0;
border-top-width: 0;
border-bottom-width: 0;
}

.current-view {
border: 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
box-shadow: none;
}
}

@media only screen and (min-width: 608px) and (max-width: 767px) {
@media only screen and ( min-width: 608px ) and ( max-width: 767px ) {
/* Screens between 608 and 767 pixels wide */
#oh:after {
content: " Between 608 pixels and 767 pixels. ";
}
.main {
padding: 0.8em 20px;
padding: .8em 20px;
}

.breadcrumb {
margin : 10px 0;
margin: 10px 0;
}

.navbar-static-bottom {
margin-left : -20px;
margin-right : -20px;
margin-left: -20px;
margin-right: -20px;
}

.row-fluid input.span6 {
width: 48.9362%;
}
}

@media only screen and (max-width: 767px) {
@media only screen and ( max-width: 767px ) {
/* Screens below 767 pixels wide */
a {
&.title {
font-size: 120%;
}
}

#userresults {
margin : 0 -20px;
margin: 0 -20px;
}

.breadcrumb,
#top-pages,
.menu-collapse {
display: none;
}

#search-facets,
#menu {
margin-bottom: .5em;

h4 {
display: block;
margin : 0;
padding : 0;
margin: 0;
padding: 0;

a {
.border-radius-all(7px);
@include border-radius-all( 7px );
border-bottom: 0;
font-weight: normal;
padding: .7em .2em;
}
}

ul {
padding: 0;
}
}

#menu {
li {
a {
.border-radius-all(0px);
border : 0;
@include border-radius-all( 0 );
border: 0;
border-bottom: 1px solid #D8D8D8;
display: block;
font-size: 120%;
text-decoration: none;
border-bottom: 1px solid #D8D8D8;
margin: 0;
text-decoration: none;
}

&.active {
a {
border-top: 1px solid #D8D8D8;
border-right-width: 1px;
border-top: 1px solid #D8D8D8;
}
}

&:last-child {
a {
-webkit-border-radius: 0 0 7px 7px;
-moz-border-radius: 0 0 7px 7px;
border-radius: 0 0 7px 7px;
border-radius: 0 0 7px 7px;
}
}
}
}

#search-facets {
li {
padding : .4em;
padding: .4em;
}

h5 {
margin: .2em;
}
}

#menu h4 a.menu-open,
#search-facets h4 a.menu-open {
-webkit-border-radius: 7px 7px 0 0;
-moz-border-radius: 7px 7px 0 0;
border-radius: 7px 7px 0 0;
border-bottom: 1px solid #D8D8D8;
border-radius: 7px 7px 0 0;
}
}

@media only screen and (max-width: 800px) {
@media only screen and ( max-width: 800px ) {
/* Screens below 800 pixels wide */
.cartlabel,
.listslabel {
display: none;
}

.navbar {
.divider-vertical {
margin : 0 2px;
margin: 0 2px;
}

#members {
.divider-vertical {
margin : 0 9px;
margin: 0 9px;
}
}
}
}

@media only screen and (min-width: 768px) {
@media only screen and ( min-width: 768px ) {
/* Screens above 768 pixels wide */
.main {
margin-left: 20px;
margin-right: 20px;
}

#menu {
border : 0;
.border-radius-all(0px);
border-right : 1px solid #D8D8D8;
@include border-radius-all( 0 );
border: 0;
border-right: 1px solid #D8D8D8;

h4 {
display: none;
}

ul {
padding: 1em 0 1em 0;
}
}

#didyoumean {
margin: 0;
}

.searchsuggestion {
white-space: nowrap;
}
}

@media only screen and (min-width: 768px) and (max-width: 984px) {
@media only screen and ( min-width: 768px ) and ( max-width: 984px ) {
/* Screens between 768 and 984 pixels wide */
#oh:after {
content: " Between 768 and 984 pixels. ";
}
.librarypulldown .transl1 {
width : 38%;
width: 38%;
}
}

@media only screen and (max-width: 984px) {
/* Screens up to 984 pixels wide */
// #oh:after {
// content: " Below 984 pixels. ";
// }
}

@media only screen and (min-width: 984px) {
@media only screen and ( min-width: 984px ) {
/* Screens above 969 pixels wide */
#oh:after {
content: " Above 984 pixels. ";
}
.librarypulldown .transl1 {
width : 53%;
width: 53%;
}

}

@media only screen and (max-width: 1040px) {
@media only screen and ( max-width: 1040px ) {
.pg_menu {
li {
a {
float: none;
text-align : left;
text-align: left;
}

&.back_results {
a {
border : 1px solid #D0D0D0;
border-width : 1px 0 1px 0;
border: 1px solid #D0D0D0;
border-width: 1px 0 1px 0;
}
}
}
}

#ulactioncontainer {
min-width : 0;
min-width: 0;
}
}

+ 2977
- 0
koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss
File diff suppressed because it is too large
View File


+ 251
- 0
koha-tmpl/opac-tmpl/bootstrap/css/src/print.scss View File

@@ -0,0 +1,251 @@
a:link {
color: #000066;
text-decoration: none;
}

a:visited {
color: #000066;
text-decoration: none;
}

a:hover {
color: #993300;
text-decoration: none;
}

body {
background-color: #FFF;
color: #333333;
font-family: arial, geneva, sans-serif;
font-size: 14px;
margin: 0;
word-wrap: break-word;
}

caption {
color: #000066;
font-size: 18px;
font-weight: bold;
margin-top: 5px;
text-align: left;
}

.table {
width: 100%;
}

form {
margin: 0;
padding: 0;
}

h1 {
color: #000066;
font-size: 22px;
font-weight: bold;
margin-bottom: 3px;
margin-top: 3px;
}

h2 {
color: #000066;
font-size: 20px;
font-weight: bold;
margin-bottom: 3px;
margin-top: 3px;
}

h3 {
color: #000066;
font-size: 18px;
font-weight: bold;
margin-bottom: 3px;
margin-top: 3px;
}

h4 {
color: #000066;
font-size: 16px;
font-weight: bold;
margin-bottom: 3px;
margin-top: 3px;
}

h5 {
color: #000066;
font-size: 15px;
font-weight: bold;
margin-bottom: 1px;
margin-top: 1px;
}

h6 {
color: #000066;
font-size: 14px;
font-weight: bold;
margin-bottom: 1px;
margin-top: 1px;
}

p {
margin-top: 0;
}

table {
background-color: #FFFFFF;
border-bottom: 0 solid #CCCCCC;
border-collapse: collapse;
border-left: 0 solid #CCCCCC;
margin: 3px 0 5px 0;
padding: 0;
width: 99%;
}

td {
background-color: #FFF;
border-bottom: 1px solid #CCCCCC;
border-right: 1px solid #CCCCCC;
padding: 5px;
vertical-align: top;
}

td:last-child {
background-color: #FFF;
border-bottom: 1px solid #CCCCCC;
border-right: 0 solid #CCCCCC;
padding: 5px;
vertical-align: top;
}

th {
background-color: #E9E9E9;
border-bottom: 1px solid #CCCCCC;
border-right: 1px solid #CCCCCC;
font-weight: bold;
padding: 5px;
}

th:last-child {
background-color: #E9E9E9;
border-bottom: 1px solid #CCCCCC;
border-right: 0 solid #CCCCCC;
font-weight: bold;
padding: 5px;
}

tr.highlight {
background-color: #E9E9E9;
}

body#basket tr.highlight {
background-color: transparent;
}

body#basket a {
font-weight: bold;
}

body#basket table {
border-left: 1px solid #EEE;
border-top: 1px solid #EEE;
}
body#basket td,
body#basket th {
background-color: transparent;
padding: 2px;
}

body#basket th {
background-color: #EEE;
}

body#basket th,
body#basket th[scope=col] {
text-align: center;
vertical-align: middle;
}

body#basket th[scope=row] {
font-size: 89%;
text-align: right;
vertical-align: top;
width: 10%;
}

body#basket p {
font-size: 85%;
margin: .2em 0;
text-indent: .5em;
}

.error {
font-weight: bold;
}

.ex {
font-family: "Courier New", Courier, monospace;
}

.inline {
display: inline;
}

#bookcover {
float: left;
margin: 0;
padding: 0;
}

#userresults {
display: block;
position: absolute;
right: 0;
word-wrap: break-word;
}

#userupdate input,
#userupdate textarea {
border: 0;
display: inline;
}

#action,
#addshelf,
#bibliodescriptions .ui-tabs-nav,
#export,
#facetcontainer,
#members,
#navigation,
#opac-main-search,
#opac-user-views .ui-tabs-nav,
#remove-selected,
#selections-toolbar,
#toolbar,
.actions,
.breadcrumb,
.ft,
.koha_url,
.list-actions,
.navbar,
.noprint,
.pages,
.results_summary.actions,
.screen,
.suggestion,
.views,
a[href]:after,
fieldset.action,
h2 span.hint,
input,
td.resultscontrol {
display: none;
}

.row-fluid {
margin-top: 30px;
}

#views,
#ulactioncontainer {
display: none;
}

koha-tmpl/opac-tmpl/bootstrap/less/right-to-left.less → koha-tmpl/opac-tmpl/bootstrap/css/src/right-to-left.scss View File

@@ -1,11 +1,57 @@
.popup {
padding-right : 0;
padding-left: 0;
padding-right: 0;
}

a {
&.cancel {
padding-right : 1em;
padding-right: 1em;
}

&.addtocart,
&.addtoshelf,
&.highlight_toggle,
&.incart,
&.print-large,
&.reserve {
padding-right: 35px;
}

&.brief,
&.tag_add,
&.detail {
padding-right: 27px;
}

&.download {
padding-right: 20px;
}

&.editshelf {
padding-right: 26px;
}

&.hide {
padding-right: 26px;
}

&.empty,
&.print-small {
padding-right: 30px;
}

&.hold,
&.new {
padding-right: 23px;
}

&.removeitems,
&.deleteshelf {
padding-right: 25px;
}

&.send {
padding-right: 28px;
}
}

@@ -14,66 +60,85 @@ h1 {
float: right !important;
}
}

input.hold {
padding-right: 23px;
}

caption {
text-align: right;
}

#basketcount {
span {
margin : 0 .9em 0 0;
margin: 0 .9em 0 0;
}
}

#koha_url p {
float : left;
float: left;
}

.actions {
a {
&.hold {
margin-left : 1em;
padding-right : 21px;
margin-left: 1em;
padding-right: 21px;
}

&.addtocart {
margin-left : 1em;
padding-right : 20px;
margin-left: 1em;
padding-right: 20px;
}

&.addtoshelf {
margin-left : 1em;
padding-right : 20px;
margin-left: 1em;
padding-right: 20px;
}

&.addtolist {
margin-left : 1em;
padding-right : 20px;
margin-left: 1em;
padding-right: 20px;
}

&.tag_add {
margin-left : 1em;
padding-right : 20px;
margin-left: 1em;
padding-right: 20px;
}

/* List contents remove from list link */
&.removefromlist {
margin-left : 1em;
padding-right : 15px;
&.removefromlist {
margin-left: 1em;
padding-right: 15px;
}
}
}

.ui-tabs .ui-tabs-nav li {
margin-left : .4em;
margin-left: .4em;
}

.statictabs {
li {
float: right;
margin-left: 0.4em;
margin-left: .4em;

a {
float: right;
}
}
}

#bookcover .no-image {
margin-left : 10px;
#bookcover {
float: right;

img {
margin: 0 0 1em 1em;
}

.no-image {
margin-left: 10px;
}
}

th.sum {
@@ -81,37 +146,43 @@ th.sum {
}

th[scope=row] {
text-align : left;
text-align: left;
}

fieldset {
&.rows {
float : right;
clear : right;
clear: right;
float: right;

label,
.label {
float: right;
margin-left: 1em;
text-align: left;
}

ol {
&.lradio {
label {
margin-left : 0;
margin-left: 0;

&.lradio {
float : right;
margin-left : 1em;
float: right;
margin-left: 1em;
}
}
}
}

li {
float : right;
clear : right;
clear: right;
float: right;

&.lradio {
padding-right: 8.5em;

label {
margin : 0 1em 0 0;
margin: 0 1em 0 0;
}
}
}
@@ -119,25 +190,30 @@ fieldset {
}

div.rows {
float : right;
clear : right;
span.label {
float: right;
clear: right;

.label {
float: right;
margin-left: 1em;
text-align: right;
}

ol {
margin-right : 0;
margin-right: 0;
padding: .5em 0 0 1em;
}

li {

float : right;
clear : right;
clear: right;
float: right;
}

ul {
li {
margin-right : 7.3em;
margin-right: 7.3em;

&:first-child {
margin-right: 0;
}
@@ -146,26 +222,31 @@ div.rows {
}

.toolbar {
padding:3px 5px 5px 3px;
padding: 3px 5px 5px 3px;

label {
margin-right : .5em;
margin-right: .5em;
}

.hold,
#tagsel_tag {
padding-right: 28px;
}

li {
a {
border-right : 1px solid #e8e8e8;
border-right: 1px solid #E8E8E8;
}

&:first-child {
a {
border-right : 0;
border-right: 0;
}
}
}

ul {
padding-right : 0;
padding-right: 0;
}
}

@@ -174,12 +255,12 @@ div.rows {
}

#selections-toolbar {
padding-right : 10px;
padding-right: 10px;
}

#tagsel_span input.submit,
#tagsel_tag {
padding-right : 25px;
padding-right: 25px;
}

#tagsel_span input.disabled,
@@ -190,26 +271,16 @@ div.rows {
#selections-toolbar input.hold.disabled:hover,
#selections-toolbar a.disabled,
#selections-toolbar a.disabled:hover {
padding-right : 23px;
padding-right: 23px;
}

#views {
padding : 0 0.2em 0.2em 2em;
padding: 0 .2em .2em 2em;
}

#bibliodescriptions,
#isbdcontents {
clear : right;
}

#bookcover {
float : right;
.no-image {
margin-left : 10px;
}
img {
margin : 0 0 1em 1em;
}
clear: right;
}

/* pagination */
@@ -219,18 +290,20 @@ div.rows {


.back {
float:left;
float: left;
}

.pagination_list {
ul {
padding-right:0px;
padding-right: 0;
}

li {
a {
padding-right:0px;
padding-right: 0;
}
}

.li_pag_index {
float: right;
padding-left: 10px;
@@ -242,134 +315,63 @@ div.rows {
li {
&.back_results {
a {
border-right: 1px solid #D0D0D0;
border-left: 1px solid #D0D0D0;
border-right: 1px solid #D0D0D0;
}
}

a,
span {
float:right;
float: right;
}
}
}

#listResults{
li {
margin-left:1px;
margin-left: 1px;
}
}

/* nav */
.nav_pages {
.close_pagination {
padding-left: 10px;
left: 3px;
padding-left: 10px;
}

li {
float:right;
float: right;

ul {
float:right;
float: right;
}
}
}

#format,
#furthersearches {
padding-right : 35px;
padding-right: 35px;
}

.highlight_controls {
float: right;
}

a.addtocart {
padding-right : 35px;
}

a.addtoshelf {
padding-right : 35px;
}

a.brief {
padding-right : 27px;
}

a.detail {
padding-right : 27px;
}

a.download {
padding-right : 20px;
}

a.editshelf {
padding-right : 26px;
}

a.empty {
padding-right : 30px;
}

a.hide {
padding-right : 26px;
}

a.highlight_toggle {
padding-right : 35px;
}

a.hold,
input.hold {
padding-right : 23px;
}

a.incart {
padding-right : 35px;
}

a.new {
padding-right : 23px;
}

a.print-small {
padding-right : 30px;
}

a.print-large {
padding-right : 35px;
}

a.removeitems,
a.deleteshelf {
padding-right : 25px;
}

a.reserve {
padding-right : 35px;
}

a.send {
padding-right : 28px;
}

a.tag_add {
padding-right : 27px;
}

input.editshelf {
padding-right : 29px;
padding-right: 29px;
}

.newshelf {
padding-right : 28px;
padding-right: 28px;
}

.deleteshelf {
padding-right : 25px;
padding-right: 25px;
}

#login4tags {
padding-right : 20px;
padding-right: 20px;
}

.tag_results_input {
@@ -378,27 +380,27 @@ input.editshelf {

#social_networks {
span {
float : right;
margin : .5em .5em .5em 0 !important;
float: right;
margin: .5em .5em .5em 0 !important;
}
div {
float : right !important;
margin : .5em .2em .5em 0 !important;
float: right !important;
margin: .5em .2em .5em 0 !important;
}
}

#marc {
td,
th {
text-align : right;
text-align: right;
}
.results_summary {
clear : right;
clear: right;
}
}

#plainmarc th {
text-align:right;
text-align: right;
}

#renewcontrols {
@@ -427,13 +429,15 @@ input.editshelf {
}

#menu {
border : 0 solid #D8D8D8;
border: 0 solid #D8D8D8;
border-left-width: 1px;

li {
a {
border-radius: 0 5px 5px 0;
margin-left: -1px;
}

&.active {
a {
border-left-width: 0;
@@ -445,20 +449,20 @@ input.editshelf {

/* Search results add to cart (lists disabled) */
.addto a.addtocart {
padding-right : 33px;
padding-right: 33px;
}

.searchresults {
a {
&.highlight_toggle {
padding : 0 21px 0 10px;
padding: 0 21px 0 10px;
}
}
}

.commentline .avatar {
float : left;
padding-right : .5em;
float: left;
padding-right: .5em;
}

span.sep {
@@ -475,9 +479,9 @@ span.sep {

.pages span:last-child,
.pages a:last-child {
border-width: 1px 0 1px 1px;
border-bottom-left-radius: 3px;
border-top-left-radius: 3px;
border-width: 1px 0 1px 1px;
}

.pages .inactive,
@@ -493,7 +497,7 @@ span.sep {
}

.close {
left : auto;
left: auto;
}

/* Redefine a new style for Bootstrap's class "close" since we use that already */
@@ -501,34 +505,37 @@ span.sep {
.alert .closebtn {
left:-21px;
}

.closebtn {
float:left;
float: left;
}

#logo {
float : right !important;
float: right !important;
}

/* Class to be added to toolbar when it starts being fixed at the top of the screen*/
.floating {
-webkit-box-shadow: 0px 0px 2px 3px rgba(0, 0, 0, .4);
box-shadow: 0px 0px 2px 3px rgba(0, 0, 0, .4);
box-shadow: 0 0 2px 3px rgba( 0, 0, 0, .4 );
}


.table {
.sorting_asc {
padding-left: 19px;
background: url("../images/asc.gif") no-repeat scroll left center #ECEDE6;
padding-left: 19px;
}

.sorting_desc {
padding-left: 19px;
background: url("../images/desc.gif") no-repeat scroll left center #ECEDE6;
}

.sorting {
padding-left: 19px;
background: url("../images/ascdesc.gif") no-repeat scroll left center #ECEDE6;
}

.nosort,
.nosort.sorting_asc,
.nosort.sorting_desc,
@@ -536,18 +543,19 @@ span.sep {
padding-left: 19px;
}
}

.tags {
ul {
margin-right : 0;
margin-right: 0;
}
}

.coverimages {
float : left;
float: left;
}

#i18nMenu {
margin-right : 1em;
margin-right: 1em;
}

#overdrive-results {
@@ -556,6 +564,6 @@ span.sep {

.navbar {
.pull-right {
float : left;
float: left;
}
}
}

+ 0
- 12
koha-tmpl/opac-tmpl/bootstrap/less/mixins.less View File

@@ -1,12 +0,0 @@
@links : #0076B2;
@color : #999999;
.shadowed {
-webkit-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, .2);
-moz-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, .2);
box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, .2);
}
.border-radius-all(@radius: 3px) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}

+ 0
- 2634
koha-tmpl/opac-tmpl/bootstrap/less/opac.less
File diff suppressed because it is too large
View File


+ 0
- 258
koha-tmpl/opac-tmpl/bootstrap/less/print.less View File

@@ -1,258 +0,0 @@
.noprint {
display : none;
}

a:link {
color : #000066;
text-decoration: none;
}

a:visited {
color : #000066;
text-decoration: none;
}

a:hover {
color : #993300;
text-decoration: none;
}

a[href]:after { display:none; }

body {
background-color : #FFF;
color : #333333;
font-family : arial, geneva, sans-serif;
font-size : 14px;
margin : 0px 0px 0px 0px;
word-wrap : break-word;
}

caption {
color : #000066;
font-size : 18px;
font-weight : bold;
margin-top : 5px;
text-align : left;
}

div.table {
width : 100%;
}

form {
margin : 0px;
padding : 0px;
}

h1
{
color : #000066;
font-size : 22px;
font-weight : bold;
margin-bottom : 3px;
margin-top : 3px;
}

h2 {
color : #000066;
font-size : 20px;
font-weight : bold;
margin-bottom : 3px;
margin-top : 3px;
}

h3 {
color : #000066;
font-size : 18px;
font-weight : bold;
margin-bottom : 3px;
margin-top : 3px;
}

h4 {
color : #000066;
font-size : 16px;
font-weight : bold;
margin-bottom : 3px;
margin-top : 3px;
}

h5 {
color : #000066;
font-size : 15px;
font-weight : bold;
margin-bottom : 1px;
margin-top : 1px;
}

h6 {
color : #000066;
font-size : 14px;
font-weight : bold;
margin-bottom : 1px;
margin-top : 1px;
}

p {
margin-top : 0px;
}

table {
background-color : #FFFFFF;
border-bottom : 0px solid #CCCCCC;
border-collapse : collapse;
border-left : 0px solid #CCCCCC;
margin : 3px 0px 5px 0px;
padding : 0px;
width : 99%;
}

td {
background-color : #FFF;
border-bottom : 1px solid #CCCCCC;
border-right : 1px solid #CCCCCC;
padding : 5px 5px 5px 5px;
vertical-align : top;
}

td:last-child {
background-color : #FFF;
border-bottom : 1px solid #CCCCCC;
border-right : 0px solid #CCCCCC;
padding : 5px 5px 5px 5px;
vertical-align : top;
}

th {
background-color : #E9E9E9;
border-bottom : 1px solid #CCCCCC;
border-right : 1px solid #CCCCCC;
font-weight : bold;
padding : 5px 5px 5px 5px;
}

th:last-child {
background-color : #E9E9E9;
border-bottom : 1px solid #CCCCCC;
border-right : 0px solid #CCCCCC;
font-weight : bold;
padding : 5px 5px 5px 5px;
}

tr.highlight {
background-color: #e9e9e9;
}

body#basket tr.highlight {
background-color : transparent;
}

body#basket a {
font-weight : bold;
}

body#basket table {
border-collapse: collapse;
}

body#basket td,
body#basket th {
background-color : transparent;
border: 0;
padding : 2px;
}

body#basket th {
background-color : #EEE;
border: 0;
}

body#basket th,
body#basket th[scope=col] {
border: 0;
text-align : center;
vertical-align : middle;
}

body#basket th[scope=row] {
border: 0;
font-size : 89%;
text-align : right;
vertical-align : top;
width : 10%;
}

#basket tr {
border-bottom: 1px solid #DDD;
}

body#basket p {
font-size : 85%;
margin : .2em 0;
text-indent : .5em;
}