also looking at this
Promote main to production: signed-out chrome and the subscriber tables
#17
54 files
+4252
-1353
Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.
| @@ -62,15 +62,25 @@ import type { CrosswindConfig, Theme } from '@cwcss/crosswind' | ||
| 62 | 62 | * This is a RELOCATION and not a conversion to utilities, which is a weaker |
| 63 | 63 | * outcome than the rule wants, so here is why it is the honest one. Every |
| 64 | 64 | * state in this widget is a compound selector the client script toggles -- |
| 65 | * .drp-day.is-range, .drp-preset.is-active, .drp-nav.is-hidden -- and a | |
| 66 | * utility cannot express "this class AND that class". The spelling that could, | |
| 67 | * an arbitrary-variant utility like [&.is-range]:bg-accent, emits nothing in | |
| 68 | * this engine: the extractor rejects any class whose variant is an arbitrary | |
| 69 | * selector (same defect as stacksjs/ts-css#37, fixed in ts-css 0.3.16 and not | |
| 70 | * in @cwcss/crosswind). Splitting base rules into shortcuts and leaving the | |
| 71 | * state rules here would be worse than either: the shortcuts are unlayered and | |
| 72 | * a preflight lands in @layer cw-base, so every unlayered base would outrank | |
| 73 | * its own layered active state and the selected range would stop painting. | |
| 65 | * .drp-day.is-range, .drp-preset.is-active, .drp-nav.is-hidden -- and an | |
| 66 | * ordinary utility cannot express "this class AND that class". | |
| 67 | * | |
| 68 | * The spelling that can, an arbitrary-variant utility like | |
| 69 | * [&.is-range]:bg-accent, used to emit nothing: the extractor rejected any | |
| 70 | * class whose variant is an arbitrary selector (stacksjs/ts-css#37). **Fixed | |
| 71 | * in 0.3.16**, which this app now resolves -- measured through this app's own | |
| 72 | * loader and merge, so against this config: | |
| 73 | * | |
| 74 | * [&.is-range]:bg-accent -> .….is-range { background-color: var(--accent) } | |
| 75 | * [&.drp-day.is-range]:bg-accent -> .….drp-day.is-range { … } | |
| 76 | * [&.is-hidden]:hidden -> .….is-hidden { display: none } | |
| 77 | * | |
| 78 | * So a conversion is possible now. Two reasons it still has not happened, and | |
| 79 | * neither is the defect. First, this stylesheet is shared with bughq byte for | |
| 80 | * byte, and converting it on one side forks it. Second, a PARTIAL conversion | |
| 81 | * is actively worse than either end state: the shortcuts are unlayered and a | |
| 82 | * preflight lands in @layer cw-base, so every unlayered base would outrank its | |
| 83 | * own layered active state and the selected range would stop painting. | |
| 74 | 84 | * |
| 75 | 85 | * One entry, not one per rule. An earlier version split it, on the strength of |
| 76 | 86 | * a measurement taken against @cwcss/crosswind -- which this file imports its |