Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
33787b8
update package
Sveb Aug 14, 2025
2e670a6
Merge remote-tracking branch 'upstream/main'
Sveb Aug 18, 2025
09043d2
Merge remote-tracking branch 'upstream/main'
Sveb Aug 18, 2025
99240ef
Merge remote-tracking branch 'upstream/main'
Sveb Aug 20, 2025
8301316
Merge remote-tracking branch 'upstream/main'
Sveb Aug 22, 2025
b87f27e
Merge remote-tracking branch 'upstream/main'
Sveb Aug 27, 2025
16e863a
Merge remote-tracking branch 'upstream/main'
Sveb Aug 27, 2025
64208d8
Merge remote-tracking branch 'upstream/main'
Sveb Sep 2, 2025
d7ec61c
Merge remote-tracking branch 'upstream/main'
Sveb Sep 3, 2025
c2a2e75
Merge remote-tracking branch 'upstream/main'
Sveb Sep 4, 2025
33211f0
Merge remote-tracking branch 'upstream/main'
Sveb Sep 4, 2025
fe816e4
Merge remote-tracking branch 'upstream/main'
Sveb Sep 8, 2025
12b0865
Merge remote-tracking branch 'upstream/main'
Sveb Sep 11, 2025
daf45e8
Merge remote-tracking branch 'upstream/main'
Sveb Sep 15, 2025
9dc1550
Merge remote-tracking branch 'upstream/main'
Sveb Sep 22, 2025
d660e03
Merge remote-tracking branch 'upstream/main'
Sveb Sep 25, 2025
1f4e12e
feat: create the BentoFilterMenu
Sveb Sep 30, 2025
7fcc793
Update BentoFilterMenu.vue
Sveb Sep 30, 2025
cdea736
Merge remote-tracking branch 'upstream/main'
Sveb Oct 2, 2025
db8bcf4
Merge remote-tracking branch 'upstream/main'
Sveb Oct 17, 2025
b4107a3
Merge remote-tracking branch 'upstream/main'
Sveb Oct 21, 2025
97d98e3
Merge remote-tracking branch 'upstream/main'
Sveb Oct 28, 2025
da5c0a1
Merge remote-tracking branch 'upstream/main'
Sveb Oct 30, 2025
e15b515
Merge remote-tracking branch 'upstream/main'
Sveb Nov 6, 2025
5d04aad
Merge remote-tracking branch 'upstream/main'
Sveb Nov 10, 2025
6a39865
Merge branch 'main' into bento-box-filter-menu
Sveb Nov 10, 2025
513bc57
Merge remote-tracking branch 'upstream/main' into bento-box-filter-menu
Sveb Nov 10, 2025
70677ed
fix: prepare for PR
Sveb Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions NOTES.md

This file was deleted.

3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,5 @@
},
"engines": {
"pnpm": "^9.12.1"
},
"packageManager": "[email protected]"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<script setup lang="ts">
import { computed } from 'vue'
import SmartLink from '@/lib-components/SmartLink.vue'
import { useTheme } from '@/composables/useTheme'

// Props
interface BentoFilterMenuItem {
label: string
to: string
}
interface BentoFilterMenuProps {
items: BentoFilterMenuItem[]
}

defineProps<BentoFilterMenuProps>()

// Imports
const theme = useTheme()
// Data

// Computed
const classes = computed(() => {
return ['bento-filter-menu', theme?.value || '']
})
</script>

<template>
<ul :class="classes">
<li
v-for="item in items"
:key="item.label"
class="bento-filter-menu-item"
>
<SmartLink
:to="item.to"
class="bento-filter-menu-link"
>
{{ item.label }}
</SmartLink>
</li>
</ul>
</template>

<style lang="scss" scoped>
@import "@/styles/dlc/_bento-filter-menu.scss";
</style>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
describe('Funkhaus / Bento Filter Menu', () => {
it('Default story: renders with theme and all filter items', () => {
cy.visit(
'/iframe.html?id=funkhaus-bento-filter-menu--default&viewMode=story'
)
cy.get('.bento-filter-menu').should('exist')
})
})
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { computed } from 'vue'
import BentoFilterMenu from '@/lib-components/BentoFilterMenu.vue'

export default {
title: 'Funkhaus / Bento Filter Menu',
component: BentoFilterMenu,
}

export function Default() {
return {
components: { BentoFilterMenu },
provide() {
return {
theme: computed(() => 'dlc'),
}
},
template: `
<div style="padding: 40px; background: #f5f5f5;">
<bento-filter-menu :items="items" />
</div>
`,
data() {
return {
items: [
{ label: 'Everything', to: '/search' },
{ label: 'Images', to: '/search?type=images' },
{ label: 'Videos', to: '/search?type=videos' },
{ label: 'Manuscripts', to: '/search?type=manuscripts' },
{ label: 'Books', to: '/search?type=books' },
{ label: 'Audio', to: '/search?type=audio' },
{ label: '3D Art', to: '/search?type=3d-art' },
]
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
.dlc.bento-filter-menu,
.bento-filter-menu {
--gap: 60px;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--gap);

list-style: none;
padding: 0;
margin: 0;

.bento-filter-menu-item {
position: relative;

&:after {
content: "";
position: absolute;
bottom: 0;
right: calc(var(--gap) * -0.5);
width: 1px;
height: 100%;
background-color: var(--color-secondary-grey-02);
}

&:last-child:after {
display: none;
}
}

.bento-filter-menu-link {
font-size: 20px;
font-family: var(--font-primary);
line-height: 1;
font-weight: 400;
color: var(--color-primary-blue-05);

&.exact-active {
color: var(--color-primary-blue-03);
}

&:after {
content: "";
position: absolute;
bottom: 1px;
left: 0;
width: 100%;
height: 2px;
background-color: var(--color-primary-blue-03);
border: none;
box-sizing: border-box;
opacity: 0;
@include animate-normal;
}
}

// Hovers
@media #{$has-hover} {
.bento-filter-menu-link:hover {
color: var(--color-primary-blue-03);
&:after {
opacity: 1;
}
}
}

// Breakpoints
@media #{$small} {
--gap: 24px;
}
}
Loading