UNPKG

formstone

Version:

Library of modular front end components.

211 lines (157 loc) 4.98 kB
/** * @theme * @name Light * @component Pagination */ .fs-pagination { @import "_config.less"; @theme_name: fs-light; // Config @fs-pagination-height: 40px; @fs-pagination-background-color: @fs-light-white; @fs-pagination-border-width: 1px; @fs-pagination-border-color: @fs-light-primary_600; @fs-pagination-border-radius: 2px; @fs-pagination-font-size: 14px; @fs-pagination-text-color: @fs-light-primary_600; @fs-pagination-margin: 0 0 10px 0; @fs-pagination-page-padding: 0 7px; @fs-pagination-page-margin: 5px; // Controls @fs-pagination-control-caret-color: @fs-light-primary_900; @fs-pagination-control-caret-size: 7px; @fs-pagination-control-caret-width: (@fs-pagination-control-caret-size * 1.5); @fs-pagination-control-caret-margin: (@fs-pagination-height - (@fs-pagination-control-caret-size * 2.2)) / 2; @fs-pagination-control-border-width: 2px; @fs-pagination-control-border-radius: 4px; // Hover @fs-pagination-hover-background: @fs-light-primary_100; @fs-pagination-hover-text-color: @fs-light-primary_900; @fs-pagination-control-hover-background: @fs-light-primary_100; // Active @fs-pagination-active-background: @fs-light-primary_100; @fs-pagination-active-text-color: @fs-light-primary_900; &.@{theme_name} { position: relative; background: @fs-pagination-background-color; border: @fs-pagination-border-width solid @fs-pagination-border-color; border-radius: @fs-pagination-border-radius; display: flex; flex-wrap: nowrap; margin: @fs-pagination-margin; .no-touchevents &:hover { // border-color: @fs-pagination-hover-border-color; } } &.@{theme_name} &-pages { flex-grow: 1; text-align: center; } &.@{theme_name} &-page, &.@{theme_name} &-ellipsis, &.@{theme_name} &-control, &-mobile.@{theme_name} &-position { color: @fs-pagination-text-color; font-size: @fs-pagination-font-size; text-decoration: none; } &.@{theme_name} &-page, &.@{theme_name} &-ellipsis { height: @fs-pagination-height - (@fs-pagination-page-margin * 2); line-height: @fs-pagination-height - (@fs-pagination-page-margin * 2); margin: @fs-pagination-page-margin 0; padding: @fs-pagination-page-padding; } &.@{theme_name} &-control, &-mobile.@{theme_name} &-position { height: @fs-pagination-height; line-height: @fs-pagination-height; } &.@{theme_name} &-page { border-radius: @fs-pagination-border-radius; } .no-touchevents .@{theme_name} &-page:hover, .no-touchevents .@{theme_name} &-page:focus { background: @fs-pagination-hover-background; color: @fs-pagination-hover-text-color; } &.@{theme_name} &-active, &.@{theme_name} &-first, &.@{theme_name} &-last, &.@{theme_name} &-visible { } &.@{theme_name} &-active { color: @fs-pagination-active-text-color; background: @fs-pagination-active-background; } &.@{theme_name} &-control { width: @fs-pagination-height; position: relative; background: @fs-pagination-background-color; border: @fs-pagination-control-border-width solid @fs-pagination-background-color; border-radius: @fs-pagination-control-border-radius; display: block; opacity: 0; overflow: hidden; text-indent: 200%; visibility: hidden; white-space: nowrap; &:before { height: 0px; width: 0px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; content: ''; } &_previous { order: -1; &:before { border-top: @fs-pagination-control-caret-size solid transparent; border-bottom: @fs-pagination-control-caret-size solid transparent; border-right: @fs-pagination-control-caret-width solid @fs-pagination-control-caret-color; border-left: none; margin-left: @fs-pagination-control-caret-margin; margin-right: auto; } } &_next { order: 1; &:before { border-top: @fs-pagination-control-caret-size solid transparent; border-bottom: @fs-pagination-control-caret-size solid transparent; border-left: @fs-pagination-control-caret-width solid @fs-pagination-control-caret-color; border-right: none; margin-right: @fs-pagination-control-caret-margin; margin-left: auto; } } &:focus, .no-touchevents &:hover { background: @fs-pagination-control-hover-background; } } &.@{theme_name} &-control&-visible { opacity: 1; visibility: visible;; } &.@{theme_name} &-position, &.@{theme_name} &-select { } &-mobile.@{theme_name} &-pages { } &-mobile.@{theme_name} &-position { position: relative; flex-grow: 1; text-align: center; } &-mobile.@{theme_name} &-select { } &-mobile.@{theme_name} &-current, &-mobile.@{theme_name} &-total { color: @fs-pagination-active-text-color; } }