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>
18.11.x
Owen Leonard 4 years ago
committed by Nick Clemens
parent
commit
2df87a94f5
  1. 1
      .gitignore
  2. 245
      .scss-lint.yml
  3. 18
      gulpfile.js
  4. 10
      koha-tmpl/opac-tmpl/bootstrap/css/src/_mixins.scss
  5. 327
      koha-tmpl/opac-tmpl/bootstrap/css/src/_responsive.scss
  6. 2977
      koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss
  7. 251
      koha-tmpl/opac-tmpl/bootstrap/css/src/print.scss
  8. 346
      koha-tmpl/opac-tmpl/bootstrap/css/src/right-to-left.scss
  9. 12
      koha-tmpl/opac-tmpl/bootstrap/less/mixins.less
  10. 2634
      koha-tmpl/opac-tmpl/bootstrap/less/opac.less
  11. 258
      koha-tmpl/opac-tmpl/bootstrap/less/print.less

1
.gitignore

@ -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
.scss-lint.yml

@ -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

18
gulpfile.js

@ -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
koha-tmpl/opac-tmpl/bootstrap/css/src/_mixins.scss

@ -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;
}

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

@ -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
koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss

File diff suppressed because it is too large

251
koha-tmpl/opac-tmpl/bootstrap/css/src/print.scss

@ -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;
}

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

@ -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 {