geosphere-maps/public/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss

217 lines
5.1 KiB
SCSS
Raw Normal View History

2023-09-22 09:33:13 +00:00
@mixin scaleRangeSlider() {
$slider-track-thickness: 2px;
$slider-bounds-offset: 9px;
$scale-indicator-half-size: 4px;
$slider-dash-size: 5px;
$slider-dash-color: rgba(255, 255, 255, 0.75);
.esri-scale-range-slider {
background-color: transparent;
min-width: 310px;
position: relative;
display: flex;
flex-direction: column;
.esri-slider {
background-color: transparent;
// account for thumbs in wrapper
padding: $slider-bounds-offset ($slider-bounds-offset + 2) $slider-bounds-offset $slider-bounds-offset;
&__segment-1 {
// active scale range segment
background-color: $button-color;
height: 4px;
}
// out-of-bounds range segments
.esri-slider__effective-min-segment,
.esri-slider__effective-max-segment {
height: 100%;
display: block;
content: " ";
background: repeating-linear-gradient(
to right,
$slider-dash-color 0,
$slider-dash-color $slider-dash-size,
transparent $slider-dash-size,
transparent ($slider-dash-size * 2)
);
}
}
&.esri-widget {
box-shadow: none;
}
&.esri-disabled {
opacity: $opacity--disabled;
pointer-events: none;
user-select: none;
}
}
.esri-scale-range-slider__scale-indicator-container {
position: absolute;
left: $slider-bounds-offset;
right: $slider-bounds-offset + 2;
}
.esri-scale-range-slider__scale-indicator {
top: $slider-track-thickness + $slider-bounds-offset;
margin-left: -$scale-indicator-half-size;
width: 1px;
position: relative;
transition-property: left;
transition-duration: 0.2s;
}
.esri-scale-range-slider__scale-indicator-icon {
fill: #323232;
}
.esri-scale-range-slider__scale-menu-container {
margin-top: $cap-spacing;
display: flex;
width: 100%;
justify-content: space-between;
}
.esri-scale-range-slider__scale-menu-toggle {
color: $button-color;
cursor: pointer;
background-color: transparent;
border: none;
font-size: $font-size;
white-space: nowrap;
max-width: 48%;
display: flex;
&[data-type="min"] {
margin-inline-end: auto;
}
&[data-type="max"] {
margin-inline-start: auto;
}
}
.esri-scale-range-slider__scale-menu-toggle--active {
font-weight: $font-weight--bold;
}
.esri-scale-range-slider__scale-menu-toggle-text {
text-overflow: ellipsis;
overflow-x: hidden;
}
.esri-scale-range-slider__scale-menu-toggle-icon {
font-size: $font-size--small;
margin: 0 $side-spacing--half;
}
.esri-scale-range-slider__scale-preview {
display: inline-flex;
flex-direction: column;
background-color: $background-color;
padding: $cap-spacing--half $side-spacing--half;
@include defaultBoxShadow();
}
.esri-scale-range-slider__scale-preview-thumbnail {
display: block;
box-sizing: border-box;
/*
workaround to prevent webkit from adding a border
padding: 64px;
instead of
height: 128px;
width: 128px;
see: http://stackoverflow.com/questions/4743127/chrome-safari-display-border-around-image
*/
padding: 64px;
}
.esri-scale-range-slider__scale-menu {
@include defaultBoxShadow();
font-family: $font-family;
font-size: $font-size;
border-radius: $border-radius;
background-color: $background-color;
color: $font-color;
}
.esri-scale-range-slider__scale-menu-list {
min-width: 200px;
padding: $cap-spacing--half 0;
margin: 0;
display: flex;
flex-direction: column;
list-style-type: none;
}
.esri-scale-range-slider__scale-menu-item {
align-items: center;
display: flex;
padding: $cap-spacing--half $side-spacing--half;
margin: 0;
cursor: pointer;
}
.esri-scale-range-slider__scale-menu-item-content {
display: flex;
justify-content: flex-start;
flex-direction: column;
flex: 0 1 auto;
}
.esri-scale-range-slider__scale-menu-item:hover,
.esri-scale-range-slider__scale-menu-item:focus {
background-color: $background-color--hover;
}
.esri-scale-range-slider__scale-menu-scroller {
max-height: 450px;
overflow-y: auto;
overflow-x: hidden;
}
.esri-scale-range-slider__scale-item-label {
margin: 0;
padding-bottom: $cap-spacing--third;
padding-inline-end: $side-spacing;
word-break: break-all;
cursor: inherit;
}
.esri-scale-range-slider__scale-menu-item-icon {
color: transparent;
}
.esri-scale-range-slider__scale-menu-item--active {
.esri-scale-range-slider__scale-menu-item-icon {
color: $button-color;
}
}
.esri-scale-range-slider__scale-menu-item:hover {
.esri-scale-range-slider__scale-menu-item-icon {
color: $interactive-font-color--disabled;
}
}
.esri-scale-range-slider__scale-item-value {
color: $interactive-font-color;
font-size: $font-size--small;
margin-block-start: $cap-spacing--eighth;
word-break: break-all;
}
}
@if $include_ScaleRangeSlider == true {
@include scaleRangeSlider();
}