Menu Item
<gstock-menu-item>
|
GstockMenuItem
Ejemplos
Menus are organizational tools that enhance the readability and organization of content.
<gstock-menu style="max-width: 180px">
<gstock-menu-item>Menu Item</gstock-menu-item>
</gstock-menu>
Sizes
Use the size attribute to change the size of the menu item.
<gstock-menu size="small" style="max-width: 180px">
<gstock-menu-item size="small" prefix="mail">Small 1</gstock-menu-item>
<gstock-menu-item size="small" prefix="phone">Small 2</gstock-menu-item>
<gstock-menu-item size="small" prefix="message-square">Small 3</gstock-menu-item>
</gstock-menu>
<gstock-menu size="medium" style="max-width: 180px">
<gstock-menu-item size="medium" prefix="mail">Medium 1</gstock-menu-item>
<gstock-menu-item size="medium" prefix="phone">Medium 2</gstock-menu-item>
<gstock-menu-item size="medium" prefix="message-square">Medium 3</gstock-menu-item>
</gstock-menu>
<gstock-menu size="large" style="max-width: 180px">
<gstock-menu-item size="large" prefix="mail">Large 1</gstock-menu-item>
<gstock-menu-item size="large" prefix="phone">Large 2</gstock-menu-item>
<gstock-menu-item size="large" prefix="message-square">Large 3</gstock-menu-item>
</gstock-menu>
Disabled
Use the disabled attribute to disable the menu item so it cannot be selected.
<gstock-menu style="max-width: 180px">
<gstock-menu-item>Menu Item 1</gstock-menu-item>
<gstock-menu-item disabled>Menu Item 2</gstock-menu-item>
<gstock-menu-item>Menu Item 3</gstock-menu-item>
</gstock-menu>
Prefix and suffix
Use the prefix and suffix attributes to add icons to the start and end of menu items.
<gstock-menu style="max-width: 260px">
<gstock-menu-item prefix="mail"> Menu Item 1 </gstock-menu-item>
<gstock-menu-item prefix="phone"> Menu Item 2 </gstock-menu-item>
<gstock-menu-item prefix="message-square">
Menu Item 3
</gstock-menu-item>
</gstock-menu>
<gstock-menu style="max-width: 260px">
<gstock-menu-item suffix="mail"> Menu Item 1 </gstock-menu-item>
<gstock-menu-item suffix="phone"> Menu Item 2 </gstock-menu-item>
<gstock-menu-item suffix="message-square">
Menu Item 3
</gstock-menu-item>
</gstock-menu>
Use the prefix and suffix slots to add content to the start and end of menu items.
<gstock-menu style="max-width: 260px">
<gstock-menu-item>
<gstock-avatar slot="prefix" image="https://i.pravatar.cc/64?img=8" label="Avatar" size="small"></gstock-avatar>
Menu Item 1
<span slot="help-text">Secondary text</span>
<gstock-badge slot="suffix" color="danger" pill>0</gstock-badge>
</gstock-menu-item>
<gstock-menu-item>
<gstock-avatar slot="prefix" image="https://i.pravatar.cc/64?img=12" label="Avatar" size="small"></gstock-avatar>
Menu Item 2
<span slot="help-text">Secondary text</span>
<gstock-badge slot="suffix" color="warning" pill>6</gstock-badge>
</gstock-menu-item>
<gstock-menu-item>
<gstock-avatar slot="prefix" image="https://i.pravatar.cc/64?img=38" label="Avatar" size="small"></gstock-avatar>
Menu Item 3
<span slot="help-text">Secondary text</span>
<gstock-badge slot="suffix" color="primary" pill>12</gstock-badge>
</gstock-menu-item>
</gstock-menu>
Checkbox menu items
Use the type attribute to checkbox to create a menu item that will toggle on and off when
selected.
<gstock-menu style="max-width: 180px">
<gstock-menu-item type="checkbox">Checkbox 1</gstock-menu-item>
<gstock-menu-item type="checkbox" checked>Checkbox 2</gstock-menu-item>
<gstock-menu-item type="checkbox">Checkbox 3</gstock-menu-item>
</gstock-menu>
Link
Use the href attribute to make the component render an <a> under the hood. This gives you all the default link behavior the browser provides and exposes the target and download attributes.
<gstock-menu style="max-width: 180px">
<gstock-menu-item prefix="link" href="https://example.com/">
Link
</gstock-menu-item>
<gstock-menu-item prefix="external-link" href="https://example.com/" target="_blank">
New Window
</gstock-menu-item>
<gstock-menu-item prefix="download" href="/assets/images/wordmark.svg" download="gstock.svg">
Download
</gstock-menu-item>
<gstock-menu-item prefix="x-circle" href="https://example.com/" disabled>
Disabled
</gstock-menu-item>
</gstock-menu>
Value and selection
Use the value attribute to assign a hidden value, such as a unique identifier, to a menu item.
When an item is selected, the gstock-select-event event will be emitted and a reference to the
item will be available at event.detail.item. You can use this reference to access the selected
item’s value, its checked state, and more.
<gstock-menu class="menu-value" style="max-width: 180px">
<gstock-menu-item value="opt-1">Menu Item 1</gstock-menu-item>
<gstock-menu-item value="opt-2">Menu Item 2</gstock-menu-item>
<gstock-menu-item value="opt-3">Menu Item 3</gstock-menu-item>
<gstock-divider></gstock-divider>
<gstock-menu-item type="checkbox" value="opt-4">Checkbox 1</gstock-menu-item>
<gstock-menu-item type="checkbox" value="opt-5">Checkbox 2</gstock-menu-item>
<gstock-menu-item type="checkbox" value="opt-6">Checkbox 3</gstock-menu-item>
</gstock-menu>
<script type="module">
const menu = document.querySelector('.menu-value');
menu.addEventListener('gstock-select-event', event => {
const item = event.detail.item;
// Log value
if (item.type === 'checkbox') {
console.log(`Selected value: ${item.value} (${item.checked ? 'checked' : 'unchecked'})`);
} else {
console.log(`Selected value: ${item.value}`);
}
});
</script>