Files
cog-socket/static/lib/psychoJS/surveyJS/survey.widgets.css
2025-07-14 00:24:44 +02:00

207 lines
5.0 KiB
CSS

/** ============ Slider ============ */
/**
* Native input range styling inspired by:
* https://css-tricks.com/value-bubbles-for-range-inputs/
* https://codepen.io/ShadowShahriar/pen/zYPPYrQ
*/
.srv-slider-container {
--thumb-size: 20px;
/*--primary: #19b394;*/
--slider-background: #f5f5f5;
--slider-background-disabled: #e5e5e5;
--slider-thumb-disabled: #a5a5a5;
--slider-display-background: black;
--slider-border: #d4d4d4;
--survey-question-margin: 0.55em;
box-sizing: border-box;
position: relative;
margin: 50px 10px 10px 10px;
}
.srv-slider-container * {
box-sizing: border-box;
}
.srv-slider-container .srv-slider {
-webkit-appearance: none;
appearance: none;
width: 100%;
height: calc(var(--thumb-size) - 10px);
background: var(--slider-background);
border: 0.07em solid var(--slider-border);
border-radius: 10px;
margin: 0;
padding: 0;
}
.srv-slider-container .srv-slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: var(--thumb-size);
height: var(--thumb-size);
border-radius: 50%;
background: var(--primary, #19b394);
}
.srv-slider-container .srv-slider::-moz-range-thumb {
width: var(--thumb-size);
height: var(--thumb-size);
border-radius: 50%;
background: var(--primary, #19b394);
}
.srv-slider-container .srv-slider-display {
position: absolute;
background: var(--slider-display-background);
color: white;
border-radius: 3px;
padding: 5px;
top: -40px;
transform: translate(-50%, 0);
}
.srv-slider-container .srv-slider-title {
margin: 0 0 0 0;
}
.srv-slider-container .srv-slider-display::after {
content: "";
position: absolute;
width: 0;
height: 0;
border-top: 10px solid var(--slider-display-background);
border-left: 5px solid transparent;
border-right: 5px solid transparent;
top: 100%;
left: 50%;
margin-left: -5px;
margin-top: -2px;
}
.srv-slider-container.srv-slider-bar .srv-slider {
height: var(--thumb-size);
border-radius: 0;
overflow: hidden;
}
.srv-slider-container.srv-slider-bar .srv-slider::-webkit-slider-thumb {
border: none;
border-radius: 0;
box-shadow: calc(-100vmax - var(--thumb-size)) 0 0 100vmax var(--primary);
}
.srv-slider-container.srv-slider-bar .srv-slider::-moz-range-thumb {
border: none;
border-radius: 0;
box-shadow: calc(-100vmax - var(--thumb-size)) 0 0 100vmax var(--primary);
}
.srv-slider-container .srv-slider[disabled] {
background: var(--slider-background-disabled);
}
.srv-slider-container .srv-slider[disabled]::-webkit-slider-thumb {
background: var(--slider-thumb-disabled);
}
.srv-slider-container .srv-slider[disabled]::-moz-range-thumb {
background: var(--slider-thumb-disabled);
}
.srv-slider-container.srv-slider-bar .srv-slider[disabled]::-webkit-slider-thumb {
box-shadow: calc(-100vmax - var(--thumb-size)) 0 0 100vmax var(--slider-thumb-disabled);
}
.srv-slider-container.srv-slider-bar .srv-slider[disabled]::-moz-range-thumb {
box-shadow: calc(-100vmax - var(--thumb-size)) 0 0 100vmax var(--slider-thumb-disabled);
}
/** ============ MaxDiffMatrix ============ */
/*Overriding SurveyJS's theme styles*/
.matrix-maxdiff .sv-matrix__cell:first-child,
.matrix-maxdiff .sd-matrix__cell:first-child {
text-align: center;
}
/** ============ MatrixBipolar ============ */
.matrix-bipolar tbody td:first-child {
text-align: right;
}
.matrix-bipolar tbody td:last-child {
text-align: left;
}
/** ============ SliderStar ============ */
.star-slider-container {
--default-background: #d4d4d4;
--selected-background: rgb(249, 195, 0);
margin: 0 0 8px 0;
}
.star-slider-container .star-slider-inputs {
display: flex;
align-items: flex-end;
}
.star-slider-container .stars-container {
display: flex;
}
.star-slider-container .star-slider-inputs .star-slider-star-input {
color: var(--default-background);
font-size: 40px;
line-height: 40px;
cursor: pointer;
}
.star-slider-container .star-slider-inputs .slider-star-text-input {
margin: 0 0 0 18px;
font-size: 18px;
}
.star-slider-container .star-slider-inputs .star-slider-star-input.active {
color: var(--selected-background);
}
.star-slider-container .stars-container:hover .star-slider-star-input {
color: var(--selected-background);
}
.star-slider-container .stars-container .star-slider-star-input:hover ~ .star-slider-star-input {
color: var(--default-background);
}
/** ============ Multiple Select ============ */
.srv-select-multiple {
border: 1px solid #9e9e9e;
border-radius: 4px;
box-sizing: border-box;
background: var(--background);
box-shadow: none;
font-size: calc(2 * var(--base-unit, 8px));
}
.srv-select-multiple option {
padding: calc(1.5 * var(--base-unit, 8px)) calc(2 * var(--base-unit, 8px));
}
.srv-select-multiple:focus {
outline: 1px solid var(--primary);
border-color: var(--primary);
}
/** Change of selection color while focused still refuses to change.
* Leaving it here for future. */
.srv-select-multiple:focus option:checked,
.srv-select-multiple option:checked {
background: var(--primary);
background-color: var(--primary);
color: var(--primary-foreground);
}