max / balanced_breakfast
- Co-Authored-By
- Claude Opus 5 (1M context) <noreply@anthropic.com>
4 files changed,
+58 insertions,
-21 deletions
| @@ -3076,9 +3076,9 @@ | |||
| 3076 | 3076 | ||
| 3077 | 3077 | [[package]] | |
| 3078 | 3078 | name = "makeover-build" | |
| 3079 | - | version = "0.3.1" | |
| 3079 | + | version = "0.7.0" | |
| 3080 | 3080 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 3081 | - | checksum = "d9b46dc1c83e6855486eeb765a895febd2f0f4a5abde5e44cc9760f419339bf5" | |
| 3081 | + | checksum = "6e0f93fd97d0ce7e3854c0dd8edddefac444de8197bbaa215dfced38cf7a03b6" | |
| 3082 | 3082 | dependencies = [ | |
| 3083 | 3083 | "makeover", | |
| 3084 | 3084 | "makeover-geometry", | |
| @@ -3087,23 +3087,35 @@ | |||
| 3087 | 3087 | ||
| 3088 | 3088 | [[package]] | |
| 3089 | 3089 | name = "makeover-geometry" | |
| 3090 | - | version = "0.4.0" | |
| 3090 | + | version = "0.6.0" | |
| 3091 | 3091 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 3092 | - | checksum = "ec63a50eb9934c2cd416912048c9437a61657064c1947e40571f5fd37a22ffe6" | |
| 3092 | + | checksum = "b2466b8ca54dba9ef62f3679b33c90a0554e507c23e7b725c178ce9d277f542e" | |
| 3093 | 3093 | ||
| 3094 | 3094 | [[package]] | |
| 3095 | 3095 | name = "makeover-layout" | |
| 3096 | - | version = "0.6.0" | |
| 3096 | + | version = "0.7.0" | |
| 3097 | 3097 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 3098 | - | checksum = "ad745601b5220b2244d73a5da3f3854aefe4cdc955dd45c6d3aa5781ad645f5a" | |
| 3098 | + | checksum = "00d6235015ee1a15bc6b3936c5265229de3454524053eb67bf95fc6b741299b0" | |
| 3099 | + | ||
| 3100 | + | [[package]] | |
| 3101 | + | name = "makeover-touch" | |
| 3102 | + | version = "0.2.0" | |
| 3103 | + | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 3104 | + | checksum = "064bb24217e6d49ccafbefbcc29c7c42572c164feb98e5876e9ca49e77d58808" | |
| 3105 | + | dependencies = [ | |
| 3106 | + | "makeover-geometry", | |
| 3107 | + | "makeover-layout", | |
| 3108 | + | ] | |
| 3099 | 3109 | ||
| 3100 | 3110 | [[package]] | |
| 3101 | 3111 | name = "makeover-webview" | |
| 3102 | - | version = "0.9.0" | |
| 3112 | + | version = "0.13.0" | |
| 3103 | 3113 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 3104 | - | checksum = "d4ae8b0857cfa95b5d698e22d5df17eb19bae978839d568ae5de02344892962b" | |
| 3114 | + | checksum = "ac7fbadaa7cf1e4a074a0b0c62a9ea3b1616f9de4e40990fab209560b807046f" | |
| 3105 | 3115 | dependencies = [ | |
| 3116 | + | "makeover-geometry", | |
| 3106 | 3117 | "makeover-layout", | |
| 3118 | + | "makeover-touch", | |
| 3107 | 3119 | ] | |
| 3108 | 3120 | ||
| 3109 | 3121 | [[package]] |
| @@ -18,7 +18,7 @@ | |||
| 18 | 18 | # Materialises all three generated files: themes/, geometry.css, layout.css. | |
| 19 | 19 | # The build script needs nothing else; makeover and makeover-geometry reach it | |
| 20 | 20 | # through here. Path dep while unpublished. | |
| 21 | - | makeover-build = "0.3.1" | |
| 21 | + | makeover-build = "0.7.0" | |
| 22 | 22 | ||
| 23 | 23 | [dependencies] | |
| 24 | 24 | bb-interface.workspace = true |
| @@ -4,7 +4,22 @@ | |||
| 4 | 4 | <meta charset="UTF-8"> | |
| 5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> | |
| 6 | 6 | <title>Balanced Breakfast</title> | |
| 7 | - | <!-- Generated from makeover-geometry by src-tauri/build.rs. First, so the | |
| 7 | + | <!-- Cascade layer order, declared before any stylesheet so it is a | |
| 8 | + | statement rather than an accident of link order. A layer's position is | |
| 9 | + | fixed where its name is FIRST seen, so without this the two generated | |
| 10 | + | files below would establish `makeover` simply by loading first, and | |
| 11 | + | reordering the links would silently reorder the cascade. | |
| 12 | + | ||
| 13 | + | Earlier in the list = lower priority. `makeover` is first because the | |
| 14 | + | design system is what the app overrides, never the reverse. Unlayered | |
| 15 | + | rules still beat every named layer, which is why styles.css works with | |
| 16 | + | no layers of its own; the other three names are declared ahead of any | |
| 17 | + | layer adoption here and are empty until then. Declaring an empty layer | |
| 18 | + | costs nothing. --> | |
| 19 | + | <style>@layer makeover, base, components, responsive;</style> | |
| 20 | + | ||
| 21 | + | <!-- Generated from makeover-geometry and makeover-webview by | |
| 22 | + | src-tauri/build.rs, both into `@layer makeover`. Geometry first, so the | |
| 8 | 23 | stylesheet can read --gap-* and --step-* off :root. --> | |
| 9 | 24 | <link rel="stylesheet" href="css/geometry.css"> | |
| 10 | 25 | <link rel="stylesheet" href="css/layout.css"> |
| @@ -604,16 +604,20 @@ | |||
| 604 | 604 | border-color: var(--content-muted); | |
| 605 | 605 | cursor: not-allowed; | |
| 606 | 606 | } | |
| 607 | - | /* Inert on both, and both properties on both selectors. Overriding only | |
| 608 | - | box-shadow on :active left a disabled button taking the pressed fill | |
| 609 | - | while keeping the raised edge, which is the fill-and-edge disagreement | |
| 610 | - | the generated rules exist to prevent. Higher specificity than the | |
| 611 | - | generated .button:hover and .button:active, so these win. */ | |
| 612 | - | .button:disabled:hover, | |
| 613 | - | .button:disabled:active { | |
| 614 | - | background: var(--surface-raised); | |
| 615 | - | box-shadow: var(--bevel-raised); | |
| 616 | - | } | |
| 607 | + | /* The `.button:disabled:hover, .button:disabled:active` pair that used to | |
| 608 | + | sit here is gone. It existed to out-specify the generated hover and | |
| 609 | + | pressed rules, in those words, and makeover-webview 0.10.0 emits | |
| 610 | + | disabled after both and restates the rest depth, so source order settles | |
| 611 | + | it at equal specificity. Nothing has to reach (0,3,0) to win any more, | |
| 612 | + | which matters because raising a selector is what the cascade layer would | |
| 613 | + | have had to unpick. | |
| 614 | + | ||
| 615 | + | The colour, border colour and cursor above stay, and are not a candidate | |
| 616 | + | for the same deletion. Layers resolve before specificity, so the | |
| 617 | + | generated `.button:disabled` in `makeover` loses to `.button` in this | |
| 618 | + | file whatever its specificity. An app has to state the disabled variant | |
| 619 | + | of every property it sets at rest; makeover can only supply what the app | |
| 620 | + | is silent about. */ | |
| 617 | 621 | .button--primary { | |
| 618 | 622 | background-color: var(--action); | |
| 619 | 623 | border-color: var(--action); | |
| @@ -1977,7 +1981,13 @@ | |||
| 1977 | 1981 | .source-item.active:hover { background-color: var(--surface-sunken); } | |
| 1978 | 1982 | .sidebar-saved:hover { background-color: transparent; } | |
| 1979 | 1983 | .sidebar-saved.active:hover { background-color: var(--surface-sunken); } | |
| 1980 | - | .button:hover { background-color: var(--surface-page); border-color: var(--border); } | |
| 1984 | + | /* Border only. The `background-color` half was taking back the generated | |
| 1985 | + | hover fill, and makeover-webview wraps its own hover in | |
| 1986 | + | (hover: hover) and (pointer: fine) now, so on a fingertip there is | |
| 1987 | + | nothing left to take back. What remains undoes this file's own | |
| 1988 | + | `.button:hover { border-color: var(--border-strong) }` above, which | |
| 1989 | + | makeover has no opinion about. */ | |
| 1990 | + | .button:hover { border-color: var(--border); } | |
| 1981 | 1991 | .button--primary:hover { background-color: var(--action); border-color: var(--action); } | |
| 1982 | 1992 | .button--success:hover { background-color: var(--category-four); border-color: var(--category-four); } | |
| 1983 | 1993 | .star-btn:hover { color: var(--content-muted); transform: none; } |