quasar
Version:
Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
133 lines (115 loc) • 4.02 kB
JSON
{
"meta": {
"docsUrl": "https://v2.quasar.dev/vue-components/splitter"
},
"props": {
"model-value": {
"extends": "model-value",
"type": "Number",
"desc": "Model of the component defining the size of first panel (or second if using reverse) in the unit specified (for '%' it's the split ratio percent - 0.0 < x < 100.0; for 'px' it's the size in px); Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
"examples": [ "v-model=\"ratio\"" ]
},
"reverse": {
"type": "Boolean",
"desc": "Apply the model size to the second panel (by default it applies to the first)",
"category": "model"
},
"unit": {
"type": "String",
"desc": "CSS unit for the model",
"default": "%",
"values": [ "%", "px" ],
"category": "model"
},
"emit-immediately": {
"type": "Boolean",
"desc": "Emit model while user is panning on the separator",
"category": "model"
},
"horizontal": {
"type": "Boolean",
"desc": "Allows the splitter to split its two panels horizontally, instead of vertically",
"category": "content"
},
"limits": {
"type": "Array",
"desc": "An array of two values representing the minimum and maximum split size of the two panels; When 'px' unit is set then you can use Infinity as the second value to make it unbound on the other side",
"default": "For '%' unit: [10, 90]; For 'px' unit: [50, Infinity]",
"examples": [ ":limits=\"[30, 70]\"", ":limits=\"[0, Infinity]\"" ],
"category": "content|model"
},
"disable": {
"extends": "disable"
},
"before-class": {
"type": [ "String", "Array", "Object" ],
"tsType": "VueClassProp",
"desc": "Class definitions to be attributed to the 'before' panel",
"examples": [
"bg-deep-orange",
":before-class=\"{ 'my-special-class': <condition> }\""
],
"category": "style"
},
"after-class": {
"type": [ "String", "Array", "Object" ],
"tsType": "VueClassProp",
"desc": "Class definitions to be attributed to the 'after' panel",
"examples": [
"bg-deep-orange",
":after-class=\"{ 'my-special-class': <condition> }\""
],
"category": "style"
},
"separator-class": {
"type": [ "String", "Array", "Object" ],
"tsType": "VueClassProp",
"desc": "Class definitions to be attributed to the splitter separator",
"examples": [
"bg-deep-orange",
":separator-class=\"{ 'my-special-class': <condition> }\""
],
"category": "style"
},
"separator-style": {
"type": [ "String", "Array", "Object" ],
"tsType": "VueStyleProp",
"desc": "Style definitions to be attributed to the splitter separator",
"examples": [
"background-color: #ff0000",
":separator-style=\"{ backgroundColor: '#ff0000' }\""
],
"category": "style"
},
"dark": {
"type": "Boolean",
"desc": "Applies a default lighter color on the separator; To be used when background is darker; Avoid using when you are overriding through separator-class or separator-style props",
"category": "style"
}
},
"slots": {
"default": {
"desc": "Default slot in the devland unslotted content of the component; Suggestion: QTooltip, QMenu"
},
"before": {
"desc": "Content of the panel on left/top"
},
"after": {
"desc": "Content of the panel on right/bottom"
},
"separator": {
"desc": "Content to be placed inside the separator; By default it is centered"
}
},
"events": {
"update:model-value": {
"desc": "Emitted when component's model value changes; Is also used by v-model",
"params": {
"value": {
"type": "Number",
"desc": "New model value (0.0 < x < 100.0) defining the ratio between panels"
}
}
}
}
}