mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-29 03:10:42 +01:00
feat(Range): increase narrowed surface (#459)
This commit is contained in:
@@ -612,15 +612,20 @@ const toggle = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const range = {
|
const range = {
|
||||||
wrapper: 'relative w-full',
|
wrapper: 'relative w-full flex items-center',
|
||||||
base: 'w-full absolute appearance-none cursor-pointer disabled:cursor-not-allowed disabled:bg-opacity-50 focus:outline-none [&::-webkit-slider-runnable-track]:h-full [&::-moz-slider-runnable-track]:h-full peer',
|
base: 'w-full absolute appearance-none cursor-pointer disabled:cursor-not-allowed disabled:bg-opacity-50 focus:outline-none peer group',
|
||||||
background: 'bg-gray-200 dark:bg-gray-700',
|
|
||||||
rounded: 'rounded-lg',
|
rounded: 'rounded-lg',
|
||||||
|
background: 'bg-transparent',
|
||||||
ring: 'focus-visible:ring-2 focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-gray-900',
|
ring: 'focus-visible:ring-2 focus-visible:ring-{color}-500 dark:focus-visible:ring-{color}-400 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-gray-900',
|
||||||
progress: {
|
progress: {
|
||||||
base: 'absolute inset-0 h-full pointer-events-none peer-disabled:bg-opacity-50',
|
base: 'absolute pointer-events-none peer-disabled:bg-opacity-50',
|
||||||
rounded: 'rounded-s-lg',
|
rounded: 'rounded-s-lg',
|
||||||
background: 'bg-{color}-500 dark:bg-{color}-400'
|
background: 'bg-{color}-500 dark:bg-{color}-400',
|
||||||
|
size: {
|
||||||
|
sm: 'h-1',
|
||||||
|
md: 'h-2',
|
||||||
|
lg: 'h-3'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
thumb: {
|
thumb: {
|
||||||
base: '[&::-webkit-slider-thumb]:relative [&::-moz-range-thumb]:relative [&::-webkit-slider-thumb]:z-[1] [&::-moz-range-thumb]:z-[1] [&::-webkit-slider-thumb]:appearance-none [&::-moz-range-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0',
|
base: '[&::-webkit-slider-thumb]:relative [&::-moz-range-thumb]:relative [&::-webkit-slider-thumb]:z-[1] [&::-moz-range-thumb]:z-[1] [&::-webkit-slider-thumb]:appearance-none [&::-moz-range-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0',
|
||||||
@@ -633,10 +638,20 @@ const range = {
|
|||||||
lg: '[&::-webkit-slider-thumb]:h-5 [&::-moz-range-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-moz-range-thumb]:w-5 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1'
|
lg: '[&::-webkit-slider-thumb]:h-5 [&::-moz-range-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-moz-range-thumb]:w-5 [&::-webkit-slider-thumb]:-mt-1 [&::-moz-range-thumb]:-mt-1'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
track: {
|
||||||
|
base: '[&::-webkit-slider-runnable-track]:group-disabled:bg-opacity-50 [&::-moz-slider-runnable-track]:group-disabled:bg-opacity-50',
|
||||||
|
background: '[&::-webkit-slider-runnable-track]:bg-gray-200 [&::-moz-slider-runnable-track]:bg-gray-200 [&::-webkit-slider-runnable-track]:dark:bg-gray-700 [&::-moz-slider-runnable-track]:dark:bg-gray-700',
|
||||||
|
rounded: '[&::-webkit-slider-runnable-track]:rounded-lg [&::-moz-slider-runnable-track]:rounded-lg',
|
||||||
|
size: {
|
||||||
|
sm: '[&::-webkit-slider-runnable-track]:h-1 [&::-moz-slider-runnable-track]:h-1',
|
||||||
|
md: '[&::-webkit-slider-runnable-track]:h-2 [&::-moz-slider-runnable-track]:h-2',
|
||||||
|
lg: '[&::-webkit-slider-runnable-track]:h-3 [&::-moz-slider-runnable-track]:h-3'
|
||||||
|
}
|
||||||
|
},
|
||||||
size: {
|
size: {
|
||||||
sm: 'h-1',
|
sm: 'h-3',
|
||||||
md: 'h-2',
|
md: 'h-4',
|
||||||
lg: 'h-3'
|
lg: 'h-5'
|
||||||
},
|
},
|
||||||
default: {
|
default: {
|
||||||
size: 'md',
|
size: 'md',
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:step="step"
|
:step="step"
|
||||||
type="range"
|
type="range"
|
||||||
:class="[inputClass, thumbClass]"
|
:class="[inputClass, thumbClass, trackClass]"
|
||||||
v-bind="$attrs"
|
v-bind="$attrs"
|
||||||
>
|
>
|
||||||
|
|
||||||
@@ -118,12 +118,21 @@ export default defineComponent({
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const trackClass = computed(() => {
|
||||||
|
return classNames(
|
||||||
|
ui.value.track.base,
|
||||||
|
ui.value.track.background,
|
||||||
|
ui.value.track.rounded,
|
||||||
|
ui.value.track.size[props.size]
|
||||||
|
)
|
||||||
|
})
|
||||||
|
|
||||||
const progressClass = computed(() => {
|
const progressClass = computed(() => {
|
||||||
return classNames(
|
return classNames(
|
||||||
ui.value.progress.base,
|
ui.value.progress.base,
|
||||||
ui.value.progress.rounded,
|
ui.value.progress.rounded,
|
||||||
ui.value.progress.background.replaceAll('{color}', props.color),
|
ui.value.progress.background.replaceAll('{color}', props.color),
|
||||||
ui.value.size[props.size]
|
ui.value.progress.size[props.size]
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -143,6 +152,7 @@ export default defineComponent({
|
|||||||
wrapperClass,
|
wrapperClass,
|
||||||
inputClass,
|
inputClass,
|
||||||
thumbClass,
|
thumbClass,
|
||||||
|
trackClass,
|
||||||
progressClass,
|
progressClass,
|
||||||
progressStyle
|
progressStyle
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user