1
0
Fork 0

Merging upstream version 0.46.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-05 18:42:39 +01:00
parent d5bf7afd18
commit 76fe8c2886
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
125 changed files with 8421 additions and 71 deletions

View file

@ -0,0 +1,131 @@
{% filter markdown %}{% raw %}
```css
@scope (#menu-demo) {
:scope {
position: relative;
display: block;
padding: 2rem 0.5rem 0;
height: 300px;
margin: 0 auto;
}
.ui-menubutton {
border-radius: 0.25rem;
border-width: 1px;
background-color: rgb(0 0 0 / 0.1);
padding-top: 0.25rem;
padding-bottom: 0.25rem;
padding-left: 1rem;
padding-right: 1rem;
font-weight: 600;
color: white;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
0 4px 6px -4px rgb(0 0 0 / 0.1);
width: fit-content;
margin: 0 auto;
}
.ui-menubutton:hover {
background-color: rgb(0 0 0 / 0.2);
}
.ui-menubutton .icon {
margin-left: 0.25rem;
}
.group:not([hidden]) ~ .group:not([hidden]) {
border-top: 1px solid #d1d5db;
}
.ui-menu {
margin-top: 4px;
padding: 8px 0;
border-radius: 8px;
width: 400px;
background-color: #ffffff;
box-shadow: 0 1px 3px 4px rgba(0, 0, 0, 0.2);
overflow: visible;
font-size: 0.9rem;
font-weight: 400;
transition: all 0.2s allow-discrete;
/* Final state of the exit animation */
opacity: 0;
transform: translateY(-1rem);
}
.ui-menu:popover-open {
opacity: 1;
transform: translateY(0);
}
/* Needs to be after the previous .ui-menu:popover-open rule
to take effect, as the specificity is the same */
@starting-style {
.ui-menu:popover-open {
opacity: 0;
transform: translateY(-1rem);
}
}
.ui-menu:focus {
outline: none;
}
.ui-menu .ui-menu {
position: absolute;
margin: 0 0 0 -4px;
width: 300px;
z-index: 1;
transition: opacity 0.2s allow-discrete;
}
.ui-menu * {
user-select: none;
}
.ui-menuitem {
display: flex;
height: 40px;
padding-left: 24px;
padding-right: 24px;
align-items: center;
justify-items: flex-start;
line-height: 40px;
color: #000000;
background-color: #ffffff;
cursor: default;
user-select: none;
position: relative;
text-align: left;
}
.ui-menuitem.ui-selected {
background-color: #f2e7e4;
}
.ui-menuitem.ui-disabled {
color: #5f6368;
}
.ui-menuitem > .icon {
font-size: 1rem;
width: 24px;
text-align: left;
}
.ui-menuitem.ui-disabled > .icon {
color: #aca6a7;
}
.ui-menuitem > a {
flex-grow: 1;
}
.ui-menuitem > kbd {
visibility: hidden;
margin-left: auto;
font-size: 0.9rem;
font-family: inherit;
text-align: right;
color: #524f50;
}
.ui-menuitem:not(.ui-disabled):hover > kbd {
visibility: visible;
}
.ui-menuitem > .arrow {
margin-left: auto;
font-size: 0.7rem;
text-align: right;
}
}
```
{% endraw %}{% endfilter %}

View file

