@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.
Files changed (76) hide show
  1. package/dist/Handles/Handle.cjs +195 -1
  2. package/dist/Handles/Handle.d.ts +17 -5
  3. package/dist/Handles/Handle.js +191 -202
  4. package/dist/Handles/index.cjs +108 -1
  5. package/dist/Handles/index.d.ts +20 -4
  6. package/dist/Handles/index.js +105 -116
  7. package/dist/Marks/Mark.cjs +51 -1
  8. package/dist/Marks/Mark.d.ts +2 -2
  9. package/dist/Marks/Mark.js +48 -39
  10. package/dist/Marks/index.cjs +39 -1
  11. package/dist/Marks/index.d.ts +2 -2
  12. package/dist/Marks/index.js +36 -32
  13. package/dist/Slider.cjs +569 -1
  14. package/dist/Slider.d.ts +60 -263
  15. package/dist/Slider.js +563 -352
  16. package/dist/Steps/Dot.cjs +52 -1
  17. package/dist/Steps/Dot.d.ts +2 -2
  18. package/dist/Steps/Dot.js +49 -38
  19. package/dist/Steps/index.cjs +64 -1
  20. package/dist/Steps/index.d.ts +2 -2
  21. package/dist/Steps/index.js +61 -41
  22. package/dist/Tracks/Track.cjs +74 -1
  23. package/dist/Tracks/Track.js +70 -81
  24. package/dist/Tracks/index.cjs +70 -1
  25. package/dist/Tracks/index.js +66 -82
  26. package/dist/_virtual/rolldown_runtime.cjs +21 -0
  27. package/dist/context.cjs +39 -1
  28. package/dist/context.d.ts +13 -7
  29. package/dist/context.js +29 -24
  30. package/dist/hooks/useDrag.cjs +160 -1
  31. package/dist/hooks/useDrag.d.ts +2 -2
  32. package/dist/hooks/useDrag.js +155 -86
  33. package/dist/hooks/useOffset.cjs +124 -1
  34. package/dist/hooks/useOffset.d.ts +2 -1
  35. package/dist/hooks/useOffset.js +122 -97
  36. package/dist/hooks/useRange.cjs +21 -1
  37. package/dist/hooks/useRange.js +18 -9
  38. package/dist/index.cjs +6 -1
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.js +4 -4
  41. package/dist/interface.cjs +0 -1
  42. package/dist/interface.js +0 -1
  43. package/dist/util.cjs +32 -1
  44. package/dist/util.js +27 -26
  45. package/package.json +18 -10
  46. package/docs/TooltipSlider.tsx +0 -94
  47. package/docs/assets/anim.less +0 -63
  48. package/docs/assets/bootstrap.less +0 -163
  49. package/docs/assets/index.less +0 -337
  50. package/docs/debug.vue +0 -60
  51. package/docs/editable.vue +0 -59
  52. package/docs/handle.vue +0 -45
  53. package/docs/marks.vue +0 -94
  54. package/docs/multiple.vue +0 -54
  55. package/docs/range.vue +0 -211
  56. package/docs/slider.stories.vue +0 -45
  57. package/docs/sliderDemo.vue +0 -267
  58. package/docs/vertical.vue +0 -122
  59. package/src/Handles/Handle.tsx +0 -223
  60. package/src/Handles/index.tsx +0 -124
  61. package/src/Marks/Mark.tsx +0 -40
  62. package/src/Marks/index.tsx +0 -40
  63. package/src/Slider.tsx +0 -593
  64. package/src/Steps/Dot.tsx +0 -40
  65. package/src/Steps/index.tsx +0 -54
  66. package/src/Tracks/Track.tsx +0 -89
  67. package/src/Tracks/index.tsx +0 -92
  68. package/src/context.ts +0 -65
  69. package/src/hooks/useDrag.ts +0 -243
  70. package/src/hooks/useOffset.ts +0 -264
  71. package/src/hooks/useRange.ts +0 -24
  72. package/src/index.ts +0 -8
  73. package/src/interface.ts +0 -17
  74. package/src/util.ts +0 -41
  75. package/vite.config.ts +0 -18
  76. package/vitest.config.ts +0 -11
package/dist/Slider.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes, PropType, SlotsType } from 'vue';
1
+ import { CSSProperties } from 'vue';
2
2
  import { AriaValueFormat, SliderClassNames, SliderStyles } from './interface';
3
3
  import { MarkObj } from './Marks';
