UNPKG

quasar

Version:

Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time

668 lines 19.7 kB
{ "type": "component", "meta": { "docsUrl": "https://v2.quasar.dev/vue-components/slider" }, "props": { "name": { "type": "String", "desc": "Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL", "examples": [ "car_id" ], "category": "behavior" }, "min": { "type": "Number", "desc": "Minimum value of the model; Set track's minimum value", "default": 0, "examples": [ ":min=\"0\"" ], "category": "model", "required": false }, "max": { "type": "Number", "desc": "Maximum value of the model; Set track's maximum value", "default": 100, "category": "model", "required": false }, "inner-min": { "type": "Number", "desc": "Inner minimum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be higher or equal to 'min' prop; Defaults to 'min' prop", "category": "model", "addedIn": "v2.4" }, "inner-max": { "type": "Number", "desc": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop", "category": "model", "addedIn": "v2.4" }, "step": { "type": "Number", "desc": "Specify step amount between valid values (> 0.0); When step equals to 0 it defines infinite granularity", "default": 1, "category": "model", "required": false }, "snap": { "type": "Boolean", "desc": "Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop", "category": "behavior" }, "reverse": { "type": "Boolean", "desc": "Work in reverse (changes direction)", "category": "behavior" }, "vertical": { "type": "Boolean", "desc": "Display in vertical direction", "category": "behavior" }, "color": { "type": "String", "desc": "Color name for component from the Quasar Color Palette", "examples": [ "primary", "teal-10" ], "category": "style" }, "track-color": { "type": "String", "desc": "Color name for the track (can be 'transparent' too) from the Quasar Color Palette", "examples": [ "primary", "teal-10" ], "category": "style", "addedIn": "v2.4" }, "track-img": { "type": "String", "desc": "Apply a pattern image on the track", "transformAssetUrls": true, "examples": [ "~assets/my-pattern.png" ], "category": "style", "addedIn": "v2.4" }, "inner-track-color": { "type": "String", "desc": "Color name for the inner track (can be 'transparent' too) from the Quasar Color Palette", "examples": [ "primary", "teal-10" ], "category": "style", "addedIn": "v2.4" }, "inner-track-img": { "type": "String", "desc": "Apply a pattern image on the inner track", "transformAssetUrls": true, "examples": [ "~assets/my-pattern.png" ], "category": "style", "addedIn": "v2.4" }, "selection-color": { "type": "String", "desc": "Color name for the selection bar (can be 'transparent' too) from the Quasar Color Palette", "examples": [ "primary", "teal-10" ], "category": "style", "addedIn": "v2.4" }, "selection-img": { "type": "String", "desc": "Apply a pattern image on the selection bar", "transformAssetUrls": true, "examples": [ "~assets/my-pattern.png" ], "category": "style", "addedIn": "v2.4" }, "label": { "type": "Boolean", "desc": "Popup a label when user clicks/taps on the slider thumb and moves it", "category": "content" }, "label-color": { "type": "String", "desc": "Color name for component from the Quasar Color Palette", "examples": [ "primary", "teal-10" ], "category": "style" }, "label-text-color": { "type": "String", "desc": "Color name for component from the Quasar Color Palette", "examples": [ "primary", "teal-10" ], "category": "style" }, "switch-label-side": { "type": "Boolean", "desc": "Switch the position of the label (top <-> bottom or left <-> right)", "category": "style", "addedIn": "v2.4" }, "label-always": { "type": "Boolean", "desc": "Always display the label", "category": "behavior|content" }, "markers": { "type": [ "Boolean", "Number" ], "desc": "Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)", "category": "content", "examples": [ "markers", ":markers=\"5\"" ] }, "marker-labels": { "type": [ "Boolean", "Array", "Object", "Function" ], "tsType": "SliderMarkerLabels", "desc": "Configure the marker labels (or show the default ones if 'true'); Array of definition Objects or Object with key-value where key is the model and the value is the marker label definition", "definition": { "value": { "type": "Number", "required": true, "desc": "Value of equivalent model where to position the marker" }, "label": { "type": [ "Number", "String" ], "desc": "Label to use" }, "classes": { "type": [ "String", "Array", "Object" ], "tsType": "VueClassProp", "desc": "CSS classes to be attributed to the marker label", "examples": [ "my-class-name" ] }, "style": { "type": "Object", "tsType": "VueStyleObjectProp", "desc": "Style definitions to be attributed to the marker label", "examples": [ "{ height: '24px' }" ] } }, "params": { "value": { "type": "Number", "desc": "The marker value to transform", "required": true } }, "returns": { "type": [ "String", "Object" ], "desc": "Marker definition Object or directly a String for the label of the marker", "definition": { "value": { "type": "Number", "desc": "Value of equivalent model where to position the marker" }, "label": { "type": [ "Number", "String" ], "desc": "Label to use" }, "classes": { "type": [ "String", "Array", "Object" ], "tsType": "VueClassProp", "desc": "CSS classes to be attributed to the marker label", "examples": [ "my-class-name" ] }, "style": { "type": "Object", "tsType": "VueStyleObjectProp", "desc": "Style definitions to be attributed to the marker label", "examples": [ "{ height: '24px' }" ] } } }, "category": "content", "examples": [ true, "[ { value: 0, label: '0%' }, { value: 5, classes: 'my-class', style: { width: '24px' } } ]", "{ 0: '0%', 5: { label: '5%', classes: 'my-class', style: { width: '24px' } } }", "val => (10 * val) + '%'", "val => ({ label: (10 * val) + '%', classes: 'my-class', style: { width: '24px' } })" ], "addedIn": "v2.4" }, "marker-labels-class": { "type": "String", "desc": "CSS class(es) to apply to the marker labels container", "examples": [ "text-orange" ], "category": "style", "addedIn": "v2.4" }, "switch-marker-labels-side": { "type": "Boolean", "desc": "Switch the position of the marker labels (top <-> bottom or left <-> right)", "category": "style", "addedIn": "v2.4" }, "track-size": { "type": "String", "desc": "Track size (including CSS unit)", "default": "4px", "examples": [ "35px" ], "category": "style", "addedIn": "v2.4", "required": false }, "thumb-size": { "type": "String", "desc": "Thumb size (including CSS unit)", "default": "20px", "examples": [ "20px" ], "category": "style", "addedIn": "v2.4", "required": false }, "thumb-color": { "type": "String", "desc": "Color name for component from the Quasar Color Palette", "examples": [ "primary", "teal-10" ], "category": "style", "addedIn": "v2.4" }, "thumb-path": { "type": "String", "desc": "Set custom thumb svg path", "default": "M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0", "examples": [ "M5 5 h10 v10 h-10 v-10" ], "category": "style", "required": false }, "dark": { "type": "Boolean", "desc": "Notify the component that the background is a dark color", "category": "style" }, "dense": { "type": "Boolean", "desc": "Dense mode; occupies less space", "category": "style" }, "disable": { "type": "Boolean", "desc": "Put component in disabled mode", "category": "state" }, "readonly": { "type": "Boolean", "desc": "Put component in readonly mode", "category": "state" }, "tabindex": { "type": [ "Number", "String" ], "desc": "Tabindex HTML attribute value", "examples": [ "0", "100" ], "category": "general" }, "model-value": { "desc": "Model of the component (must be between min/max); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive", "required": true, "syncable": true, "category": "model", "type": [ "Number", "null", "undefined" ], "examples": [ "v-model=\"positionModel\"" ] }, "label-value": { "type": [ "String", "Number" ], "desc": "Override default label value", "examples": [ ":label-value=\"model + 'px'\"" ], "category": "content" } }, "slots": { "marker-label": { "desc": "What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>", "addedIn": "v2.4", "scope": { "marker": { "type": "Object", "tsType": "SliderMarkerLabelConfig", "desc": "Config for current marker label", "definition": { "index": { "type": "Number", "desc": "Index of the marker label (0-based)" }, "value": { "type": "Number", "desc": "Equivalent model value for the marker label" }, "label": { "type": [ "Number", "String" ], "desc": "Configured label for the marker" }, "classes": { "type": "String", "desc": "Required CSS classes to be applied to the marker element" }, "style": { "type": "Object", "tsType": "VueStyleObjectProp", "desc": "Style definitions to be attributed to the marker label", "examples": [ "{ height: '24px' }" ] } } }, "markerList": { "type": "Array", "tsType": "SliderMarkerLabelArrayConfig", "desc": "Array of marker label configs", "definition": { "index": { "type": "Number", "desc": "Index of the marker label (0-based)" }, "value": { "type": "Number", "desc": "Equivalent model value for the marker label" }, "label": { "type": [ "Number", "String" ], "desc": "Configured label for the marker" }, "classes": { "type": "String", "desc": "Required CSS classes to be applied to the marker element" }, "style": { "type": "Object", "tsType": "VueStyleObjectProp", "desc": "Style definitions to be attributed to the marker label", "examples": [ "{ height: '24px' }" ] } } }, "markerMap": { "type": "Object", "tsType": "SliderMarkerLabelObjectConfig", "desc": "Object with key-value where key is the model and the value is the marker label config", "definition": { "...key": { "type": "Object", "desc": "Marker label config", "definition": { "index": { "type": "Number", "desc": "Index of the marker label (0-based)" }, "value": { "type": "Number", "desc": "Equivalent model value for the marker label" }, "label": { "type": [ "Number", "String" ], "desc": "Configured label for the marker" }, "classes": { "type": "String", "desc": "Required CSS classes to be applied to the marker element" }, "style": { "type": "Object", "tsType": "VueStyleObjectProp", "desc": "Style definitions to be attributed to the marker label", "examples": [ "{ height: '24px' }" ] } } } } }, "classes": { "type": "String", "desc": "Required CSS classes to be applied to the marker element" }, "getStyle": { "type": "Function", "desc": "Get CSS style Object to apply to a marker element at respective model value; For perf reasons, use only if requested model value is not already part of markerMap", "params": { "value": { "type": "Number", "desc": "The marker label equivalent model value", "required": true } }, "returns": { "type": "Object", "desc": "CSS style Object to apply to a marker element at respective model value" } } } }, "marker-label-group": { "desc": "What should the menu display after filtering options and none are left to be displayed; Suggestion: <div>", "addedIn": "v2.4", "scope": { "markerList": { "type": "Array", "tsType": "SliderMarkerLabelArrayConfig", "desc": "Array of marker label configs", "definition": { "index": { "type": "Number", "desc": "Index of the marker label (0-based)" }, "value": { "type": "Number", "desc": "Equivalent model value for the marker label" }, "label": { "type": [ "Number", "String" ], "desc": "Configured label for the marker" }, "classes": { "type": "String", "desc": "Required CSS classes to be applied to the marker element" }, "style": { "type": "Object", "tsType": "VueStyleObjectProp", "desc": "Style definitions to be attributed to the marker label", "examples": [ "{ height: '24px' }" ] } } }, "markerMap": { "type": "Object", "tsType": "SliderMarkerLabelObjectConfig", "desc": "Object with key-value where key is the model and the value is the marker label config", "definition": { "...key": { "type": "Object", "desc": "Marker label config", "definition": { "index": { "type": "Number", "desc": "Index of the marker label (0-based)" }, "value": { "type": "Number", "desc": "Equivalent model value for the marker label" }, "label": { "type": [ "Number", "String" ], "desc": "Configured label for the marker" }, "classes": { "type": "String", "desc": "Required CSS classes to be applied to the marker element" }, "style": { "type": "Object", "tsType": "VueStyleObjectProp", "desc": "Style definitions to be attributed to the marker label", "examples": [ "{ height: '24px' }" ] } } } } }, "classes": { "type": "String", "desc": "Required CSS classes to be applied to the marker element" }, "getStyle": { "type": "Function", "desc": "Get CSS style Object to apply to a marker element at respective model value; For perf reasons, use only if requested model value is not already part of markerMap", "params": { "value": { "type": "Number", "desc": "The marker label equivalent model value", "required": true } }, "returns": { "type": "Object", "desc": "CSS style Object to apply to a marker element at respective model value" } } } } }, "events": { "change": { "desc": "Emitted on lazy model value change (after user slides then releases the thumb)", "params": { "value": { "type": "Any", "desc": "New model value", "required": true } } }, "pan": { "desc": "Triggered when user starts panning on the component", "params": { "phase": { "type": "String", "desc": "Phase of panning", "values": [ "start", "end" ] } } }, "update:model-value": { "desc": "Emitted when the component needs to change the model; Is also used by v-model", "params": { "value": { "type": [ "Number", "null" ], "desc": "New model value", "required": true } } } } }