@ -0,0 +1,89 @@
{% filter markdown %}{% raw %}
```html+jinja
<MenuButton id="menu-demo-btn" target="menu-demo-menu">
Menu <i class="icon">keyboard_arrow_down</i>
</MenuButton>
<Menu id="menu-demo-menu" anchor="menu-demo-btn" anchor-to="bottom end">
<div class="group">
<MenuItem>
<i class="icon">tab</i>
<a>New tab</a>
<kbd>Ctrl+T</kbd>
</MenuItem>
<MenuItem>
<i class="icon">new_window</i>
<a>New window</a>
<kbd>Ctrl+N</kbd>
</MenuItem>
<MenuItem disabled>
<i class="icon">fingerprint_off</i>
<a>Disabled item</a>
<kbd>Ctrl+Shift+N</kbd>
</MenuItem>
</div>
<div class="group">
<MenuItem>
<i class="icon">download</i>
<a>Downloads</a>
<kbd>Ctrl+J</kbd>
</MenuItem>
<MenuItemSub id="bookmarks-item">
<i class="icon">bookmarks</i>
<a>Bookmarks and lists</a>
<span class="icon arrow">keyboard_arrow_right</span>
<Menu anchor="bookmarks-item" anchor_to="right start">
<div class="group">
<MenuItem>
<i class="icon">bookmark_add</i>
<a>Bookmark this tab...</a>
<kbd>Ctrl+D</kbd>
</MenuItem>
<MenuItem>
<i class="icon">bookmarks</i>
<a>Bookmark all tabs...</a>
<kbd>Ctrl+Shift+D</kbd>
</MenuItem>
</div>
<div class="group">
<MenuItem>
<i class="icon">toolbar</i>
<a>Hide bookmarks bar</a>
<kbd>Ctrl+Shift+B</kbd>
</MenuItem>
<MenuItem>
<i class="icon">bookmarks</i>
<a>Show all bookmarks</a>
</MenuItem>
<MenuItem>
<i class="icon">bookmark_manager</i>
<a>Bookmark manager</a>
<kbd>Ctrl+Shift+O</kbd>
</MenuItem>
</div>
</Menu>
</MenuItemSub>
</div>
<div class="group">
<MenuItem>
<i class="icon">print</i>
<a>Print...</a>
<kbd>Ctrl+P</kbd>
</MenuItem>
<MenuItem>
<i class="icon">help</i>
<a>Help</a>
</MenuItem>
<MenuItem>
<i class="icon">settings</i>
<a>Settings</a>
</MenuItem>
<MenuItem>
<i class="icon">exit_to_app</i>
<a>Exit</a>
</MenuItem>
</div>
</Menu>
```
{% endraw %}{% endfilter %}

View file