4
4
  export interface RangeConfig {
@@ -9,272 +9,69 @@ export interface RangeConfig {
9
9
  /** Set max count when `editable` */
10
10
  maxCount?: number;
11
11
  }
12
+ export interface RenderProps {
13
+ index: number | null;
14
+ prefixCls: string;
15
+ value: number;
16
+ dragging: boolean;
17
+ draggingDelete: boolean;
18
+ node: any;
19
+ }
12
20
  type ValueType = number | number[];
13
- declare function sliderProps(): {
14
- prefixCls: {
15
- type: StringConstructor;
16
- default: string;
17
- };
18
- className: StringConstructor;
19
- classNames: PropType<SliderClassNames>;
20
- styles: PropType<SliderStyles>;
21
- id: StringConstructor;
22
- disabled: {
23
- type: BooleanConstructor;
24
- default: boolean;
25
- };
26
- keyboard: {
27
- type: BooleanConstructor;
28
- default: boolean;
29
- };
30
- autoFocus: BooleanConstructor;
31
- min: {
32
- type: NumberConstructor;
33
- default: number;
34
- };
35
- max: {
36
- type: NumberConstructor;
37
- default: number;
38
- };
39
- step: {
40
- type: NumberConstructor;
41
- default: number;
42
- };
43
- value: PropType<ValueType>;
44
- defaultValue: PropType<ValueType>;
45
- range: PropType<boolean | RangeConfig>;
46
- count: NumberConstructor;
47
- allowCross: {
48
- type: BooleanConstructor;
49
- default: boolean;
50
- };
51
- pushable: {
52
- type: (NumberConstructor | BooleanConstructor)[];
53
- default: boolean;
54
- };
55
- reverse: BooleanConstructor;
56
- vertical: BooleanConstructor;
57
- included: {
58
- type: BooleanConstructor;
59
- default: boolean;
60
- };
61
- startPoint: NumberConstructor;
62
- trackStyle: PropType<Record<string, any> | Record<string, any>[]>;
63
- handleStyle: PropType<Record<string, any> | Record<string, any>[]>;
64
- railStyle: PropType<Record<string, any>>;
65
- dotStyle: PropType<Record<string, any> | ((dotValue: number) => Record<string, any>)>;
66
- activeDotStyle: PropType<Record<string, any> | ((dotValue: number) => Record<string, any>)>;
67
- marks: PropType<Record<string | number, any | MarkObj>>;
68
- dots: BooleanConstructor;
69
- handleRender: FunctionConstructor;
70
- activeHandleRender: FunctionConstructor;
71
- track: {
72
- type: BooleanConstructor;
73
- default: boolean;
74
- };
75
- tabIndex: {
76
- type: PropType<ValueType>;
77
- default: number;
78
- };
79
- ariaLabelForHandle: PropType<string | string[]>;
80
- ariaLabelledByForHandle: PropType<string | string[]>;
81
- ariaRequired: BooleanConstructor;
82
- ariaValueTextFormatterForHandle: PropType<AriaValueFormat | AriaValueFormat[]>;
83
- onFocus: PropType<(e: FocusEvent) => void>;
84
- onBlur: PropType<(e: FocusEvent) => void>;
85
- onChange: PropType<(value: ValueType) => void>;
21
+ export interface SliderProps<Value extends ValueType = ValueType> {
22
+ prefixCls?: string;
23
+ className?: string;
24
+ style?: CSSProperties;
25
+ classNames?: SliderClassNames;
26
+ styles?: SliderStyles;
27
+ id?: string;
28
+ disabled?: boolean;
29
+ keyboard?: boolean;
30
+ autoFocus?: boolean;
31
+ onFocus?: (e: FocusEvent) => void;
32
+ onBlur?: (e: FocusEvent) => void;
33
+ range?: boolean | RangeConfig;
34
+ /** @deprecated Use `range.minCount` or `range.maxCount` to handle this */
35
+ count?: number;
36
+ min?: number;
37
+ max?: number;
38
+ step?: number | null;
39
+ value?: Value | null;
40
+ defaultValue?: Value | null;
41
+ onChange?: (value: Value) => void;
86
42
  /** @deprecated It's always better to use `onChange` instead */
87
- onBeforeChange: PropType<(value: ValueType) => void>;
43
+ onBeforeChange?: (value: Value) => void;
88
44
  /** @deprecated Use `onChangeComplete` instead */
89
- onAfterChange: PropType<(value: ValueType) => void>;
90
- onChangeComplete: PropType<(value: ValueType) => void>;
91
- };
92
- export type SliderProps = Partial<ExtractPropTypes<ReturnType<typeof sliderProps>>>;
45
+ onAfterChange?: (value: Value) => void;
46
+ onChangeComplete?: (value: Value) => void;
47
+ allowCross?: boolean;
48
+ pushable?: boolean | number;
49
+ reverse?: boolean;
50
+ vertical?: boolean;
51
+ included?: boolean;
52
+ startPoint?: number;
53
+ /** @deprecated Please use `styles.track` instead */
54
+ trackStyle?: CSSProperties | CSSProperties[];
55
+ /** @deprecated Please use `styles.handle` instead */
56
+ handleStyle?: CSSProperties | CSSProperties[];
57
+ /** @deprecated Please use `styles.rail` instead */
58
+ railStyle?: CSSProperties;
59
+ dotStyle?: CSSProperties | ((dotValue: number) => CSSProperties);
60
+ activeDotStyle?: CSSProperties | ((dotValue: number) => CSSProperties);
61
+ marks?: Record<string | number, any | MarkObj>;
62
+ dots?: boolean;
63
+ handleRender?: (props: RenderProps) => any;
64
+ activeHandleRender?: (props: RenderProps) => any;
65
+ track?: boolean;
66
+ tabIndex?: number | number[];
67
+ ariaLabelForHandle?: string | string[];
68
+ ariaLabelledByForHandle?: string | string[];
69
+ ariaRequired?: boolean;
70
+ ariaValueTextFormatterForHandle?: AriaValueFormat | AriaValueFormat[];
71
+ }
93
72
  export interface SliderRef {
94
73
  focus: () => void;
95
74
  blur: () => void;
96
75
  }
97
- declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
98
- prefixCls: {
99
- type: StringConstructor;
100
- default: string;
101
- };
102
- className: StringConstructor;
103
- classNames: PropType<SliderClassNames>;
104
- styles: PropType<SliderStyles>;
105
- id: StringConstructor;
106
- disabled: {
107
- type: BooleanConstructor;
108
- default: boolean;
109
- };
110
- keyboard: {
111
- type: BooleanConstructor;
112
- default: boolean;
113
- };
114
- autoFocus: BooleanConstructor;
115
- min: {
116
- type: NumberConstructor;
117
- default: number;
118
- };
119
- max: {
120
- type: NumberConstructor;
121
- default: number;
122
- };
123
- step: {
124
- type: NumberConstructor;
125
- default: number;
126
- };
127
- value: PropType<ValueType>;
128
- defaultValue: PropType<ValueType>;
129
- range: PropType<boolean | RangeConfig>;
130
- count: NumberConstructor;
131
- allowCross: {
132
- type: BooleanConstructor;
133
- default: boolean;
134
- };
135
- pushable: {
136
- type: (NumberConstructor | BooleanConstructor)[];
137
- default: boolean;
138
- };
139
- reverse: BooleanConstructor;
140
- vertical: BooleanConstructor;
141
- included: {
142
- type: BooleanConstructor;
143
- default: boolean;
144
- };
145
- startPoint: NumberConstructor;
146
- trackStyle: PropType<Record<string, any> | Record<string, any>[]>;
147
- handleStyle: PropType<Record<string, any> | Record<string, any>[]>;
148
- railStyle: PropType<Record<string, any>>;
149
- dotStyle: PropType<Record<string, any> | ((dotValue: number) => Record<string, any>)>;
150
- activeDotStyle: PropType<Record<string, any> | ((dotValue: number) => Record<string, any>)>;
151
- marks: PropType<Record<string | number, any | MarkObj>>;
152
- dots: BooleanConstructor;
153
- handleRender: FunctionConstructor;
154
- activeHandleRender: FunctionConstructor;
155
- track: {
156
- type: BooleanConstructor;
157
- default: boolean;
158
- };
159
- tabIndex: {
160
- type: PropType<ValueType>;
161
- default: number;
162
- };
163
- ariaLabelForHandle: PropType<string | string[]>;
164
- ariaLabelledByForHandle: PropType<string | string[]>;
165
- ariaRequired: BooleanConstructor;
166
- ariaValueTextFormatterForHandle: PropType<AriaValueFormat | AriaValueFormat[]>;
167
- onFocus: PropType<(e: FocusEvent) => void>;
168
- onBlur: PropType<(e: FocusEvent) => void>;
169
- onChange: PropType<(value: ValueType) => void>;
170
- /** @deprecated It's always better to use `onChange` instead */
171
- onBeforeChange: PropType<(value: ValueType) => void>;
172
- /** @deprecated Use `onChangeComplete` instead */
173
- onAfterChange: PropType<(value: ValueType) => void>;
174
- onChangeComplete: PropType<(value: ValueType) => void>;
175
- }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("focus" | "changeComplete" | "blur" | "change" | "beforeChange" | "afterChange")[], "focus" | "changeComplete" | "blur" | "change" | "beforeChange" | "afterChange", import('vue').PublicProps, Readonly<ExtractPropTypes<{
176
- prefixCls: {
177
- type: StringConstructor;
178
- default: string;
179
- };
180
- className: StringConstructor;
181
- classNames: PropType<SliderClassNames>;
182
- styles: PropType<SliderStyles>;
183
- id: StringConstructor;
184
- disabled: {
185
- type: BooleanConstructor;
186
- default: boolean;
187
- };
188
- keyboard: {
189
- type: BooleanConstructor;
190
- default: boolean;
191
- };
192
- autoFocus: BooleanConstructor;
193
- min: {
194
- type: NumberConstructor;
195
- default: number;
196
- };
197
- max: {
198
- type: NumberConstructor;
199
- default: number;
200
- };
201
- step: {
202
- type: NumberConstructor;
203
- default: number;
204
- };
205
- value: PropType<ValueType>;
206
- defaultValue: PropType<ValueType>;
207
- range: PropType<boolean | RangeConfig>;
208
- count: NumberConstructor;
209
- allowCross: {
210
- type: BooleanConstructor;
211
- default: boolean;
212
- };
213
- pushable: {
214
- type: (NumberConstructor | BooleanConstructor)[];
215
- default: boolean;
216
- };
217
- reverse: BooleanConstructor;
218
- vertical: BooleanConstructor;
219
- included: {
220
- type: BooleanConstructor;
221
- default: boolean;
222
- };
223
- startPoint: NumberConstructor;
224
- trackStyle: PropType<Record<string, any> | Record<string, any>[]>;
225
- handleStyle: PropType<Record<string, any> | Record<string, any>[]>;
226
- railStyle: PropType<Record<string, any>>;
227
- dotStyle: PropType<Record<string, any> | ((dotValue: number) => Record<string, any>)>;
228
- activeDotStyle: PropType<Record<string, any> | ((dotValue: number) => Record<string, any>)>;
229
- marks: PropType<Record<string | number, any | MarkObj>>;
230
- dots: BooleanConstructor;
231
- handleRender: FunctionConstructor;
232
- activeHandleRender: FunctionConstructor;
233
- track: {
234
- type: BooleanConstructor;
235
- default: boolean;
236
- };
237
- tabIndex: {
238
- type: PropType<ValueType>;
239
- default: number;
240
- };
241
- ariaLabelForHandle: PropType<string | string[]>;
242
- ariaLabelledByForHandle: PropType<string | string[]>;
243
- ariaRequired: BooleanConstructor;
244
- ariaValueTextFormatterForHandle: PropType<AriaValueFormat | AriaValueFormat[]>;
245
- onFocus: PropType<(e: FocusEvent) => void>;
246
- onBlur: PropType<(e: FocusEvent) => void>;
247
- onChange: PropType<(value: ValueType) => void>;
248
- /** @deprecated It's always better to use `onChange` instead */
249
- onBeforeChange: PropType<(value: ValueType) => void>;
250
- /** @deprecated Use `onChangeComplete` instead */
251
- onAfterChange: PropType<(value: ValueType) => void>;
252
- onChangeComplete: PropType<(value: ValueType) => void>;
253
- }>> & Readonly<{
254
- onFocus?: ((...args: any[]) => any) | undefined;
255
- onChangeComplete?: ((...args: any[]) => any) | undefined;
256
- onBlur?: ((...args: any[]) => any) | undefined;
257
- onChange?: ((...args: any[]) => any) | undefined;
258
- onBeforeChange?: ((...args: any[]) => any) | undefined;
259
- onAfterChange?: ((...args: any[]) => any) | undefined;
260
- }>, {
261
- track: boolean;
262
- min: number;
263
- max: number;
264
- prefixCls: string;
265
- reverse: boolean;
266
- disabled: boolean;
267
- keyboard: boolean;
268
- tabIndex: ValueType;
269
- ariaRequired: boolean;
270
- vertical: boolean;
271
- included: boolean;
272
- autoFocus: boolean;
273
- step: number;
274
- allowCross: boolean;
275
- pushable: number | boolean;
276
- dots: boolean;
277
- }, SlotsType<{
278
- mark: ({ point: number, label: unknown }: any) => any;
279
- }>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
280
- export default _default;
76
+ declare const Slider: import('vue').DefineSetupFnComponent<SliderProps<ValueType>, {}, {}, SliderProps<ValueType> & {}, import('vue').PublicProps>;
77
+ export default Slider;