// /**
// * Copyright © Magento, Inc. All rights reserved.
// * See COPYING.txt for license details.
// */
//
// Ratings
// _____________________________________________
// Rating-vote mixin
.lib-rating-vote(
@_icon-count: @rating-icon__count,
@_icon-content: @rating-icon__content,
@_icon-font: @rating-icon__font,
@_icon-font-size: @rating-icon__font-size,
@_icon-letter-spacing: @rating-icon__letter-spacing,
@_icon-color: @rating-icon__color,
@_icon-color-active: @rating-icon__active__color
) {
overflow: hidden;
&:before {
._lib-rating-icon-defalt(
@_icon-font,
@_icon-font-size,
@_icon-letter-spacing,
@_icon-color
);
.lib-rating-icons-content(
@_icon-count,
@_icon-content
);
display: block;
position: absolute;
z-index: 1;
}
input[type="radio"] {
.lib-visually-hidden();
&:hover,
&:checked {
+ label {
&:before {
opacity: 1;
}
}
}
}
label {
cursor: pointer;
display: block;
position: absolute;
span {
.lib-visually-hidden();
}
&:before {
._lib-rating-icon-defalt(
@_icon-font,
@_icon-font-size,
@_icon-letter-spacing,
@_icon-color-active
);
opacity: 0;
}
&:hover {
&:before {
opacity: 1;
}
~ label {
&:before {
opacity: 0;
}
}
}
}
._lib-rating-iteration(
@_icon-content,
@_icon-count
);
}
// Rating-summary mixin
.lib-rating-summary(
@_icon-count: @rating-icon__count,
@_icon-content: @rating-icon__content,
@_icon-font: @rating-icon__font,
@_icon-font-size: @rating-icon__font-size,
@_icon-letter-spacing: @rating-icon__letter-spacing,
@_icon-color: @rating-icon__color,
@_icon-color-active: @rating-icon__active__color,
@_label-hide: @rating-label__hide
) {
overflow: hidden;
white-space: nowrap;
._lib-rating-label-hide(@_label-hide);
.rating-result {
.lib-css(width, (@_icon-font-size * @_icon-count) + ceil(@_icon-letter-spacing * (@_icon-count - 1)));
display: inline-block;
position: relative;
vertical-align: middle;
&:before {
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: 1;
._lib-rating-summary-icon-default(
@_icon-font,
@_icon-font-size,
@_icon-letter-spacing,
@_icon-count,
@_icon-content,
@_icon-color
);
}
> span {
display: block;
overflow: hidden;
&:before {
position: relative;
z-index: 2;
._lib-rating-summary-icon-default(
@_icon-font,
@_icon-font-size,
@_icon-letter-spacing,
@_icon-count,
@_icon-content,
@_icon-color-active
);
}
span {
.lib-visually-hidden();
}
}
}
}
.lib-rating-summary-label-hide() {
.label {
.lib-visually-hidden();
}
}
// Internal use mixins
._lib-rating-label-hide(@_label-hide) when (@_label-hide = true) {
.lib-rating-summary-label-hide();
}
._lib-rating-iteration(
@_icon-content,
@_icon-count
) {
.loopingClass (@_index) when (@_index > 0) {
.rating-@{_index} {
z-index: @_icon-count - (@_index - 2);
&:before {
.lib-rating-icons-content(@_index, @_icon-content);
}
}
// Next iteration
.loopingClass(@_index - 1);
}
.loopingClass (0) {}
.loopingClass (@_icon-count);
}
._lib-rating-icon-defalt(
@_icon-font,
@_icon-font-size,
@_icon-letter-spacing,
@_icon-color
) {
.lib-css(color, @_icon-color);
.lib-css(font-family, @_icon-font);
.lib-css(font-size, @_icon-font-size);
.lib-css(height, @_icon-font-size);
.lib-css(letter-spacing, @_icon-letter-spacing);
.lib-css(line-height, @_icon-font-size);
font-style: normal;
font-weight: normal;
speak: none;
vertical-align: top;
-webkit-font-smoothing: antialiased;
}
._lib-rating-summary-icon-default(
@_icon-font,
@_icon-font-size,
@_icon-letter-spacing,
@_icon-count,
@_icon-content,
@_icon-color
) {
-webkit-font-smoothing: antialiased;
.lib-css(color, @_icon-color);
.lib-css(font-family, @_icon-font);
.lib-css(font-size, @_icon-font-size);
.lib-css(height, @_icon-font-size);
.lib-css(letter-spacing, @_icon-letter-spacing);
.lib-css(line-height, @_icon-font-size);
.lib-rating-icons-content(@_icon-count, @_icon-content);
display: block;
font-style: normal;
font-weight: normal;
speak: none;
}
.lib-rating-icons-content(
@_icon-count: @rating-icon__count,
@_icon-content: @rating-icon__content
) when (@_icon-count > 0) {
.lib-rating-icons-content((@_icon-count - 1),@_icon-content);
content+_: @_icon-content;
}
|