@ -0,0 +1,94 @@
{#css ui/Menu/Menu.css #}
<div class="bg-cover"
style="background-image:linear-gradient(to right, rgba(244,114,182, 0.9), rgba(219,39,119, 0.9))"
data-md-skip
></div>
<div id="menu-demo" data-md-skip>
<MenuButton id="menu-demo-btn" target="menu-demo-menu">
Menu <i class="icon">keyboard_arrow_down</i>
</MenuButton>
<Menu id="menu-demo-menu" anchor="menu-demo-btn" anchor-to="bottom end">
<div class="group">
<MenuItem>
<i class="icon">tab</i>
<a>New tab</a>
<kbd>Ctrl+T</kbd>
</MenuItem>
<MenuItem>
<i class="icon">new_window</i>
<a>New window</a>
<kbd>Ctrl+N</kbd>
</MenuItem>
<MenuItem disabled>
<i class="icon">fingerprint_off</i>
<a>Disabled item</a>
<kbd>Ctrl+Shift+N</kbd>
</MenuItem>
</div>
<div class="group">
<MenuItem>
<i class="icon">download</i>
<a>Downloads</a>
<kbd>Ctrl+J</kbd>
</MenuItem>
<MenuItemSub id="bookmarks-item">
<i class="icon">bookmarks</i>
<a>Bookmarks and lists</a>
<span class="icon arrow">keyboard_arrow_right</span>
<Menu anchor="bookmarks-item" anchor_to="right start">
<div class="group">
<MenuItem>
<i class="icon">bookmark_add</i>
<a>Bookmark this tab...</a>
<kbd>Ctrl+D</kbd>
</MenuItem>
<MenuItem>
<i class="icon">bookmarks</i>
<a>Bookmark all tabs...</a>
<kbd>Ctrl+Shift+D</kbd>
</MenuItem>
</div>
<div class="group">
<MenuItem>
<i class="icon">toolbar</i>
<a>Hide bookmarks bar</a>
<kbd>Ctrl+Shift+B</kbd>
</MenuItem>
<MenuItem>
<i class="icon">bookmarks</i>
<a>Show all bookmarks</a>
</MenuItem>
<MenuItem>
<i class="icon">bookmark_manager</i>
<a>Bookmark manager</a>
<kbd>Ctrl+Shift+O</kbd>
</MenuItem>
</div>
</Menu>
</MenuItemSub>
</div>
<div class="group">
<MenuItem>
<i class="icon">print</i>
<a>Print...</a>
<kbd>Ctrl+P</kbd>
</MenuItem>
<MenuItem>
<i class="icon">help</i>
<a>Help</a>
</MenuItem>
<MenuItem>
<i class="icon">settings</i>
<a>Settings</a>
</MenuItem>
<MenuItem>
<i class="icon">exit_to_app</i>
<a>Exit</a>
</MenuItem>
</div>
</Menu>
</div>

View file

@ -0,0 +1,127 @@
@scope (#menu-demo) {
:scope {
position: relative;
display: block;
padding: 2rem 0.5rem 0;
height: 200px;
margin: 0 auto;
}
.ui-menubutton {
border-radius: 0.25rem;
border-width: 1px;
background-color: rgb(0 0 0 / 0.1);
padding-top: 0.25rem;
padding-bottom: 0.25rem;
padding-left: 1rem;
padding-right: 1rem;
font-weight: 600;
color: white;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
0 4px 6px -4px rgb(0 0 0 / 0.1);
width: fit-content;
margin: 0 auto;
}
.ui-menubutton:hover {
background-color: rgb(0 0 0 / 0.2);
}
.ui-menubutton .icon {
margin-left: 0.25rem;
}
.group:not([hidden]) ~ .group:not([hidden]) {
border-top: 1px solid #d1d5db;
}
.ui-menu {
margin-top: 4px;
padding: 8px 0;
border-radius: 8px;
width: 400px;
background-color: #ffffff;
box-shadow: 0 1px 3px 4px rgba(0, 0, 0, 0.2);
overflow: visible;
font-size: 0.9rem;
font-weight: 400;
transition: all 0.2s allow-discrete;
/* Final state of the exit animation */
opacity: 0;
transform: translateY(-1rem);
}
.ui-menu:popover-open {
opacity: 1;
transform: translateY(0);
}
/* Needs to be after the previous .ui-menu:popover-open rule
to take effect, as the specificity is the same */
@starting-style {
.ui-menu:popover-open {
opacity: 0;
transform: translateY(-1rem);
}
}
.ui-menu:focus {
outline: none;
}
.ui-menu .ui-menu {
position: absolute;
margin: 0 0 0 -4px;
width: 300px;
z-index: 1;
transition: opacity 0.2s allow-discrete;
}
.ui-menu * {
user-select: none;
}
.ui-menuitem {
display: flex;
height: 40px;
padding-left: 24px;
padding-right: 24px;
align-items: center;
justify-items: flex-start;
line-height: 40px;
color: #000000;
background-color: #ffffff;
cursor: default;
user-select: none;
position: relative;
text-align: left;
}
.ui-menuitem.ui-selected {
background-color: #f2e7e4;
}
.ui-menuitem.ui-disabled {
color: #5f6368;
}
.ui-menuitem > .icon {
font-size: 1rem;
width: 24px;
text-align: left;
}
.ui-menuitem.ui-disabled > .icon {
color: #aca6a7;
}
.ui-menuitem > a {
flex-grow: 1;
}
.ui-menuitem > kbd {
visibility: hidden;
margin-left: auto;
font-size: 0.9rem;
font-family: inherit;
text-align: right;
color: #524f50;
}
.ui-menuitem:not(.ui-disabled):hover > kbd {
visibility: visible;
}
.ui-menuitem > .arrow {
margin-left: auto;
font-size: 0.7rem;
text-align: right;
}
}