@v-c/slider 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Handles/Handle.cjs +195 -1
- package/dist/Handles/Handle.d.ts +17 -5
- package/dist/Handles/Handle.js +191 -202
- package/dist/Handles/index.cjs +108 -1
- package/dist/Handles/index.d.ts +20 -4
- package/dist/Handles/index.js +105 -116
- package/dist/Marks/Mark.cjs +51 -1
- package/dist/Marks/Mark.d.ts +2 -2
- package/dist/Marks/Mark.js +48 -39
- package/dist/Marks/index.cjs +39 -1
- package/dist/Marks/index.d.ts +2 -2
- package/dist/Marks/index.js +36 -32
- package/dist/Slider.cjs +569 -1
- package/dist/Slider.d.ts +60 -263
- package/dist/Slider.js +563 -352
- package/dist/Steps/Dot.cjs +52 -1
- package/dist/Steps/Dot.d.ts +2 -2
- package/dist/Steps/Dot.js +49 -38
- package/dist/Steps/index.cjs +64 -1
- package/dist/Steps/index.d.ts +2 -2
- package/dist/Steps/index.js +61 -41
- package/dist/Tracks/Track.cjs +74 -1
- package/dist/Tracks/Track.js +70 -81
- package/dist/Tracks/index.cjs +70 -1
- package/dist/Tracks/index.js +66 -82
- package/dist/_virtual/rolldown_runtime.cjs +21 -0
- package/dist/context.cjs +39 -1
- package/dist/context.d.ts +13 -7
- package/dist/context.js +29 -24
- package/dist/hooks/useDrag.cjs +160 -1
- package/dist/hooks/useDrag.d.ts +2 -2
- package/dist/hooks/useDrag.js +155 -86
- package/dist/hooks/useOffset.cjs +124 -1
- package/dist/hooks/useOffset.d.ts +2 -1
- package/dist/hooks/useOffset.js +122 -97
- package/dist/hooks/useRange.cjs +21 -1
- package/dist/hooks/useRange.js +18 -9
- package/dist/index.cjs +6 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -4
- package/dist/interface.cjs +0 -1
- package/dist/interface.js +0 -1
- package/dist/util.cjs +32 -1
- package/dist/util.js +27 -26
- package/package.json +18 -10
- package/docs/TooltipSlider.tsx +0 -94
- package/docs/assets/anim.less +0 -63
- package/docs/assets/bootstrap.less +0 -163
- package/docs/assets/index.less +0 -337
- package/docs/debug.vue +0 -60
- package/docs/editable.vue +0 -59
- package/docs/handle.vue +0 -45
- package/docs/marks.vue +0 -94
- package/docs/multiple.vue +0 -54
- package/docs/range.vue +0 -211
- package/docs/slider.stories.vue +0 -45
- package/docs/sliderDemo.vue +0 -267
- package/docs/vertical.vue +0 -122
- package/src/Handles/Handle.tsx +0 -223
- package/src/Handles/index.tsx +0 -124
- package/src/Marks/Mark.tsx +0 -40
- package/src/Marks/index.tsx +0 -40
- package/src/Slider.tsx +0 -593
- package/src/Steps/Dot.tsx +0 -40
- package/src/Steps/index.tsx +0 -54
- package/src/Tracks/Track.tsx +0 -89
- package/src/Tracks/index.tsx +0 -92
- package/src/context.ts +0 -65
- package/src/hooks/useDrag.ts +0 -243
- package/src/hooks/useOffset.ts +0 -264
- package/src/hooks/useRange.ts +0 -24
- package/src/index.ts +0 -8
- package/src/interface.ts +0 -17
- package/src/util.ts +0 -41
- package/vite.config.ts +0 -18
- package/vitest.config.ts +0 -11
package/docs/range.vue
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import type { CSSProperties } from 'vue'
|
|
3
|
-
import Slider from '@v-c/slider'
|
|
4
|
-
import { reactive, ref } from 'vue'
|
|
5
|
-
|
|
6
|
-
const style: CSSProperties = {
|
|
7
|
-
width: '400px',
|
|
8
|
-
margin: '50px',
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
function log(value: unknown) {
|
|
12
|
-
console.log(value)
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// CustomizedRange组件
|
|
16
|
-
const customizedRange = reactive({
|
|
17
|
-
lowerBound: 20,
|
|
18
|
-
upperBound: 40,
|
|
19
|
-
value: [20, 40],
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
function onLowerBoundChange(e: any) {
|
|
23
|
-
customizedRange.lowerBound = +e.target.value
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function onUpperBoundChange(e: any) {
|
|
27
|
-
customizedRange.upperBound = +e.target.value
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function onSliderChange(value: any) {
|
|
31
|
-
log(value)
|
|
32
|
-
customizedRange.value = value
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function handleApply() {
|
|
36
|
-
const { lowerBound, upperBound } = customizedRange
|
|
37
|
-
customizedRange.value = [lowerBound, upperBound]
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// DynamicBounds组件
|
|
41
|
-
const dynamicBounds = reactive({
|
|
42
|
-
min: 0,
|
|
43
|
-
max: 100,
|
|
44
|
-
})
|
|
45
|
-
|
|
46
|
-
function onDynamicSliderChange(value: unknown) {
|
|
47
|
-
log(value)
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function onMinChange(e: any) {
|
|
51
|
-
dynamicBounds.min = +e.target.value || 0
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function onMaxChange(e: any) {
|
|
55
|
-
dynamicBounds.max = +e.target.value || 100
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// ControlledRange组件
|
|
59
|
-
const controlledRangeValue = ref([20, 40, 60, 80])
|
|
60
|
-
|
|
61
|
-
function handleControlledRangeChange(value: any) {
|
|
62
|
-
controlledRangeValue.value = value
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// ControlledRangeDisableAcross组件
|
|
66
|
-
const controlledRangeDisableAcrossValue = ref([20, 40, 60, 80])
|
|
67
|
-
|
|
68
|
-
function handleControlledRangeDisableAcrossChange(value: any) {
|
|
69
|
-
controlledRangeDisableAcrossValue.value = value
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// PureRenderRange组件
|
|
73
|
-
const pureRenderRangeFoo = ref(false)
|
|
74
|
-
|
|
75
|
-
function handlePureRenderRangeChange(value: any) {
|
|
76
|
-
console.log(value)
|
|
77
|
-
pureRenderRangeFoo.value = !pureRenderRangeFoo.value
|
|
78
|
-
}
|
|
79
|
-
</script>
|
|
80
|
-
|
|
81
|
-
<template>
|
|
82
|
-
<div>
|
|
83
|
-
<div :style="style">
|
|
84
|
-
<p>Basic Range,`allowCross=false`</p>
|
|
85
|
-
<Slider range :allow-cross="false" :default-value="[0, 20]" @change="log" />
|
|
86
|
-
</div>
|
|
87
|
-
<div :style="style">
|
|
88
|
-
<p>Basic reverse Range`</p>
|
|
89
|
-
<Slider range :allow-cross="false" :default-value="[0, 20]" reverse @change="log" />
|
|
90
|
-
</div>
|
|
91
|
-
<div :style="style">
|
|
92
|
-
<p>Basic Range,`step=20` </p>
|
|
93
|
-
<Slider range :step="20" :default-value="[20, 20]" @before-change="log" />
|
|
94
|
-
</div>
|
|
95
|
-
<div :style="style">
|
|
96
|
-
<p>Basic Range,`step=20, dots` </p>
|
|
97
|
-
<Slider range dots :step="20" :default-value="[20, 40]" @change-complete="log" />
|
|
98
|
-
</div>
|
|
99
|
-
<div :style="style">
|
|
100
|
-
<p>Basic Range,disabled</p>
|
|
101
|
-
<Slider range :allow-cross="false" :default-value="[0, 20]" disabled @change="log" />
|
|
102
|
-
</div>
|
|
103
|
-
<div :style="style">
|
|
104
|
-
<p>Controlled Range</p>
|
|
105
|
-
<Slider range :value="controlledRangeValue" @change="handleControlledRangeChange" />
|
|
106
|
-
</div>
|
|
107
|
-
<div :style="style">
|
|
108
|
-
<p>Controlled Range, not allow across</p>
|
|
109
|
-
<Slider
|
|
110
|
-
range
|
|
111
|
-
:value="controlledRangeDisableAcrossValue"
|
|
112
|
-
:allow-cross="false"
|
|
113
|
-
@change="handleControlledRangeDisableAcrossChange"
|
|
114
|
-
/>
|
|
115
|
-
</div>
|
|
116
|
-
<div :style="style">
|
|
117
|
-
<p>Controlled Range, not allow across, pushable=5</p>
|
|
118
|
-
<Slider
|
|
119
|
-
range
|
|
120
|
-
:value="controlledRangeDisableAcrossValue"
|
|
121
|
-
:allow-cross="false"
|
|
122
|
-
:pushable="5"
|
|
123
|
-
@change="handleControlledRangeDisableAcrossChange"
|
|
124
|
-
/>
|
|
125
|
-
</div>
|
|
126
|
-
<div :style="style">
|
|
127
|
-
<p>Multi Range, count=3 and pushable=true</p>
|
|
128
|
-
<Slider range :count="3" :default-value="[20, 40, 60, 80]" pushable />
|
|
129
|
-
</div>
|
|
130
|
-
<div :style="style">
|
|
131
|
-
<p>Multi Range with custom track and handle style and pushable</p>
|
|
132
|
-
<Slider
|
|
133
|
-
range
|
|
134
|
-
:count="3"
|
|
135
|
-
:default-value="[20, 40, 60, 80]"
|
|
136
|
-
pushable
|
|
137
|
-
:track-style="[{ backgroundColor: 'red' }, { backgroundColor: 'green' }]"
|
|
138
|
-
:handle-style="[{ backgroundColor: 'yellow' }, { backgroundColor: 'gray' }]"
|
|
139
|
-
:rail-style="{ backgroundColor: 'black' }"
|
|
140
|
-
/>
|
|
141
|
-
</div>
|
|
142
|
-
<div :style="style">
|
|
143
|
-
<p>Customized Range</p>
|
|
144
|
-
<div>
|
|
145
|
-
<label>LowerBound: </label>
|
|
146
|
-
<input type="number" :value="customizedRange.lowerBound" @change="onLowerBoundChange">
|
|
147
|
-
<br>
|
|
148
|
-
<label>UpperBound: </label>
|
|
149
|
-
<input type="number" :value="customizedRange.upperBound" @change="onUpperBoundChange">
|
|
150
|
-
<br>
|
|
151
|
-
<button type="button" @click="handleApply">
|
|
152
|
-
Apply
|
|
153
|
-
</button>
|
|
154
|
-
<br>
|
|
155
|
-
<br>
|
|
156
|
-
<Slider range :allow-cross="false" :value="customizedRange.value" @change="onSliderChange" />
|
|
157
|
-
</div>
|
|
158
|
-
</div>
|
|
159
|
-
<div :style="style">
|
|
160
|
-
<p>Range with dynamic `max` `min`</p>
|
|
161
|
-
<div>
|
|
162
|
-
<label>Min: </label>
|
|
163
|
-
<input type="number" :value="dynamicBounds.min" @change="onMinChange">
|
|
164
|
-
<br>
|
|
165
|
-
<label>Max: </label>
|
|
166
|
-
<input type="number" :value="dynamicBounds.max" @change="onMaxChange">
|
|
167
|
-
<br>
|
|
168
|
-
<br>
|
|
169
|
-
<Slider
|
|
170
|
-
range
|
|
171
|
-
:default-value="[20, 50]"
|
|
172
|
-
:min="dynamicBounds.min"
|
|
173
|
-
:max="dynamicBounds.max"
|
|
174
|
-
@change="onDynamicSliderChange"
|
|
175
|
-
/>
|
|
176
|
-
</div>
|
|
177
|
-
</div>
|
|
178
|
-
<div :style="style">
|
|
179
|
-
<p>Range as child component</p>
|
|
180
|
-
<Slider
|
|
181
|
-
range
|
|
182
|
-
:default-value="[20, 40, 60, 80]"
|
|
183
|
-
:allow-cross="false"
|
|
184
|
-
@change="handlePureRenderRangeChange"
|
|
185
|
-
/>
|
|
186
|
-
</div>
|
|
187
|
-
<div :style="style">
|
|
188
|
-
<p>draggableTrack two points</p>
|
|
189
|
-
<Slider :range="{ draggableTrack: true }" :allow-cross="false" :default-value="[0, 40]" @change="log" />
|
|
190
|
-
</div>
|
|
191
|
-
<div :style="style">
|
|
192
|
-
<p>draggableTrack two points(reverse)</p>
|
|
193
|
-
<Slider
|
|
194
|
-
:range="{ draggableTrack: true }"
|
|
195
|
-
:allow-cross="false"
|
|
196
|
-
reverse
|
|
197
|
-
:default-value="[0, 40]"
|
|
198
|
-
@change="log"
|
|
199
|
-
/>
|
|
200
|
-
</div>
|
|
201
|
-
<div :style="style">
|
|
202
|
-
<p>draggableTrack multiple points</p>
|
|
203
|
-
<Slider
|
|
204
|
-
:range="{ draggableTrack: true }"
|
|
205
|
-
:allow-cross="false"
|
|
206
|
-
:default-value="[0, 20, 30, 40, 50]"
|
|
207
|
-
@change="log"
|
|
208
|
-
/>
|
|
209
|
-
</div>
|
|
210
|
-
</div>
|
|
211
|
-
</template>
|
package/docs/slider.stories.vue
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import Debug from './debug.vue'
|
|
3
|
-
import Editable from './editable.vue'
|
|
4
|
-
import Handle from './handle.vue'
|
|
5
|
-
import Marks from './marks.vue'
|
|
6
|
-
import Multiple from './multiple.vue'
|
|
7
|
-
import Range from './range.vue'
|
|
8
|
-
import SliderDemo from './sliderDemo.vue'
|
|
9
|
-
import Vertical from './vertical.vue'
|
|
10
|
-
|
|
11
|
-
import '../docs/assets/index.less'
|
|
12
|
-
</script>
|
|
13
|
-
|
|
14
|
-
<template>
|
|
15
|
-
<Story title="Slider">
|
|
16
|
-
<Variant title="debug">
|
|
17
|
-
<Debug />
|
|
18
|
-
</Variant>
|
|
19
|
-
<Variant title="Editable">
|
|
20
|
-
<Editable />
|
|
21
|
-
</Variant>
|
|
22
|
-
<Variant title="Handle">
|
|
23
|
-
<Handle />
|
|
24
|
-
</Variant>
|
|
25
|
-
<Variant title="Marks">
|
|
26
|
-
<Marks />
|
|
27
|
-
</Variant>
|
|
28
|
-
<Variant title="Multiple">
|
|
29
|
-
<Multiple />
|
|
30
|
-
</Variant>
|
|
31
|
-
<Variant title="Range">
|
|
32
|
-
<Range />
|
|
33
|
-
</Variant>
|
|
34
|
-
<Variant title="Slider">
|
|
35
|
-
<SliderDemo />
|
|
36
|
-
</Variant>
|
|
37
|
-
<Variant title="Vertical">
|
|
38
|
-
<Vertical />
|
|
39
|
-
</Variant>
|
|
40
|
-
</Story>
|
|
41
|
-
</template>
|
|
42
|
-
|
|
43
|
-
<style scoped>
|
|
44
|
-
|
|
45
|
-
</style>
|
package/docs/sliderDemo.vue
DELETED
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import type { CSSProperties } from 'vue'
|
|
3
|
-
import Slider from '@v-c/slider'
|
|
4
|
-
import { ref } from 'vue'
|
|
5
|
-
import TooltipSlider from './TooltipSlider'
|
|
6
|
-
|
|
7
|
-
const style: CSSProperties = {
|
|
8
|
-
width: '600px',
|
|
9
|
-
margin: '50px',
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function log(value: unknown) {
|
|
13
|
-
console.log(value) //eslint-disable-line
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function percentFormatter(v: unknown) {
|
|
17
|
-
return `${v} %`
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// NullableSlider组件
|
|
21
|
-
const nullableSliderValue = ref(null)
|
|
22
|
-
|
|
23
|
-
function onNullableSliderChange(newValue: any) {
|
|
24
|
-
log(newValue)
|
|
25
|
-
nullableSliderValue.value = newValue
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function onNullableSliderAfterChange(newValue: unknown) {
|
|
29
|
-
console.log(newValue) //eslint-disable-line
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function resetNullableSlider() {
|
|
33
|
-
console.log('reset value')
|
|
34
|
-
nullableSliderValue.value = null
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// NullableRangeSlider组件
|
|
38
|
-
const nullableRangeValue = ref(null)
|
|
39
|
-
|
|
40
|
-
function setNullableRangeValue(newValue: any) {
|
|
41
|
-
nullableRangeValue.value = newValue
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function resetNullableRange() {
|
|
45
|
-
nullableRangeValue.value = null
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// CustomizedSlider组件
|
|
49
|
-
const customizedValue = ref(50)
|
|
50
|
-
|
|
51
|
-
function onCustomizedSliderChange(newValue: any) {
|
|
52
|
-
log(newValue)
|
|
53
|
-
customizedValue.value = newValue
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function onCustomizedSliderAfterChange(newValue: unknown) {
|
|
57
|
-
console.log(newValue) //eslint-disable-line
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// DynamicBounds组件
|
|
61
|
-
const dynamicMin = ref(1)
|
|
62
|
-
const dynamicMax = ref(100)
|
|
63
|
-
const dynamicStep = ref(10)
|
|
64
|
-
const dynamicValue = ref(1)
|
|
65
|
-
|
|
66
|
-
function onDynamicSliderChange(newValue: any) {
|
|
67
|
-
log(newValue)
|
|
68
|
-
dynamicValue.value = newValue
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
function onDynamicMinChange(e: any) {
|
|
72
|
-
dynamicMin.value = +e.target.value || 0
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
function onDynamicMaxChange(e: any) {
|
|
76
|
-
dynamicMax.value = +e.target.value || 100
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function onDynamicStepChange(e: any) {
|
|
80
|
-
dynamicStep.value = +e.target.value || 1
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
const labelStyle = { minWidth: '60px', display: 'inline-block' }
|
|
84
|
-
const inputStyle = { marginBottom: '10px' }
|
|
85
|
-
</script>
|
|
86
|
-
|
|
87
|
-
<template>
|
|
88
|
-
<div>
|
|
89
|
-
<div :style="style">
|
|
90
|
-
<p>Basic Slider</p>
|
|
91
|
-
<Slider @change="log" />
|
|
92
|
-
</div>
|
|
93
|
-
<div :style="style">
|
|
94
|
-
<p>Basic Slider, `startPoint=50`</p>
|
|
95
|
-
<Slider :start-point="50" @change="log" />
|
|
96
|
-
</div>
|
|
97
|
-
<div :style="style">
|
|
98
|
-
<p>Slider reverse</p>
|
|
99
|
-
<Slider reverse :min="20" :max="60" @change="log" />
|
|
100
|
-
</div>
|
|
101
|
-
<div :style="style">
|
|
102
|
-
<p>Basic Slider,`step=20`</p>
|
|
103
|
-
<Slider :step="20" :default-value="50" @before-change="log" />
|
|
104
|
-
</div>
|
|
105
|
-
<div :style="style">
|
|
106
|
-
<p>Basic Slider,`step=20, dots`</p>
|
|
107
|
-
<Slider dots :step="20" :default-value="100" @change-complete="log" />
|
|
108
|
-
</div>
|
|
109
|
-
<div :style="style">
|
|
110
|
-
<p>
|
|
111
|
-
Basic Slider,`step=20, dots, dotStyle={"borderColor: 'orange'"}, activeDotStyle=
|
|
112
|
-
{"borderColor: 'yellow'"}`
|
|
113
|
-
</p>
|
|
114
|
-
<Slider
|
|
115
|
-
dots
|
|
116
|
-
:step="20"
|
|
117
|
-
:default-value="100"
|
|
118
|
-
:dot-style="{ borderColor: 'orange' }"
|
|
119
|
-
:active-dot-style="{ borderColor: 'yellow' }"
|
|
120
|
-
@change-complete="log"
|
|
121
|
-
/>
|
|
122
|
-
</div>
|
|
123
|
-
<div :style="style">
|
|
124
|
-
<p>Slider with tooltip, with custom `tipFormatter`</p>
|
|
125
|
-
<TooltipSlider
|
|
126
|
-
:tip-formatter="percentFormatter"
|
|
127
|
-
:tip-props="{ overlayClassName: 'foo' }"
|
|
128
|
-
@change="log"
|
|
129
|
-
/>
|
|
130
|
-
</div>
|
|
131
|
-
<div :style="style">
|
|
132
|
-
<p>
|
|
133
|
-
Slider with custom handle and track style.<strong>(old api, will be deprecated)</strong>
|
|
134
|
-
</p>
|
|
135
|
-
<Slider
|
|
136
|
-
:default-value="30"
|
|
137
|
-
:rail-style="{ backgroundColor: 'red', height: 10 }"
|
|
138
|
-
:track-style="{ backgroundColor: 'blue', height: 10 }"
|
|
139
|
-
:handle-style="{
|
|
140
|
-
borderColor: 'blue',
|
|
141
|
-
height: 28,
|
|
142
|
-
width: 28,
|
|
143
|
-
marginLeft: -14,
|
|
144
|
-
marginTop: -9,
|
|
145
|
-
backgroundColor: 'black',
|
|
146
|
-
}"
|
|
147
|
-
/>
|
|
148
|
-
</div>
|
|
149
|
-
<div :style="style">
|
|
150
|
-
<p>
|
|
151
|
-
Slider with custom handle and track style.<strong>(The recommended new api)</strong>
|
|
152
|
-
</p>
|
|
153
|
-
<Slider
|
|
154
|
-
:default-value="30"
|
|
155
|
-
:track-style="{ backgroundColor: 'blue', height: 10 }"
|
|
156
|
-
:handle-style="{
|
|
157
|
-
borderColor: 'blue',
|
|
158
|
-
height: 28,
|
|
159
|
-
width: 28,
|
|
160
|
-
marginLeft: -14,
|
|
161
|
-
marginTop: -9,
|
|
162
|
-
backgroundColor: 'black',
|
|
163
|
-
}"
|
|
164
|
-
:rail-style="{ backgroundColor: 'red', height: 10 }"
|
|
165
|
-
/>
|
|
166
|
-
</div>
|
|
167
|
-
<div :style="style">
|
|
168
|
-
<p>
|
|
169
|
-
Reversed Slider with custom handle and track style.
|
|
170
|
-
<strong>(The recommended new api)</strong>
|
|
171
|
-
</p>
|
|
172
|
-
<Slider
|
|
173
|
-
:default-value="30"
|
|
174
|
-
:track-style="{ backgroundColor: 'blue', height: 10 }"
|
|
175
|
-
reverse
|
|
176
|
-
:handle-style="{
|
|
177
|
-
borderColor: 'blue',
|
|
178
|
-
height: 28,
|
|
179
|
-
width: 28,
|
|
180
|
-
marginLeft: -14,
|
|
181
|
-
marginTop: -9,
|
|
182
|
-
backgroundColor: 'black',
|
|
183
|
-
}"
|
|
184
|
-
:rail-style="{ backgroundColor: 'red', height: 10 }"
|
|
185
|
-
/>
|
|
186
|
-
</div>
|
|
187
|
-
<div :style="style">
|
|
188
|
-
<p>Basic Slider, disabled</p>
|
|
189
|
-
<Slider disabled @change="log" />
|
|
190
|
-
</div>
|
|
191
|
-
<div :style="style">
|
|
192
|
-
<p>Controlled Slider</p>
|
|
193
|
-
<Slider :value="50" />
|
|
194
|
-
</div>
|
|
195
|
-
<div :style="style">
|
|
196
|
-
<p>Customized Slider</p>
|
|
197
|
-
<Slider
|
|
198
|
-
:value="customizedValue"
|
|
199
|
-
@change="onCustomizedSliderChange"
|
|
200
|
-
@change-complete="onCustomizedSliderAfterChange"
|
|
201
|
-
/>
|
|
202
|
-
</div>
|
|
203
|
-
<div :style="style">
|
|
204
|
-
<p>Slider with null value and reset button</p>
|
|
205
|
-
<div>
|
|
206
|
-
<Slider
|
|
207
|
-
:value="nullableSliderValue"
|
|
208
|
-
@change="onNullableSliderChange"
|
|
209
|
-
@change-complete="onNullableSliderAfterChange"
|
|
210
|
-
/>
|
|
211
|
-
<button type="button" @click="resetNullableSlider">
|
|
212
|
-
Reset
|
|
213
|
-
</button>
|
|
214
|
-
</div>
|
|
215
|
-
</div>
|
|
216
|
-
<div :style="style">
|
|
217
|
-
<p>Range Slider with null value and reset button</p>
|
|
218
|
-
<div>
|
|
219
|
-
<Slider range :value="nullableRangeValue" @change="setNullableRangeValue" />
|
|
220
|
-
<button type="button" @click="resetNullableRange">
|
|
221
|
-
Reset
|
|
222
|
-
</button>
|
|
223
|
-
</div>
|
|
224
|
-
</div>
|
|
225
|
-
<div :style="style">
|
|
226
|
-
<p>Slider with dynamic `min` `max` `step`</p>
|
|
227
|
-
<div>
|
|
228
|
-
<label :style="labelStyle">Min: </label>
|
|
229
|
-
<input
|
|
230
|
-
type="number"
|
|
231
|
-
:value="dynamicMin"
|
|
232
|
-
:style="inputStyle"
|
|
233
|
-
@input="onDynamicMinChange"
|
|
234
|
-
>
|
|
235
|
-
<br>
|
|
236
|
-
<label :style="labelStyle">Max: </label>
|
|
237
|
-
<input
|
|
238
|
-
type="number"
|
|
239
|
-
:value="dynamicMax"
|
|
240
|
-
:style="inputStyle"
|
|
241
|
-
@input="onDynamicMaxChange"
|
|
242
|
-
>
|
|
243
|
-
<br>
|
|
244
|
-
<label :style="labelStyle">Step: </label>
|
|
245
|
-
<input
|
|
246
|
-
type="number"
|
|
247
|
-
:value="dynamicStep"
|
|
248
|
-
:style="inputStyle"
|
|
249
|
-
@input="onDynamicStepChange"
|
|
250
|
-
>
|
|
251
|
-
<br>
|
|
252
|
-
<br>
|
|
253
|
-
<label :style="labelStyle">Value: </label>
|
|
254
|
-
<span>{{ dynamicValue }}</span>
|
|
255
|
-
<br>
|
|
256
|
-
<br>
|
|
257
|
-
<Slider
|
|
258
|
-
:value="dynamicValue"
|
|
259
|
-
:min="dynamicMin"
|
|
260
|
-
:max="dynamicMax"
|
|
261
|
-
:step="dynamicStep"
|
|
262
|
-
@change="onDynamicSliderChange"
|
|
263
|
-
/>
|
|
264
|
-
</div>
|
|
265
|
-
</div>
|
|
266
|
-
</div>
|
|
267
|
-
</template>
|
package/docs/vertical.vue
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import type { CSSProperties } from 'vue'
|
|
3
|
-
import Slider from '@v-c/slider'
|
|
4
|
-
|
|
5
|
-
const style: CSSProperties = {
|
|
6
|
-
float: 'left',
|
|
7
|
-
width: '160px',
|
|
8
|
-
height: '400px',
|
|
9
|
-
marginBottom: '160px',
|
|
10
|
-
marginLeft: '50px',
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const parentStyle: CSSProperties = {
|
|
14
|
-
overflow: 'hidden',
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const marks = {
|
|
18
|
-
'-10': '-10°C',
|
|
19
|
-
'0': '0°C',
|
|
20
|
-
'26': '26°C',
|
|
21
|
-
'37': '37°C',
|
|
22
|
-
'50': '50°C',
|
|
23
|
-
'100': {
|
|
24
|
-
style: {
|
|
25
|
-
color: 'red',
|
|
26
|
-
},
|
|
27
|
-
label: '100°C',
|
|
28
|
-
},
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function log(value) {
|
|
32
|
-
console.log(value); //eslint-disable-line
|
|
33
|
-
}
|
|
34
|
-
</script>
|
|
35
|
-
|
|
36
|
-
<template>
|
|
37
|
-
<div :style="parentStyle">
|
|
38
|
-
<div :style="style">
|
|
39
|
-
<p>Slider with marks, `step=null`</p>
|
|
40
|
-
<Slider vertical :min="-10" :marks="marks" :step="null" :default-value="20" @change="log" />
|
|
41
|
-
</div>
|
|
42
|
-
<div :style="style">
|
|
43
|
-
<p>Slider with marks, `step=null` and `startPoint=0`</p>
|
|
44
|
-
<Slider
|
|
45
|
-
vertical
|
|
46
|
-
:min="-10"
|
|
47
|
-
:start-point="0"
|
|
48
|
-
:marks="marks"
|
|
49
|
-
:step="null"
|
|
50
|
-
:default-value="20"
|
|
51
|
-
@change="log"
|
|
52
|
-
/>
|
|
53
|
-
</div>
|
|
54
|
-
<div :style="style">
|
|
55
|
-
<p>Reverse Slider with marks, `step=null`</p>
|
|
56
|
-
<Slider
|
|
57
|
-
vertical
|
|
58
|
-
:min="-10"
|
|
59
|
-
:marks="marks"
|
|
60
|
-
:step="null"
|
|
61
|
-
:default-value="20"
|
|
62
|
-
reverse
|
|
63
|
-
@change="log"
|
|
64
|
-
/>
|
|
65
|
-
</div>
|
|
66
|
-
<div :style="style">
|
|
67
|
-
<p>Slider with marks and steps</p>
|
|
68
|
-
<Slider vertical dots :min="-10" :marks="marks" :step="10" :default-value="20" @change="log" />
|
|
69
|
-
</div>
|
|
70
|
-
<div :style="style">
|
|
71
|
-
<p>Slider with marks, `included=false`</p>
|
|
72
|
-
<Slider vertical :min="-10" :marks="marks" :included="false" :default-value="20" />
|
|
73
|
-
</div>
|
|
74
|
-
<div :style="style">
|
|
75
|
-
<p>Slider with marks and steps, `included=false`</p>
|
|
76
|
-
<Slider vertical :min="-10" :marks="marks" :step="10" :included="false" :default-value="20" />
|
|
77
|
-
</div>
|
|
78
|
-
<div :style="style">
|
|
79
|
-
<p>Range with marks</p>
|
|
80
|
-
<Slider range vertical :min="-10" :marks="marks" :default-value="[20, 40]" @change="log" />
|
|
81
|
-
</div>
|
|
82
|
-
<div :style="style">
|
|
83
|
-
<p>Range with marks and steps</p>
|
|
84
|
-
<Slider
|
|
85
|
-
range
|
|
86
|
-
vertical
|
|
87
|
-
:min="-10"
|
|
88
|
-
:marks="marks"
|
|
89
|
-
:step="10"
|
|
90
|
-
:default-value="[20, 40]"
|
|
91
|
-
@change="log"
|
|
92
|
-
/>
|
|
93
|
-
</div>
|
|
94
|
-
<div :style="style">
|
|
95
|
-
<p>Range with marks and draggableTrack</p>
|
|
96
|
-
<Slider
|
|
97
|
-
:range="{ draggableTrack: true }"
|
|
98
|
-
vertical
|
|
99
|
-
:min="-10"
|
|
100
|
-
:marks="marks"
|
|
101
|
-
:default-value="[20, 40]"
|
|
102
|
-
@change="log"
|
|
103
|
-
/>
|
|
104
|
-
</div>
|
|
105
|
-
<div :style="style">
|
|
106
|
-
<p>Range with marks and draggableTrack(reverse)</p>
|
|
107
|
-
<Slider
|
|
108
|
-
:range="{ draggableTrack: true }"
|
|
109
|
-
vertical
|
|
110
|
-
reverse
|
|
111
|
-
:min="-10"
|
|
112
|
-
:marks="marks"
|
|
113
|
-
:default-value="[20, 40]"
|
|
114
|
-
@change="log"
|
|
115
|
-
/>
|
|
116
|
-
</div>
|
|
117
|
-
</div>
|
|
118
|
-
</template>
|
|
119
|
-
|
|
120
|
-
<style scoped>
|
|
121
|
-
|
|
122
|
-
</style>
|