171 lines
5.0 KiB
JSON
171 lines
5.0 KiB
JSON
{
|
|
"mixins": [ "components/btn/use-btn", "composables/private.use-model-toggle/use-model-toggle", "composables/private.use-transition/use-transition" ],
|
|
|
|
"meta": {
|
|
"docsUrl": "https://v2.quasar.dev/vue-components/button-dropdown"
|
|
},
|
|
|
|
"props": {
|
|
"model-value": {
|
|
"type": "Boolean",
|
|
"__delete": [ "default" ]
|
|
},
|
|
|
|
"split": {
|
|
"type": "Boolean",
|
|
"desc": "Split dropdown icon into its own button",
|
|
"category": "content|behavior"
|
|
},
|
|
|
|
"dropdown-icon": {
|
|
"extends": "icon"
|
|
},
|
|
|
|
"disable-main-btn": {
|
|
"type": "Boolean",
|
|
"desc": "Disable main button (useful along with 'split' prop)",
|
|
"category": "behavior"
|
|
},
|
|
|
|
"disable-dropdown": {
|
|
"type": "Boolean",
|
|
"desc": "Disables dropdown (dropdown button if using along 'split' prop)",
|
|
"category": "behavior"
|
|
},
|
|
|
|
"no-icon-animation": {
|
|
"type": "Boolean",
|
|
"desc": "Disables the rotation of the dropdown icon when state is toggled",
|
|
"category": "style"
|
|
},
|
|
|
|
"content-style": {
|
|
"type": [ "String", "Array", "Object" ],
|
|
"tsType": "VueStyleProp",
|
|
"desc": "Style definitions to be attributed to the menu",
|
|
"examples": [
|
|
"'background-color: #ff0000'",
|
|
"{ backgroundColor: '#ff0000' }"
|
|
],
|
|
"category": "style"
|
|
},
|
|
|
|
"content-class": {
|
|
"type": [ "String", "Array", "Object" ],
|
|
"tsType": "VueClassProp",
|
|
"desc": "Class definitions to be attributed to the menu",
|
|
"examples": [
|
|
"'my-special-class'",
|
|
"{ 'my-special-class': true }"
|
|
],
|
|
"category": "style"
|
|
},
|
|
|
|
"cover": {
|
|
"type": "Boolean",
|
|
"desc": "Allows the menu to cover the button. When used, the 'menu-self' and 'menu-fit' props are no longer effective",
|
|
"category": "position"
|
|
},
|
|
|
|
"persistent": {
|
|
"type": "Boolean",
|
|
"desc": "Allows the menu to not be dismissed by a click/tap outside of the menu or by hitting the ESC key; Also, an app route change won't dismiss it",
|
|
"category": "behavior"
|
|
},
|
|
|
|
"no-esc-dismiss": {
|
|
"type": "Boolean",
|
|
"desc": "User cannot dismiss the popup by hitting ESC key; No need to set it if 'persistent' prop is also set",
|
|
"category": "behavior",
|
|
"addedIn": "v2.18"
|
|
},
|
|
|
|
"no-route-dismiss": {
|
|
"type": "Boolean",
|
|
"desc": "Changing route app won't dismiss the popup; No need to set it if 'persistent' prop is also set",
|
|
"category": "behavior"
|
|
},
|
|
|
|
"auto-close": {
|
|
"type": "Boolean",
|
|
"desc": "Allows any click/tap in the menu to close it; Useful instead of attaching events to each menu item that should close the menu on click/tap",
|
|
"category": "behavior"
|
|
},
|
|
|
|
"no-refocus": {
|
|
"type": "Boolean",
|
|
"desc": "(Accessibility) When the dropdown gets hidden, do not refocus on the DOM element that previously had focus",
|
|
"category": "behavior",
|
|
"addedIn": "v2.18"
|
|
},
|
|
|
|
"no-focus": {
|
|
"type": "Boolean",
|
|
"desc": "(Accessibility) When the dropdown gets shown, do not switch focus on it",
|
|
"category": "behavior",
|
|
"addedIn": "v2.18"
|
|
},
|
|
|
|
"menu-anchor": {
|
|
"type": "String",
|
|
"desc": "Two values setting the starting position or anchor point of the menu relative to its target",
|
|
"values": [
|
|
"'top left'", "'top middle'", "'top right'", "'top start'", "'top end'",
|
|
"'center left'", "'center middle'", "'center right'", "'center start'", "'center end'",
|
|
"'bottom left'", "'bottom middle'", "'bottom right'", "'bottom start'", "'bottom end'"
|
|
],
|
|
"default": "'bottom end'",
|
|
"category": "position"
|
|
},
|
|
|
|
"menu-self": {
|
|
"type": "String",
|
|
"desc": "Two values setting the menu's own position relative to its target",
|
|
"values": [
|
|
"'top left'", "'top middle'", "'top right'", "'top start'", "'top end'",
|
|
"'center left'", "'center middle'", "'center right'", "'center start'", "'center end'",
|
|
"'bottom left'", "'bottom middle'", "'bottom right'", "'bottom start'", "'bottom end'"
|
|
],
|
|
"default": "'top end'",
|
|
"category": "position"
|
|
},
|
|
|
|
"menu-offset": {
|
|
"type": "Array",
|
|
"desc": "An array of two numbers to offset the menu horizontally and vertically in pixels",
|
|
"examples": [ "[ 8, 8 ]", "[ 5, 10 ]" ],
|
|
"category": "position"
|
|
},
|
|
|
|
"toggle-aria-label": {
|
|
"type": "String",
|
|
"desc": "aria-label to be used on the dropdown toggle element",
|
|
"examples": [ "'Open menu'" ],
|
|
"category": "accessibility",
|
|
"addedIn": "v2.8.4"
|
|
}
|
|
},
|
|
|
|
"slots": {
|
|
"default": {
|
|
"extends": "default"
|
|
},
|
|
|
|
"label": {
|
|
"desc": "Customize main button's content through this slot, unless you're using the 'icon' and 'label' props"
|
|
},
|
|
|
|
"loading": {
|
|
"desc": "Override the default QSpinner when in 'loading' state",
|
|
"addedIn": "v2.8"
|
|
}
|
|
},
|
|
|
|
"events": {
|
|
"click": {
|
|
"extends": "click",
|
|
"desc": "Emitted when user clicks/taps on the main button (not the icon one, if using 'split')"
|
|
}
|
|
}
|
|
}
|