Button class style and dropdown icon customization
parent
c5c1e69a65
commit
3825bf7c60
|
@ -35,6 +35,12 @@ const SplitButtonProps = [
|
||||||
default: 'body',
|
default: 'body',
|
||||||
description: 'A valid query selector or an HTMLElement to specify where the overlay gets attached.'
|
description: 'A valid query selector or an HTMLElement to specify where the overlay gets attached.'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'disabled',
|
||||||
|
type: 'boolean',
|
||||||
|
default: 'false',
|
||||||
|
description: 'When present, it specifies that the element should be disabled.'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'class',
|
name: 'class',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
@ -46,6 +52,36 @@ const SplitButtonProps = [
|
||||||
type: 'any',
|
type: 'any',
|
||||||
default: 'null',
|
default: 'null',
|
||||||
description: 'Inline of the component.'
|
description: 'Inline of the component.'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'buttonClass',
|
||||||
|
type: 'string',
|
||||||
|
default: 'null',
|
||||||
|
description: 'Style class of the button.'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'menuButtonIcon',
|
||||||
|
type: 'string',
|
||||||
|
default: 'null',
|
||||||
|
description: 'Name of the menu button icon.'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'menuButtonClass',
|
||||||
|
type: 'string',
|
||||||
|
default: 'null',
|
||||||
|
description: 'Style class of the menu button.'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'menuClass',
|
||||||
|
type: 'string',
|
||||||
|
default: 'null',
|
||||||
|
description: 'Style class of the menu.'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'menuStyle',
|
||||||
|
type: 'any',
|
||||||
|
default: 'null',
|
||||||
|
description: 'Inline style of the menu.'
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,26 @@ export interface SplitButtonProps {
|
||||||
* Uses to pass all properties of the HTMLButtonElement to the menu button.
|
* Uses to pass all properties of the HTMLButtonElement to the menu button.
|
||||||
*/
|
*/
|
||||||
menuButtonProps?: ButtonHTMLAttributes | undefined;
|
menuButtonProps?: ButtonHTMLAttributes | undefined;
|
||||||
|
/**
|
||||||
|
* Style class of the button.
|
||||||
|
*/
|
||||||
|
buttonClass?: string | undefined;
|
||||||
|
/**
|
||||||
|
* Name of the menu button icon.
|
||||||
|
*/
|
||||||
|
menuButtonIcon?: string | undefined;
|
||||||
|
/**
|
||||||
|
* Style class of the menu button.
|
||||||
|
*/
|
||||||
|
menuButtonClass?: string | undefined;
|
||||||
|
/**
|
||||||
|
* Style class of the menu.
|
||||||
|
*/
|
||||||
|
menuClass?: string | undefined;
|
||||||
|
/**
|
||||||
|
* Inline style of the menu.
|
||||||
|
*/
|
||||||
|
menuStyle?: any | undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SplitButtonSlots {
|
export interface SplitButtonSlots {
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
<div :class="containerClass" :style="style">
|
<div :class="containerClass" :style="style">
|
||||||
<slot>
|
<slot>
|
||||||
<PVSButton type="button" class="p-splitbutton-defaultbutton" :icon="icon" :label="label" :disabled="disabled" :aria-label="label" @click="onDefaultButtonClick" v-bind="buttonProps" />
|
<PVSButton type="button" :class="buttonClasses" :icon="icon" :label="label" :disabled="disabled" :aria-label="label" @click="onDefaultButtonClick" v-bind="buttonProps" />
|
||||||
</slot>
|
</slot>
|
||||||
<PVSButton
|
<PVSButton
|
||||||
ref="button"
|
ref="button"
|
||||||
type="button"
|
type="button"
|
||||||
class="p-splitbutton-menubutton"
|
:class="menuButtonClasses"
|
||||||
icon="pi pi-chevron-down"
|
:icon="menuButtonIcon"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
aria-haspopup="true"
|
aria-haspopup="true"
|
||||||
:aria-expanded="isExpanded"
|
:aria-expanded="isExpanded"
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
@keydown="onDropdownKeydown"
|
@keydown="onDropdownKeydown"
|
||||||
v-bind="menuButtonProps"
|
v-bind="menuButtonProps"
|
||||||
/>
|
/>
|
||||||
<PVSMenu ref="menu" :id="ariaId + '_overlay'" :model="model" :popup="true" :autoZIndex="autoZIndex" :baseZIndex="baseZIndex" :appendTo="appendTo" />
|
<PVSMenu ref="menu" :id="ariaId + '_overlay'" :model="model" :popup="true" :autoZIndex="autoZIndex" :baseZIndex="baseZIndex" :appendTo="appendTo" :style="menuStyle" :class="menuClass" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -68,9 +68,29 @@ export default {
|
||||||
type: null,
|
type: null,
|
||||||
default: null
|
default: null
|
||||||
},
|
},
|
||||||
|
buttonClass: {
|
||||||
|
type: String,
|
||||||
|
default: null
|
||||||
|
},
|
||||||
menuButtonProps: {
|
menuButtonProps: {
|
||||||
type: null,
|
type: null,
|
||||||
default: null
|
default: null
|
||||||
|
},
|
||||||
|
menuButtonIcon: {
|
||||||
|
type: String,
|
||||||
|
default: 'pi pi-chevron-down'
|
||||||
|
},
|
||||||
|
menuButtonClass: {
|
||||||
|
type: String,
|
||||||
|
default: null
|
||||||
|
},
|
||||||
|
menuClass: {
|
||||||
|
type: String,
|
||||||
|
default: null
|
||||||
|
},
|
||||||
|
menuStyle: {
|
||||||
|
type: null,
|
||||||
|
default: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
@ -99,6 +119,12 @@ export default {
|
||||||
},
|
},
|
||||||
containerClass() {
|
containerClass() {
|
||||||
return ['p-splitbutton p-component', this.class];
|
return ['p-splitbutton p-component', this.class];
|
||||||
|
},
|
||||||
|
menuButtonClasses() {
|
||||||
|
return ['p-splitbutton-menubutton', this.menuButtonClass];
|
||||||
|
},
|
||||||
|
buttonClasses() {
|
||||||
|
return ['p-splitbutton-defaultbutton', this.buttonClass];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
|
|
@ -182,6 +182,36 @@ export default {
|
||||||
<td>null</td>
|
<td>null</td>
|
||||||
<td>Uses to pass all properties of the HTMLButtonElement to the menu button.</td>
|
<td>Uses to pass all properties of the HTMLButtonElement to the menu button.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>buttonClass</td>
|
||||||
|
<td>string</td>
|
||||||
|
<td>null</td>
|
||||||
|
<td>Style class of the button.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>menuButtonIcon</td>
|
||||||
|
<td>string</td>
|
||||||
|
<td>null</td>
|
||||||
|
<td>Name of the menu button icon.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>menuButtonClass</td>
|
||||||
|
<td>string</td>
|
||||||
|
<td>null</td>
|
||||||
|
<td>Style class of the menu button.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>menuClass</td>
|
||||||
|
<td>string</td>
|
||||||
|
<td>null</td>
|
||||||
|
<td>Style class of the menu.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>menuStyle</td>
|
||||||
|
<td>any</td>
|
||||||
|
<td>null</td>
|
||||||
|
<td>Inline style of the menu.</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue