Skip to content

Commit

Permalink
Lab examples for k-panel-menu
Browse files Browse the repository at this point in the history
  • Loading branch information
distantnative committed Feb 8, 2025
1 parent 7c39af1 commit b636e70
Show file tree
Hide file tree
Showing 4 changed files with 102 additions and 10 deletions.
97 changes: 97 additions & 0 deletions panel/lab/components/menu/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
<template>
<k-lab-examples>
<k-box theme="info">
Try these examples with the actual Panel menu collapsed as otherwise the
global open state will overwrite the local example state.
</k-box>

<k-lab-example label="Sections">
<k-panel-menu :items="items" />
</k-lab-example>
<k-lab-example label="Has search">
<k-panel-menu :items="items" :searches="searches" />
</k-lab-example>
<k-lab-example label="Open/Close (and hovered)">
<div class="k-panel" :data-menu="isOpen">
<k-panel-menu
:items="items"
:is-hovered="isHovered"
:is-open="isOpen"
@hover="isHovered = $event"
@toggle="isOpen = !isOpen"
/>
</div>
</k-lab-example>
<k-lab-example label="License: missing">
<k-panel-menu :items="items" license="missing" />
</k-lab-example>
<k-lab-example label="License: legacy">
<k-panel-menu :items="items" license="legacy" />
</k-lab-example>
</k-lab-examples>
</template>

<script>
export default {
data() {
return {
isHovered: false,
isOpen: true
};
},
computed: {
items() {
return [
{
component: "k-button",
key: "a",
props: { text: "Site", icon: "home", current: true }
},
{
component: "k-button",
key: "b",
props: { text: "Users", icon: "users" }
},
{
component: "k-button",
key: "c",
props: { text: "Settings", icon: "settings" }
},
"-",
{
component: "k-button",
key: "d",
props: { text: "Changes", icon: "edit-line" }
},
{
component: "k-button",
key: "e",
props: { text: "Account", icon: "account" }
},
{
component: "k-button",
key: "f",
props: { text: "Sign out", icon: "logout" }
}
];
},
searches() {
return {
shops: {}
};
}
}
};
</script>

<style>
.k-lab-example-canvas {
position: relative;
min-height: 20rem;
}
.k-lab-example-canvas .k-panel-menu {
position: absolute;
z-index: var(--z-content);
}
</style>
4 changes: 2 additions & 2 deletions panel/src/components/View/Inside.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<k-panel class="k-panel-inside">
<k-panel-menu
v-bind="$panel.menu.props"
:hover="$panel.menu.hover"
:is-hovered="$panel.menu.isHovered"
:is-open="$panel.menu.isOpen"
:license="$panel.license"
:searches="$panel.searches"
@hover="$panel.menu.hover = $event"
@hover="$panel.menu.isHovered = $event"
@search="$panel.search()"
@toggle="$panel.menu.toggle()"
/>
Expand Down
9 changes: 2 additions & 7 deletions panel/src/components/View/Menu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<nav
class="k-panel-menu"
:aria-label="$t('menu')"
:data-hover="hover"
:data-hover="isHovered"
@mouseenter="$emit('hover', true)"
@mouseleave="$emit('hover', false)"
>
Expand Down Expand Up @@ -63,7 +63,7 @@
*/
export default {
props: {
hover: Boolean,
isHovered: Boolean,
isOpen: Boolean,
items: {
type: Array,
Expand All @@ -76,11 +76,6 @@ export default {
}
},
emits: ["search", "toggle"],
data() {
return {
over: false
};
},
computed: {
activationButton() {
if (this.license === "missing") {
Expand Down
2 changes: 1 addition & 1 deletion panel/src/panel/menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import State from "./state.js";
export const defaults = () => {
return {
props: {},
hover: false,
isHovered: false,
isOpen: false
};
};
Expand Down

0 comments on commit b636e70

Please sign in to comment.