mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-08-14 17:28:24 +02:00
.devcontainer
.github
.vscode
build
client
assets
components
app
cards
content
controls
covers
modals
player
prompt
readers
stats
tables
ui
Btn.vue
Checkbox.vue
ContextMenuDropdown.vue
Dropdown.vue
EditableText.vue
FileInput.vue
IconBtn.vue
InputDropdown.vue
LibrariesDropdown.vue
LibraryIcon.vue
LoadingIndicator.vue
MediaIconPicker.vue
MultiSelect.vue
MultiSelectDropdown.vue
MultiSelectQueryInput.vue
QueryInput.vue
RangeInput.vue
ReadIconBtn.vue
RichTextEditor.vue
SelectInput.vue
TextInput.vue
TextInputWithLabel.vue
TextareaInput.vue
TextareaWithLabel.vue
TimePicker.vue
ToggleBtns.vue
ToggleSwitch.vue
Tooltip.vue
VueTrix.vue
widgets
cypress
layouts
middleware
mixins
pages
players
plugins
static
store
strings
cypress.config.js
nuxt.config.js
package-lock.json
package.json
tailwind.config.js
docs
images
server
test
.dockerignore
.editorconfig
.gitattributes
.gitignore
.prettierrc
Dockerfile
LICENSE
custom-metadata-provider-specification.yaml
docker-compose.yml
docker-template.xml
index.js
package-lock.json
package.json
prod.js
readme.md
86 lines
1.7 KiB
Vue
86 lines
1.7 KiB
Vue
<template>
|
|
<div class="inline-flex">
|
|
<input v-model="input" type="range" :min="min" :max="max" :step="step" />
|
|
|
|
<p class="text-sm ml-2">{{ input }}%</p>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
props: {
|
|
value: [String, Number],
|
|
min: Number,
|
|
max: Number,
|
|
step: Number
|
|
},
|
|
data() {
|
|
return {}
|
|
},
|
|
computed: {
|
|
input: {
|
|
get() {
|
|
return this.value
|
|
},
|
|
set(val) {
|
|
this.$emit('input', val)
|
|
}
|
|
}
|
|
},
|
|
methods: {},
|
|
mounted() {}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
input[type='range'] {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
}
|
|
input[type='range']:focus {
|
|
outline: none;
|
|
}
|
|
|
|
/* chromium */
|
|
input[type='range']::-webkit-slider-runnable-track {
|
|
background-color: rgb(0 0 0 / 0.25);
|
|
border-radius: 9999px;
|
|
height: 0.75rem;
|
|
}
|
|
input[type='range']::-webkit-slider-thumb {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
margin-top: -0.25rem;
|
|
border-radius: 9999px;
|
|
background-color: rgb(255 255 255 / 0.7);
|
|
height: 1.25rem;
|
|
width: 1.25rem;
|
|
}
|
|
input[type='range']:focus::-webkit-slider-thumb {
|
|
border: 1px solid #6b6b6b;
|
|
outline: 3px solid #6b6b6b;
|
|
outline-offset: 0.125rem;
|
|
}
|
|
|
|
/* firefox */
|
|
input[type='range']::-moz-range-track {
|
|
background-color: rgb(0 0 0 / 0.25);
|
|
border-radius: 9999px;
|
|
height: 0.75rem;
|
|
}
|
|
input[type='range']::-moz-range-thumb {
|
|
border: none;
|
|
border-radius: 9999px;
|
|
margin-top: -0.25rem;
|
|
background-color: rgb(255 255 255 / 0.7);
|
|
height: 1.25rem;
|
|
width: 1.25rem;
|
|
}
|
|
input[type='range']:focus::-moz-range-thumb {
|
|
border: 1px solid #6b6b6b;
|
|
outline: 3px solid #6b6b6b;
|
|
outline-offset: 0.125rem;
|
|
}
|
|
</style> |