Skip to content

Commit 05d3c40

Browse files
authored
feat(menu-button): added filter chips menu (#226)
1 parent acc81ca commit 05d3c40

File tree

17 files changed

+2187
-2728
lines changed

17 files changed

+2187
-2728
lines changed

.changeset/weak-dancers-wish.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@ebay/skin": minor
3+
---
4+
5+
feat(menu-button): added filter chip

packages/skin/dist/menu-button/menu-button.css

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,39 @@ div.menu-button__item[role^="menuitem"][aria-checked="true"] svg.icon--16 {
160160
opacity: 1;
161161
}
162162

163+
.menu-button__item[role="menuitemcheckbox"][aria-checked="true"]
164+
svg.icon--unchecked,
165+
.menu-button__item[role="menuitemradio"][aria-checked="true"]
166+
svg.icon--unchecked {
167+
display: none;
168+
}
169+
.menu-button__item[role="menuitemcheckbox"][aria-checked="true"]
170+
svg.icon--checked,
171+
.menu-button__item[role="menuitemradio"][aria-checked="true"]
172+
svg.icon--checked {
173+
display: block;
174+
}
175+
.menu-button__item[role="menuitemcheckbox"] svg.icon--unchecked {
176+
color: var(--color-foreground-secondary);
177+
display: block;
178+
margin-right: var(--spacing-100);
179+
}
180+
.menu-button__item[role="menuitemcheckbox"] svg.icon--checked {
181+
color: var(--color-foreground-primary);
182+
display: none;
183+
margin-right: var(--spacing-100);
184+
}
185+
.menu-button__item[role="menuitemradio"] svg.icon--unchecked {
186+
color: var(--color-foreground-primary);
187+
display: block;
188+
margin-right: var(--spacing-100);
189+
}
190+
.menu-button__item[role="menuitemradio"] svg.icon--checked {
191+
color: var(--color-foreground-primary);
192+
display: none;
193+
margin-right: var(--spacing-100);
194+
}
195+
163196
.fake-menu-button__menu a.fake-menu-button__item,
164197
.fake-menu-button__menu button.fake-menu-button__item {
165198
background-color: initial;
@@ -289,6 +322,7 @@ div.menu-button__item--badged[role^="menuitem"] .badge {
289322
.fake-menu-button__button[aria-expanded="true"] ~ .fake-menu-button__menu,
290323
.menu-button .btn[aria-expanded="true"] ~ .menu-button__menu,
291324
.menu-button .expand-btn[aria-expanded="true"] ~ .menu-button__menu,
325+
.menu-button .filter-chip[aria-expanded="true"] ~ .menu-button__menu,
292326
.menu-button__button[aria-expanded="true"] ~ .menu-button__menu {
293327
display: block;
294328
}
@@ -298,6 +332,7 @@ div.menu-button__item--badged[role^="menuitem"] .badge {
298332
.expand-btn ~ .menu-button__menu--static,
299333
.expand_btn ~ .fake-menu-button__menu--static,
300334
.fake-menu-button__button ~ .fake-menu-button__menu--static,
335+
.filter-chip ~ .fake-menu-button__menu--static,
301336
.menu-button__button ~ .menu-button__menu--static {
302337
position: static;
303338
}
@@ -315,6 +350,22 @@ hr.menu-button__separator {
315350
border-width: 1px;
316351
margin: 0;
317352
}
353+
354+
.menu-button__footer {
355+
align-items: center;
356+
background-color: var(--color-background-elevated);
357+
border: none;
358+
border-color: var(--color-stroke-subtle);
359+
border-top-style: solid;
360+
border-top-width: 1px;
361+
display: flex;
362+
justify-content: center;
363+
padding: var(--spacing-200);
364+
}
365+
366+
.menu-button--filter div.menu-button__item[role^="menuitem"] {
367+
justify-content: flex-start;
368+
}
318369
div.menu-button__item[role^="menuitem"]:focus:not(:focus-visible) {
319370
outline: none;
320371
}

packages/skin/dist/menu/menu.css

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,35 @@ div.menu__item--badged[role^="menuitem"] span.badge {
148148
z-index: 1;
149149
}
150150

151+
.menu__item[role="menuitemcheckbox"][aria-checked="true"] svg.icon--unchecked,
152+
.menu__item[role="menuitemradio"][aria-checked="true"] svg.icon--unchecked {
153+
display: none;
154+
}
155+
.menu__item[role="menuitemcheckbox"][aria-checked="true"] svg.icon--checked,
156+
.menu__item[role="menuitemradio"][aria-checked="true"] svg.icon--checked {
157+
display: block;
158+
}
159+
.menu__item[role="menuitemcheckbox"] svg.icon--unchecked {
160+
color: var(--color-foreground-secondary);
161+
display: block;
162+
margin-right: var(--spacing-100);
163+
}
164+
.menu__item[role="menuitemcheckbox"] svg.icon--checked {
165+
color: var(--color-foreground-primary);
166+
display: none;
167+
margin-right: var(--spacing-100);
168+
}
169+
.menu__item[role="menuitemradio"] svg.icon--unchecked {
170+
color: var(--color-foreground-primary);
171+
display: block;
172+
margin-right: var(--spacing-100);
173+
}
174+
.menu__item[role="menuitemradio"] svg.icon--checked {
175+
color: var(--color-foreground-primary);
176+
display: none;
177+
margin-right: var(--spacing-100);
178+
}
179+
151180
.menu__items--scroll[role="menu"] {
152181
overflow-y: scroll;
153182
}
@@ -180,6 +209,22 @@ hr.menu__separator {
180209
border-style: solid;
181210
border-width: 1px;
182211
}
212+
213+
.menu__footer {
214+
align-items: center;
215+
background-color: var(--color-background-elevated);
216+
border: none;
217+
border-color: var(--color-stroke-subtle);
218+
border-top-style: solid;
219+
border-top-width: 1px;
220+
display: flex;
221+
justify-content: center;
222+
padding: var(--spacing-200);
223+
}
224+
225+
.menu--filter div.menu__item[role^="menuitem"] {
226+
justify-content: flex-start;
227+
}
183228
div.menu__item[role^="menuitem"]:focus:not(:focus-visible) {
184229
outline: none;
185230
}

packages/skin/src/routes/_index/component/filter-button/+meta.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

packages/skin/src/routes/_index/component/filter-button/+page.marko

Lines changed: 0 additions & 216 deletions
This file was deleted.

packages/skin/src/routes/_index/component/filter-menu-button/+meta.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)