@gjsify/adwaita-web 0.41.0 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -3
- package/dist/adwaita-web.css +30 -23
- package/dist/adwaita-web.css.map +1 -1
- package/lib/types/adw-fonts.spec.d.ts +2 -0
- package/lib/types/breakpoints.d.ts +10 -1
- package/lib/types/connect-lifecycle.spec.d.ts +1 -0
- package/lib/types/elements/adw-about-dialog.d.ts +1 -0
- package/lib/types/elements/adw-action-row.d.ts +2 -0
- package/lib/types/elements/adw-alert-dialog.d.ts +14 -2
- package/lib/types/elements/adw-carousel.d.ts +8 -0
- package/lib/types/elements/adw-dialog.d.ts +2 -7
- package/lib/types/elements/adw-icon.d.ts +17 -1
- package/lib/types/elements/adw-navigation-split-view.d.ts +7 -0
- package/lib/types/elements/adw-overlay-split-view.d.ts +6 -0
- package/lib/types/elements/adw-popover.d.ts +1 -0
- package/lib/types/elements/adw-preferences-dialog.d.ts +1 -0
- package/lib/types/elements/adw-switch.d.ts +10 -0
- package/lib/types/elements/adw-toggle-group.d.ts +2 -0
- package/lib/types/elements/modal-surface.d.ts +59 -0
- package/lib/types/elements/roving-focus.d.ts +26 -0
- package/lib/types/elements/row-activation.d.ts +26 -0
- package/lib/types/elements/swipe-drag.d.ts +63 -0
- package/lib/types/empty-sections.d.ts +15 -0
- package/lib/types/empty-sections.spec.d.ts +1 -0
- package/lib/types/fonts.d.ts +1 -0
- package/lib/types/icon-registry.d.ts +35 -0
- package/lib/types/icon-registry.spec.d.ts +18 -0
- package/lib/types/index.d.ts +1 -1
- package/lib/types/keyboard-operable.spec.d.ts +1 -0
- package/lib/types/styles.generated.d.ts +1 -1
- package/package.json +10 -6
- package/scss/_banner.scss +1 -1
- package/scss/_checks.scss +8 -8
- package/scss/_combo_row.scss +1 -1
- package/scss/_drop_down.scss +1 -1
- package/scss/_expander_row.scss +1 -1
- package/scss/_icon.scss +47 -0
- package/scss/_icons.generated.scss +18 -6
- package/scss/_password_entry_row.scss +1 -1
- package/scss/_preferences_dialog.scss +3 -2
- package/scss/_progress_bar.scss +1 -1
- package/scss/_row.scss +1 -1
- package/scss/_status_page.scss +1 -1
- package/scss/_tab_view.scss +1 -1
- package/scss/_toast.scss +6 -24
- package/scss/_variables.scss +23 -3
- package/src/adw-action-rows.spec.ts +21 -9
- package/src/adw-button-content.spec.ts +11 -6
- package/src/adw-fonts.spec.ts +188 -0
- package/src/adw-icon.spec.ts +17 -8
- package/src/adw-row-state.spec.ts +11 -1
- package/src/breakpoints.ts +18 -4
- package/src/connect-lifecycle.spec.ts +351 -0
- package/src/elements/adw-about-dialog.ts +24 -18
- package/src/elements/adw-action-row.ts +14 -2
- package/src/elements/adw-alert-dialog.ts +39 -20
- package/src/elements/adw-button-row.ts +3 -0
- package/src/elements/adw-carousel.ts +86 -5
- package/src/elements/adw-clamp.ts +3 -2
- package/src/elements/adw-data-grid.ts +5 -2
- package/src/elements/adw-dialog.ts +16 -63
- package/src/elements/adw-expander-row.ts +18 -4
- package/src/elements/adw-header-bar.ts +2 -0
- package/src/elements/adw-icon.ts +32 -6
- package/src/elements/adw-inline-view-switcher.ts +12 -0
- package/src/elements/adw-menu-button.ts +17 -10
- package/src/elements/adw-navigation-split-view.ts +30 -7
- package/src/elements/adw-overlay-split-view.ts +15 -3
- package/src/elements/adw-popover.ts +11 -0
- package/src/elements/adw-preferences-dialog.ts +18 -16
- package/src/elements/adw-preferences-group.ts +7 -0
- package/src/elements/adw-sidebar.ts +15 -0
- package/src/elements/adw-status-page.ts +12 -4
- package/src/elements/adw-switch-row.ts +7 -0
- package/src/elements/adw-switch.ts +19 -1
- package/src/elements/adw-tab-view.ts +7 -4
- package/src/elements/adw-toast-overlay.ts +8 -1
- package/src/elements/adw-toggle-group.ts +94 -2
- package/src/elements/adw-toolbar-view.ts +6 -2
- package/src/elements/adw-view-switcher-bar.ts +18 -0
- package/src/elements/adw-view-switcher.ts +14 -0
- package/src/elements/modal-surface.ts +180 -0
- package/src/elements/roving-focus.ts +154 -0
- package/src/elements/row-activation.ts +92 -0
- package/src/elements/swipe-drag.ts +450 -0
- package/src/empty-sections.spec.ts +81 -0
- package/src/empty-sections.ts +54 -0
- package/src/fonts.ts +25 -0
- package/src/icon-registry.spec.ts +240 -0
- package/src/icon-registry.ts +157 -0
- package/src/index.ts +24 -1
- package/src/keyboard-operable.spec.ts +755 -0
- package/src/source-view/theme.ts +15 -3
- package/src/split-button.spec.ts +6 -2
- package/src/style-classes.spec.ts +6 -0
- package/src/styles.generated.ts +1 -1
- package/src/test.browser.mts +14 -0
package/README.md
CHANGED
|
@@ -17,11 +17,23 @@ yarn add @gjsify/adwaita-web
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
|
-
// Registers all custom elements
|
|
21
|
-
// compiled stylesheet — this one import is all you need.
|
|
20
|
+
// Registers all custom elements and self-applies the compiled stylesheet.
|
|
22
21
|
import '@gjsify/adwaita-web';
|
|
23
22
|
```
|
|
24
23
|
|
|
24
|
+
It does **not** register the Adwaita Sans `@font-face`, and that is a size
|
|
25
|
+
decision rather than an omission: the two faces inlined are 2.39 MB / 1.18 MB
|
|
26
|
+
gzip against a 190 KB / 26 KB stylesheet, and `gjsify build --app browser` has no
|
|
27
|
+
code splitting, so a lazy face costs the same bytes as an eager one. The
|
|
28
|
+
stylesheet names the family; on a GNOME host the system install resolves it.
|
|
29
|
+
Where that is not good enough — an app served to arbitrary browsers — opt in:
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
import { applyAdwaitaFonts } from '@gjsify/adwaita-web/fonts';
|
|
33
|
+
|
|
34
|
+
applyAdwaitaFonts(); // idempotent; injects both faces as `data:` URIs
|
|
35
|
+
```
|
|
36
|
+
|
|
25
37
|
> The stylesheet is injected on import, so a separate `import '@gjsify/adwaita-web/style.css'` is not required (and under a bundler with its own CSS pipeline it injects the same rules twice). The compiled CSS is still exported at `@gjsify/adwaita-web/style.css` if you prefer a static `<link>` with no JS injection.
|
|
26
38
|
|
|
27
39
|
```html
|
|
@@ -110,13 +122,96 @@ surface + light/dark `color-scheme` by adding the `adw-root` class to `<body>`
|
|
|
110
122
|
`--window-fg-color` + `color-scheme: light dark` to the page and changes nothing
|
|
111
123
|
about the individual components.
|
|
112
124
|
|
|
125
|
+
## Icons, and the ones the stylesheet does not ship
|
|
126
|
+
|
|
127
|
+
An `<adw-icon icon-name="go-next">` is a CSS mask: the box takes its colour from
|
|
128
|
+
`currentColor` and a generated `.adw-icon--<name>` class supplies the `mask-image`, so the
|
|
129
|
+
glyph re-themes with whatever contains it. The names that resolve are a **chosen subset** of
|
|
130
|
+
[`@gjsify/adwaita-icons`](../adwaita-icons) — a few dozen of them, plus one glyph drawn
|
|
131
|
+
locally — because inlining the whole set as data-URIs costs about 1.07 MB, roughly five
|
|
132
|
+
times the stylesheet it would sit in.
|
|
133
|
+
|
|
134
|
+
A name outside that subset draws **`image-missing`**, the broken-image glyph libadwaita
|
|
135
|
+
itself substitutes when it has no icon to draw. So does a name that could never be a mask
|
|
136
|
+
class at all — a space, a quote, a reverse-DNS application id — because
|
|
137
|
+
`gtk_icon_theme_lookup_icon` has no "found nothing" answer either. It is deliberately
|
|
138
|
+
visible: the icon has not silently disappeared, and nothing throws — an icon is decorative,
|
|
139
|
+
and neither of the other two Adwaita renderers takes an application down over a glyph. Only
|
|
140
|
+
an **absent or empty** name draws nothing, which is the host declining an icon.
|
|
141
|
+
|
|
142
|
+
### Registering your own
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
import { registerIcon, isIconAvailable } from '@gjsify/adwaita-web';
|
|
146
|
+
import { dialogErrorSymbolic } from '@gjsify/adwaita-icons/status';
|
|
147
|
+
|
|
148
|
+
if (!isIconAvailable('dialog-error')) {
|
|
149
|
+
registerIcon('dialog-error-symbolic', dialogErrorSymbolic);
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
```html
|
|
154
|
+
<adw-icon icon-name="dialog-error"></adw-icon>
|
|
155
|
+
<!-- …or any widget attribute that takes an icon name -->
|
|
156
|
+
<adw-status-page icon="dialog-error" title="Could not connect"></adw-status-page>
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
`registerIcon(name, svg)` takes the icon's **SVG source** — exactly what
|
|
160
|
+
`@gjsify/adwaita-icons` exports, and equally any symbolic SVG of your own drawn on the 16px
|
|
161
|
+
Adwaita grid with `fill="currentColor"`. It writes the same pair the build writes: a
|
|
162
|
+
`--icon-<name>` custom property on the document element and a `.adw-icon--<name>` mask rule,
|
|
163
|
+
so from then on the name is indistinguishable from a compiled one — in `<adw-icon>`, in a
|
|
164
|
+
widget attribute, in a hand-written `class="adw-icon adw-icon--dialog-error"`, and in your
|
|
165
|
+
own CSS as `var(--icon-dialog-error)`.
|
|
166
|
+
|
|
167
|
+
Notes worth having:
|
|
168
|
+
|
|
169
|
+
- **Register before you mount, where you can.** An icon already in the document shows the
|
|
170
|
+
fallback until the registration lands. The CSS is live, so it corrects itself on the next
|
|
171
|
+
style recalculation with no re-render — but there is a visible frame in between.
|
|
172
|
+
- **`registerIcon` needs a live document.** It writes to `document.documentElement` and
|
|
173
|
+
`document.head`, so calling it at module top level in an SSR/SSG build (an Astro component
|
|
174
|
+
module, for instance) throws a `ReferenceError` before any page renders. Call it from
|
|
175
|
+
client-side code — an `onMount`, a `client:load` boundary, a `DOMContentLoaded` handler.
|
|
176
|
+
- **The name is normalized the same way the attribute is**: one optional `-symbolic` suffix
|
|
177
|
+
comes off, and what is left has to be a single CSS token. `registerIcon` *throws* on a name
|
|
178
|
+
that is not (`org.gnome.Builder`, `a b`), because a call that silently registers nothing is
|
|
179
|
+
the failure this whole area exists to end — and because there is no mask class such a name
|
|
180
|
+
could be given. `<adw-icon>` stays lenient with the same input: the name came from markup,
|
|
181
|
+
so it draws `image-missing` rather than taking the page down.
|
|
182
|
+
- **Re-registering replaces the glyph** rather than adding a second rule, so a runtime theme
|
|
183
|
+
switch can call it as often as it likes.
|
|
184
|
+
- `isIconAvailable(name)` reads the live cascade, not a generated list, so it also answers
|
|
185
|
+
`true` for a glyph you supplied through your own stylesheet's `--icon-<name>`.
|
|
186
|
+
|
|
187
|
+
### Why this is a web-only concern
|
|
188
|
+
|
|
189
|
+
The three Adwaita renderers resolve an icon name three different ways, and it is worth
|
|
190
|
+
knowing which one you are on:
|
|
191
|
+
|
|
192
|
+
| Renderer | How a name resolves | An unknown name |
|
|
193
|
+
| --- | --- | --- |
|
|
194
|
+
| GTK (`@gjsify/adwaita-app`) | `GtkIconTheme` looks it up in the **system** icon theme at runtime | draws the theme's `image-missing` |
|
|
195
|
+
| NativeScript (`@gjsify/adwaita-nativescript`) | `AdwIcon` is handed the **SVG source**, not a name | cannot happen — a missing icon is a missing import |
|
|
196
|
+
| Web (this package) | a **compile-time** subset, plus `registerIcon` | draws `image-missing` |
|
|
197
|
+
|
|
198
|
+
All three therefore end on ONE glyph for a name they cannot draw. The web reaches it by two
|
|
199
|
+
routes — no mask class for a known-shaped name, or no usable class for a name like
|
|
200
|
+
`org.gnome.Builder` — and a dotted name has no registration path, so that second route is
|
|
201
|
+
where it stays.
|
|
202
|
+
|
|
203
|
+
Only the web renderer has a set that can be missing something at runtime, which is why only
|
|
204
|
+
it needs a registration path. `scripts/check-adwaita-icon-masks.mjs` holds the compiled
|
|
205
|
+
subset against every name this repository's SHIPPING surfaces emit, in both directions, and
|
|
206
|
+
fails on a compiled glyph that did not come from `@gjsify/adwaita-icons`.
|
|
207
|
+
|
|
113
208
|
## Source-code editor (`adw-source-view`)
|
|
114
209
|
|
|
115
210
|
An Adwaita-styled source editor — the web twin of GtkSourceView — is available as
|
|
116
211
|
an **opt-in subpath** so its CodeMirror dependency never bloats the core bundle:
|
|
117
212
|
|
|
118
213
|
```typescript
|
|
119
|
-
import '@gjsify/adwaita-web'; // app chrome (theme variables,
|
|
214
|
+
import '@gjsify/adwaita-web'; // app chrome (theme variables, components)
|
|
120
215
|
import '@gjsify/adwaita-web/source-view'; // registers <adw-source-view>
|
|
121
216
|
```
|
|
122
217
|
|
package/dist/adwaita-web.css
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
2
|
:root {
|
|
3
|
-
--icon-edit-paste: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%207%200%20c%20-0.554688%200%20-1%200.445312%20-1%201%20h%20-2%20c%20-1.644531%200%20-3%201.355469%20-3%203%20v%209%20c%200%201.644531%201.355469%203%203%203%20h%208%20c%201.644531%200%203%20-1.355469%203%20-3%20v%20-9%20c%200%20-1.644531%20-1.355469%20-3%20-3%20-3%20h%20-2%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%20-3%203%20h%201%20v%201%20c%200%200.554688%200.445312%201%201%201%20h%204%20c%200.554688%200%201%20-0.445312%201%20-1%20v%20-1%20h%201%20c%200.570312%200%201%200.429688%201%201%20v%209%20c%200%200.570312%20-0.429688%201%20-1%201%20h%20-8%20c%20-0.570312%200%20-1%20-0.429688%20-1%20-1%20v%20-9%20c%200%20-0.570312%200.429688%20-1%201%20-1%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
4
3
|
--icon-go-down: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%201%205%20c%200%20-0.265625%200.105469%20-0.519531%200.292969%20-0.707031%20c%200.390625%20-0.390625%201.023437%20-0.390625%201.414062%200%20l%205.292969%205.292969%20l%205.292969%20-5.292969%20c%200.390625%20-0.390625%201.023437%20-0.390625%201.414062%200%20c%200.1875%200.1875%200.292969%200.441406%200.292969%200.707031%20s%20-0.105469%200.519531%20-0.292969%200.707031%20l%20-6%206%20c%20-0.390625%200.390625%20-1.023437%200.390625%20-1.414062%200%20l%20-6%20-6%20c%20-0.1875%20-0.1875%20-0.292969%20-0.441406%20-0.292969%20-0.707031%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
5
4
|
--icon-sidebar-show: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cg%20fill%3D'currentColor'%3E%20%3Cpath%20d%3D'm%206%2013%20v%20-10%20h%20-3%20c%20-0.550781%200%20-1%200.449219%20-1%201%20v%208%20c%200%200.550781%200.449219%201%201%201%20z%20m%200%200'%20fill-opacity%3D'0.34902'%2F%3E%20%3Cpath%20d%3D'm%203%201%20c%20-1.644531%200%20-3%201.355469%20-3%203%20v%208%20c%200%201.644531%201.355469%203%203%203%20h%2010%20c%201.644531%200%203%20-1.355469%203%20-3%20v%20-8%20c%200%20-1.644531%20-1.355469%20-3%20-3%20-3%20z%20m%200%202%20h%203%20v%2010%20h%20-3%20c%20-0.570312%200%20-1%20-0.429688%20-1%20-1%20v%20-8%20c%200%20-0.570312%200.429688%20-1%201%20-1%20z%20m%204%200%20h%206%20c%200.570312%200%201%200.429688%201%201%20v%208%20c%200%200.570312%20-0.429688%201%20-1%201%20h%20-6%20z%20m%200%200'%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E");
|
|
6
5
|
--icon-go-previous: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%2012%202%20c%200%20-0.265625%20-0.105469%20-0.519531%20-0.292969%20-0.707031%20c%20-0.390625%20-0.390625%20-1.023437%20-0.390625%20-1.414062%200%20l%20-6%206%20c%20-0.1875%200.1875%20-0.292969%200.441406%20-0.292969%200.707031%20s%200.105469%200.519531%200.292969%200.707031%20l%206%206%20c%200.390625%200.390625%201.023437%200.390625%201.414062%200%20c%200.1875%20-0.1875%200.292969%20-0.441406%200.292969%20-0.707031%20s%20-0.105469%20-0.519531%20-0.292969%20-0.707031%20l%20-5.292969%20-5.292969%20l%205.292969%20-5.292969%20c%200.1875%20-0.1875%200.292969%20-0.441406%200.292969%20-0.707031%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
@@ -25,9 +24,12 @@
|
|
|
25
24
|
--icon-document-save: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%208%200%20c%20-0.550781%200%20-1%200.449219%20-1%201%20v%208.585938%20l%20-1.292969%20-1.292969%20c%20-0.1875%20-0.1875%20-0.441406%20-0.292969%20-0.707031%20-0.292969%20s%20-0.519531%200.105469%20-0.707031%200.292969%20c%20-0.390625%200.390625%20-0.390625%201.023437%200%201.414062%20l%203%203%20c%200.390625%200.390625%201.023437%200.390625%201.414062%200%20l%203%20-3%20c%200.390625%20-0.390625%200.390625%20-1.023437%200%20-1.414062%20s%20-1.023437%20-0.390625%20-1.414062%200%20l%20-1.292969%201.292969%20v%20-8.585938%20c%200%20-0.550781%20-0.449219%20-1%20-1%20-1%20z%20m%20-7%2014%20v%202%20h%2014%20v%20-2%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
26
25
|
--icon-mail-send: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%208%200%20c%20-0.257812%200%20-0.511719%200.0976562%20-0.707031%200.292969%20l%20-1.25%201.25%20l%20-1.761719%201.730469%20c%20-0.191406%200.199218%20-0.28125%200.441406%20-0.28125%200.75%20c%200%200.976562%201%201%201%201%20c%200.257812%200%200.527344%20-0.128907%200.71875%20-0.3125%20l%201.28125%20-1.28125%20v%203.570312%20s%200%201%201%201%20s%201%20-1%201%20-1%20v%20-3.570312%20l%201.28125%201.28125%20c%200.191406%200.183593%200.410156%200.3125%200.71875%200.3125%20c%200%200%201%20-0.023438%201%20-1%20c%200%20-0.308594%20-0.089844%20-0.550782%20-0.28125%20-0.75%20l%20-1.761719%20-1.730469%20l%20-1.25%20-1.25%20c%20-0.195312%20-0.1953128%20-0.449219%20-0.292969%20-0.707031%20-0.292969%20z%20m%20-5%209%20c%20-1.644531%200%20-3%201.355469%20-3%203%20v%204%20h%202%20v%20-3.800781%20l%204.613281%203.078125%20c%200.835938%200.558594%201.9375%200.558594%202.773438%200%20l%204.613281%20-3.078125%20v%203.800781%20h%202%20v%20-4%20c%200%20-1.644531%20-1.355469%20-3%20-3%20-3%20z%20m%200.800781%202%20h%208.398438%20l%20-3.921875%202.613281%20c%20-0.171875%200.113281%20-0.382813%200.113281%20-0.554688%200%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
27
26
|
--icon-mail-reply-sender: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%205%202%20c%20-0.265625%200%20-0.519531%200.105469%20-0.707031%200.292969%20l%20-4%204%20c%20-0.3906252%200.390625%20-0.3906252%201.023437%200%201.414062%20l%204%204%20c%200.390625%200.390625%201.023437%200.390625%201.414062%200%20s%200.390625%20-1.023437%200%20-1.414062%20l%20-2.292969%20-2.292969%20h%208.585938%20c%201.117188%200%202%200.882812%202%202%20v%203%20c%200%200.550781%200.449219%201%201%201%20s%201%20-0.449219%201%20-1%20v%20-3%20c%200%20-0.023438%200%20-0.046875%20-0.003906%20-0.070312%20c%20-0.035156%20-2.164063%20-1.820313%20-3.929688%20-3.996094%20-3.929688%20h%20-8.585938%20l%202.292969%20-2.292969%20c%200.390625%20-0.390625%200.390625%20-1.023437%200%20-1.414062%20c%20-0.1875%20-0.1875%20-0.441406%20-0.292969%20-0.707031%20-0.292969%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
27
|
+
--icon-folder-documents: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%204.96875%201.003906%20c%20-1.644531%200%20-3%201.355469%20-3%203%20v%209%20c%200%201.644532%201.355469%203%203%203%20h%206%20c%201.644531%200%203%20-1.355468%203%20-3%20v%20-7.5%20c%200%20-0.265625%20-0.105469%20-0.519531%20-0.292969%20-0.707031%20l%20-3.5%20-3.5%20c%20-0.1875%20-0.1875%20-0.441406%20-0.292969%20-0.707031%20-0.292969%20z%20m%200%202%20h%204%20v%201.5%20c%200%201%200.5%201.5%201.5%201.5%20h%201.5%20v%207%20c%200%200.570313%20-0.429688%201%20-1%201%20h%20-6%20c%20-0.570312%200%20-1%20-0.429687%20-1%20-1%20v%20-9%20c%200%20-0.570312%200.429688%20-1%201%20-1%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
28
28
|
--icon-folder-download: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%207.984375%200%20c%20-0.550781%200%20-1%200.449219%20-1%201%20v%208.585938%20l%20-2.292969%20-2.292969%20c%20-0.1875%20-0.1875%20-0.441406%20-0.292969%20-0.707031%20-0.292969%20s%20-0.519531%200.105469%20-0.707031%200.292969%20c%20-0.390625%200.390625%20-0.390625%201.023437%200%201.414062%20l%204%204%20c%200.390625%200.390625%201.023437%200.390625%201.414062%200%20l%204%20-4%20c%200.390625%20-0.390625%200.390625%20-1.023437%200%20-1.414062%20s%20-1.023437%20-0.390625%20-1.414062%200%20l%20-2.292969%202.292969%20v%20-8.585938%20c%200%20-0.550781%20-0.449219%20-1%20-1%20-1%20z%20m%20-6%2014%20v%202%20h%2012%20v%20-2%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
29
29
|
--icon-view-grid: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%202%201%20c%20-0.554688%200%20-1%200.445312%20-1%201%20v%204%20c%200%200.554688%200.445312%201%201%201%20h%204%20c%200.554688%200%201%20-0.445312%201%20-1%20v%20-4%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%208%200%20c%20-0.554688%200%20-1%200.445312%20-1%201%20v%204%20c%200%200.554688%200.445312%201%201%201%20h%204%20c%200.554688%200%201%20-0.445312%201%20-1%20v%20-4%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%20-8%208%20c%20-0.554688%200%20-1%200.445312%20-1%201%20v%204%20c%200%200.554688%200.445312%201%201%201%20h%204%20c%200.554688%200%201%20-0.445312%201%20-1%20v%20-4%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%208%200%20c%20-0.554688%200%20-1%200.445312%20-1%201%20v%204%20c%200%200.554688%200.445312%201%201%201%20h%204%20c%200.554688%200%201%20-0.445312%201%20-1%20v%20-4%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
30
30
|
--icon-view-list: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%202%201%20c%20-0.554688%200%20-1%200.445312%20-1%201%20v%202%20c%200%200.554688%200.445312%201%201%201%20h%202%20c%200.554688%200%201%20-0.445312%201%20-1%20v%20-2%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%205%201%20v%202%20h%208%20v%20-2%20z%20m%20-5%204.015625%20c%20-0.554688%200%20-1%200.445313%20-1%201%20v%201.980469%20c%200%200.550781%200.445312%201%201%201%20h%202%20c%200.554688%200%201%20-0.449219%201%20-1%20v%20-1.980469%20c%200%20-0.554687%20-0.445312%20-1%20-1%20-1%20z%20m%205%200.984375%20v%202%20h%208%20v%20-2%20z%20m%20-5%204%20c%20-0.554688%200%20-1%200.445312%20-1%201%20v%201.980469%20c%200%200.550781%200.445312%201%201%201%20h%202%20c%200.554688%200%201%20-0.449219%201%20-1%20v%20-1.980469%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%205%200.984375%20v%202%20h%208%20v%20-2%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
31
|
+
--icon-view-more: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%207.996094%200%20c%20-1.105469%200%20-2%200.894531%20-2%202%20s%200.894531%202%202%202%20c%201.101562%200%202%20-0.894531%202%20-2%20s%20-0.898438%20-2%20-2%20-2%20z%20m%200%206%20c%20-1.105469%200%20-2%200.894531%20-2%202%20s%200.894531%202%202%202%20c%201.101562%200%202%20-0.894531%202%20-2%20s%20-0.898438%20-2%20-2%20-2%20z%20m%200%206%20c%20-1.105469%200%20-2%200.894531%20-2%202%20s%200.894531%202%202%202%20c%201.101562%200%202%20-0.894531%202%20-2%20s%20-0.898438%20-2%20-2%20-2%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
32
|
+
--icon-view-paged: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cg%20fill%3D'currentColor'%3E%20%3Cpath%20d%3D'm%209%205.5%20v%20-1%20c%200%20-0.277344%20-0.222656%20-0.5%20-0.5%20-0.5%20h%20-3%20c%20-0.277344%200%20-0.5%200.222656%20-0.5%200.5%20v%201%20c%200%200.277344%200.222656%200.5%200.5%200.5%20h%203%20c%200.277344%200%200.5%20-0.222656%200.5%20-0.5%20z%20m%200%200'%20fill-opacity%3D'0.34902'%2F%3E%20%3Cpath%20d%3D'm%204%200%20c%20-1.644531%200%20-3%201.355469%20-3%203%20v%207%20c%200%201.644531%201.355469%203%203%203%20h%206%20c%201.644531%200%203%20-1.355469%203%20-3%20v%20-7%20c%200%20-1.644531%20-1.355469%20-3%20-3%20-3%20z%20m%200%202%20h%206%20c%200.570312%200%201%200.429688%201%201%20v%207%20c%200%200.570312%20-0.429688%201%20-1%201%20h%20-6%20c%20-0.570312%200%20-1%20-0.429688%20-1%20-1%20v%20-7%20c%200%20-0.570312%200.429688%20-1%201%20-1%20z%20m%2011%202%20c%20-0.550781%200%20-1%200.449219%20-1%201%20v%208%20c%200%200.550781%20-0.449219%201%20-1%201%20h%20-7%20c%20-0.550781%200%20-1%200.449219%20-1%201%20s%200.449219%201%201%201%20h%207%20c%201.65625%200%203%20-1.34375%203%20-3%20v%20-8%20c%200%20-0.550781%20-0.449219%20-1%20-1%20-1%20z%20m%200%200'%2F%3E%20%3Cpath%20d%3D'm%209%208.5%20v%20-1%20c%200%20-0.277344%20-0.222656%20-0.5%20-0.5%20-0.5%20h%20-3%20c%20-0.277344%200%20-0.5%200.222656%20-0.5%200.5%20v%201%20c%200%200.277344%200.222656%200.5%200.5%200.5%20h%203%20c%200.277344%200%200.5%20-0.222656%200.5%20-0.5%20z%20m%200%200'%20fill-opacity%3D'0.34902'%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E");
|
|
31
33
|
--icon-view-columns: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%202%201%20c%20-0.554688%200%20-1%200.445312%20-1%201%20v%2012%20c%200%200.554688%200.445312%201%201%201%20h%202%20c%200.554688%200%201%20-0.445312%201%20-1%20v%20-12%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%205%200%20c%20-0.554688%200%20-1%200.445312%20-1%201%20v%2012%20c%200%200.554688%200.445312%201%201%201%20h%202%20c%200.554688%200%201%20-0.445312%201%20-1%20v%20-12%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%205%200%20c%20-0.554688%200%20-1%200.445312%20-1%201%20v%2012%20c%200%200.554688%200.445312%201%201%201%20h%202%20c%200.554688%200%201%20-0.445312%201%20-1%20v%20-12%20c%200%20-0.554688%20-0.445312%20-1%20-1%20-1%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
32
34
|
--icon-list-remove: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%201%207%20h%2014%20v%202%20h%20-14%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
33
35
|
--icon-send-to: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%208%200%20c%20-0.257812%200%20-0.511719%200.0976562%20-0.707031%200.292969%20l%20-1.246094%201.25%20l%20-1.765625%201.730469%20c%20-0.191406%200.199218%20-0.28125%200.441406%20-0.28125%200.75%20c%200%200.976562%201%201%201%201%20c%200.257812%200%200.527344%20-0.128907%200.71875%20-0.3125%20l%201.28125%20-1.28125%20v%207.570312%20s%200%201%201%201%20s%201%20-1%201%20-1%20v%20-7.570312%20l%201.28125%201.28125%20c%200.191406%200.183593%200.410156%200.3125%200.71875%200.3125%20c%200%200%201%20-0.023438%201%20-1%20c%200%20-0.308594%20-0.089844%20-0.550782%20-0.28125%20-0.75%20l%20-1.765625%20-1.730469%20l%20-1.246094%20-1.25%20c%20-0.195312%20-0.1953128%20-0.449219%20-0.292969%20-0.707031%20-0.292969%20z%20m%20-3.96875%206.964844%20c%20-1.660156%20-0.027344%20-3.03125%201.371094%20-3.03125%203.035156%20v%202.972656%20c%200%201.664063%201.371094%203.035156%203.03125%203.035156%20h%207.9375%20c%201.664062%200%203.03125%20-1.371093%203.03125%20-3.035156%20v%20-2.972656%20c%200%20-1.664062%20-1.367188%20-3.0625%20-3.03125%20-3.035156%20l%20-1.96875%200.035156%20v%202%20l%201.96875%20-0.035156%20c%200.589844%20-0.007813%201.03125%200.445312%201.03125%201.035156%20v%202.972656%20c%200%200.589844%20-0.441406%201.035156%20-1.03125%201.035156%20h%20-7.9375%20c%20-0.585938%200%20-1.03125%20-0.445312%20-1.03125%20-1.035156%20v%20-2.972656%20c%200%20-0.589844%200.445312%20-1.042969%201.03125%20-1.035156%20l%201.96875%200.035156%20v%20-2%20z%20m%200%200'%20fill%3D'currentColor'%2F%3E%20%3C%2Fsvg%3E");
|
|
@@ -42,11 +44,6 @@
|
|
|
42
44
|
--icon-image-missing: url("data:image/svg+xml,%3Csvg%20height%3D'16px'%20viewBox%3D'0%200%2016%2016'%20width%3D'16px'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%20%3Cpath%20d%3D'm%204.015625%201.03125%20c%20-1.644531%200%20-3%201.355469%20-3%203%20v%201%20h%201%20v%20-1%20c%200%20-1.109375%200.890625%20-2%202%20-2%20h%201%20v%20-1%20z%20m%202%200%20v%201%20h%204%20v%20-1%20z%20m%205%200%20v%201%20h%201%20c%201.109375%200%202%200.890625%202%202%20v%201%20h%201%20v%20-1%20c%200%20-1.644531%20-1.355469%20-3%20-3%20-3%20z%20m%20-5%204%20c%20-0.550781%200%20-1%200.449219%20-1%201%20s%200.449219%201%201%201%20s%201%20-0.449219%201%20-1%20s%20-0.449219%20-1%20-1%20-1%20z%20m%20-5%201%20v%204%20h%201%20v%20-4%20z%20m%2013%200%20v%204%20h%201%20v%20-4%20z%20m%20-4.5%202%20l%20-2%202%20l%20-1.5%20-1%20l%20-2%202%20v%200.5%20c%200%200.5%200.5%200.5%200.5%200.5%20h%207%20s%200.472656%20-0.035156%200.5%20-0.5%20v%20-1%20z%20m%20-8.5%203%20v%201%20c%200%201.644531%201.355469%203%203%203%20h%201%20v%20-1%20h%20-1%20c%20-1.109375%200%20-2%20-0.890625%20-2%20-2%20v%20-1%20z%20m%2013%200%20v%201%20c%200%201.109375%20-0.890625%202%20-2%202%20h%20-1%20v%201%20h%201%20c%201.644531%200%203%20-1.355469%203%20-3%20v%20-1%20z%20m%20-8%203%20v%201%20h%204%20v%20-1%20z%20m%200%200'%20fill%3D'currentColor'%20fill-opacity%3D'0.34902'%2F%3E%20%3C%2Fsvg%3E");
|
|
43
45
|
}
|
|
44
46
|
|
|
45
|
-
.adw-icon--edit-paste {
|
|
46
|
-
mask-image: var(--icon-edit-paste);
|
|
47
|
-
-webkit-mask-image: var(--icon-edit-paste);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
47
|
.adw-icon--go-down {
|
|
51
48
|
mask-image: var(--icon-go-down);
|
|
52
49
|
-webkit-mask-image: var(--icon-go-down);
|
|
@@ -167,6 +164,11 @@
|
|
|
167
164
|
-webkit-mask-image: var(--icon-mail-reply-sender);
|
|
168
165
|
}
|
|
169
166
|
|
|
167
|
+
.adw-icon--folder-documents {
|
|
168
|
+
mask-image: var(--icon-folder-documents);
|
|
169
|
+
-webkit-mask-image: var(--icon-folder-documents);
|
|
170
|
+
}
|
|
171
|
+
|
|
170
172
|
.adw-icon--folder-download {
|
|
171
173
|
mask-image: var(--icon-folder-download);
|
|
172
174
|
-webkit-mask-image: var(--icon-folder-download);
|
|
@@ -182,6 +184,16 @@
|
|
|
182
184
|
-webkit-mask-image: var(--icon-view-list);
|
|
183
185
|
}
|
|
184
186
|
|
|
187
|
+
.adw-icon--view-more {
|
|
188
|
+
mask-image: var(--icon-view-more);
|
|
189
|
+
-webkit-mask-image: var(--icon-view-more);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.adw-icon--view-paged {
|
|
193
|
+
mask-image: var(--icon-view-paged);
|
|
194
|
+
-webkit-mask-image: var(--icon-view-paged);
|
|
195
|
+
}
|
|
196
|
+
|
|
185
197
|
.adw-icon--view-columns {
|
|
186
198
|
mask-image: var(--icon-view-columns);
|
|
187
199
|
-webkit-mask-image: var(--icon-view-columns);
|
|
@@ -919,6 +931,15 @@ adw-wrap-box *::after {
|
|
|
919
931
|
display: none;
|
|
920
932
|
}
|
|
921
933
|
|
|
934
|
+
:where(.adw-icon) {
|
|
935
|
+
mask-image: var(--icon-image-missing);
|
|
936
|
+
-webkit-mask-image: var(--icon-image-missing);
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
.adw-icon:not([class*=adw-icon--]) {
|
|
940
|
+
background-color: transparent;
|
|
941
|
+
}
|
|
942
|
+
|
|
922
943
|
.dimmed, .adw-data-grid .adw-data-grid-row.header .adw-data-grid-cell, adw-progress-bar .adw-progress-bar-text {
|
|
923
944
|
opacity: var(--dim-opacity);
|
|
924
945
|
}
|
|
@@ -3176,7 +3197,9 @@ adw-toast-overlay .adw-toast-overlay-toasts {
|
|
|
3176
3197
|
.adw-toast .adw-toast-close-button {
|
|
3177
3198
|
box-sizing: border-box;
|
|
3178
3199
|
flex-shrink: 0;
|
|
3179
|
-
|
|
3200
|
+
display: flex;
|
|
3201
|
+
align-items: center;
|
|
3202
|
+
justify-content: center;
|
|
3180
3203
|
width: 24px;
|
|
3181
3204
|
height: 24px;
|
|
3182
3205
|
margin: 0;
|
|
@@ -3197,22 +3220,6 @@ adw-toast-overlay .adw-toast-overlay-toasts {
|
|
|
3197
3220
|
outline: 2px solid var(--accent-color);
|
|
3198
3221
|
outline-offset: 1px;
|
|
3199
3222
|
}
|
|
3200
|
-
.adw-toast .adw-toast-close-button::before, .adw-toast .adw-toast-close-button::after {
|
|
3201
|
-
content: "";
|
|
3202
|
-
position: absolute;
|
|
3203
|
-
top: 50%;
|
|
3204
|
-
left: 50%;
|
|
3205
|
-
width: 11px;
|
|
3206
|
-
height: 1.5px;
|
|
3207
|
-
background-color: currentColor;
|
|
3208
|
-
border-radius: 1px;
|
|
3209
|
-
}
|
|
3210
|
-
.adw-toast .adw-toast-close-button::before {
|
|
3211
|
-
transform: translate(-50%, -50%) rotate(45deg);
|
|
3212
|
-
}
|
|
3213
|
-
.adw-toast .adw-toast-close-button::after {
|
|
3214
|
-
transform: translate(-50%, -50%) rotate(-45deg);
|
|
3215
|
-
}
|
|
3216
3223
|
|
|
3217
3224
|
adw-toolbar-view {
|
|
3218
3225
|
display: flex;
|