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