cursedbelt 5.63.0 → 5.66.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/dist/looks.css +237 -0
- package/dist/react/components/Accordion.d.ts.map +1 -1
- package/dist/react/components/Accordion.js +6 -1
- package/dist/react/components/Accordion.js.map +1 -1
- package/dist/react/components/Button.d.ts.map +1 -1
- package/dist/react/components/Button.js +26 -5
- package/dist/react/components/Button.js.map +1 -1
- package/dist/react/components/CardTapTarget.d.ts.map +1 -1
- package/dist/react/components/CardTapTarget.js +5 -1
- package/dist/react/components/CardTapTarget.js.map +1 -1
- package/dist/react/components/ColorField.js +1 -1
- package/dist/react/components/ColorField.js.map +1 -1
- package/dist/react/components/ComboboxField.js +1 -1
- package/dist/react/components/ComboboxField.js.map +1 -1
- package/dist/react/components/CopyButton.d.ts.map +1 -1
- package/dist/react/components/CopyButton.js +2 -1
- package/dist/react/components/CopyButton.js.map +1 -1
- package/dist/react/components/SecretInput.js +1 -1
- package/dist/react/components/SecretInput.js.map +1 -1
- package/dist/react/components/TagsInput.js +1 -1
- package/dist/react/components/TagsInput.js.map +1 -1
- package/dist/react/components/auth/SignInCard.d.ts +9 -1
- package/dist/react/components/auth/SignInCard.d.ts.map +1 -1
- package/dist/react/components/auth/SignInCard.js +2 -2
- package/dist/react/components/auth/SignInCard.js.map +1 -1
- package/dist/react/components/searchInput.css +4 -2
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +3 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/lib/field.d.ts +2 -2
- package/dist/react/lib/field.d.ts.map +1 -1
- package/dist/react/lib/field.js +9 -3
- package/dist/react/lib/field.js.map +1 -1
- package/dist/react/look/LookPicker.d.ts +27 -0
- package/dist/react/look/LookPicker.d.ts.map +1 -0
- package/dist/react/look/LookPicker.js +29 -0
- package/dist/react/look/LookPicker.js.map +1 -0
- package/dist/react/look/lookStore.d.ts +88 -0
- package/dist/react/look/lookStore.d.ts.map +1 -0
- package/dist/react/look/lookStore.js +120 -0
- package/dist/react/look/lookStore.js.map +1 -0
- package/dist/react/look/useLook.d.ts +22 -0
- package/dist/react/look/useLook.d.ts.map +1 -0
- package/dist/react/look/useLook.js +16 -0
- package/dist/react/look/useLook.js.map +1 -0
- package/dist/react/media-gallery/MediaGallery.d.ts +22 -1
- package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
- package/dist/react/media-gallery/MediaGallery.js +13 -3
- package/dist/react/media-gallery/MediaGallery.js.map +1 -1
- package/dist/react/nav/TopBar.d.ts.map +1 -1
- package/dist/react/nav/TopBar.js +13 -2
- package/dist/react/nav/TopBar.js.map +1 -1
- package/dist/styles-areas/calendar.css +2 -2
- package/dist/styles-areas/chat.css +7 -7
- package/dist/styles-areas/core.css +62 -59
- package/dist/styles-areas/emoji.css +3 -3
- package/dist/styles-areas/folder-tree.css +3 -3
- package/dist/styles-areas/layout-engine.css +6 -6
- package/dist/styles-areas/media-gallery.css +3 -3
- package/dist/styles-areas/media.css +4 -4
- package/dist/styles-areas/overlays.css +4 -4
- package/dist/styles-areas/workbench.css +7 -7
- package/dist/styles-utilities.css +55 -2
- package/dist/theme.css +3 -0
- package/package.json +2 -1
- package/scripts/styleAreas.ts +2 -0
- package/src/looks.css +237 -0
- package/src/looks.spec.ts +128 -0
- package/src/react/components/Accordion.tsx +8 -1
- package/src/react/components/Button.spec.tsx +15 -0
- package/src/react/components/Button.tsx +27 -5
- package/src/react/components/CardTapTarget.tsx +4 -1
- package/src/react/components/ColorField.tsx +1 -1
- package/src/react/components/ComboboxField.tsx +1 -1
- package/src/react/components/CopyButton.tsx +2 -1
- package/src/react/components/SecretInput.tsx +1 -1
- package/src/react/components/TagsInput.tsx +1 -1
- package/src/react/components/auth/SignInCard.spec.tsx +9 -0
- package/src/react/components/auth/SignInCard.tsx +10 -1
- package/src/react/components/searchInput.css +4 -2
- package/src/react/index.ts +22 -0
- package/src/react/lib/field.ts +9 -3
- package/src/react/look/LookPicker.spec.tsx +40 -0
- package/src/react/look/LookPicker.tsx +112 -0
- package/src/react/look/lookStore.spec.ts +120 -0
- package/src/react/look/lookStore.ts +172 -0
- package/src/react/look/useLook.ts +37 -0
- package/src/react/media-gallery/MediaGallery.spec.tsx +65 -1
- package/src/react/media-gallery/MediaGallery.tsx +37 -2
- package/src/react/nav/TopBar.spec.tsx +34 -0
- package/src/react/nav/TopBar.tsx +22 -0
- package/src/styles-areas/calendar.css +2 -2
- package/src/styles-areas/chat.css +7 -7
- package/src/styles-areas/core.css +62 -59
- package/src/styles-areas/emoji.css +3 -3
- package/src/styles-areas/folder-tree.css +3 -3
- package/src/styles-areas/layout-engine.css +6 -6
- package/src/styles-areas/media-gallery.css +3 -3
- package/src/styles-areas/media.css +4 -4
- package/src/styles-areas/overlays.css +4 -4
- package/src/styles-areas/workbench.css +7 -7
- package/src/styles-utilities.css +55 -2
- package/src/theme.css +3 -0
|
@@ -1569,6 +1569,27 @@ export interface MediaGalleryProps {
|
|
|
1569
1569
|
/** Infinite scroll — forwarded to the virtualized grids. */
|
|
1570
1570
|
onNearEnd?: () => void;
|
|
1571
1571
|
initialOrder?: MediaGalleryOrder;
|
|
1572
|
+
/**
|
|
1573
|
+
* The sort, CONTROLLED by the app — pass with {@link onOrderChange}, the way {@link query}
|
|
1574
|
+
* and {@link viewMode} are controlled, for an app whose own toolbar holds the sort menu
|
|
1575
|
+
* (`chrome='none'`). Uncontrolled, {@link initialOrder} seeds the gallery's own state as before.
|
|
1576
|
+
*
|
|
1577
|
+
* 🔴 Why: until 2026-10-06 family's Keepsakes toolbar could change the order only by
|
|
1578
|
+
* remounting the gallery (`key={order}`) — a film playing while the reader changed sort
|
|
1579
|
+
* started over, and the ticked selection had to be reset by hand.
|
|
1580
|
+
*/
|
|
1581
|
+
order?: MediaGalleryOrder;
|
|
1582
|
+
/** Told when a sort pill or the table's header changes the order — see {@link order}. */
|
|
1583
|
+
onOrderChange?: (next: MediaGalleryOrder) => void;
|
|
1584
|
+
/**
|
|
1585
|
+
* Draw the single-choice tag chips in the filter strip, or not. Default `true`.
|
|
1586
|
+
*
|
|
1587
|
+
* `false` keeps the tags' other two jobs — the line under every tile and the search —
|
|
1588
|
+
* and drops only the chips, for an app whose own people row (family's multi-select
|
|
1589
|
+
* `ChipFilterStrip`) already asks that question. Until 2026-10-06 family hid the strip by
|
|
1590
|
+
* CSS instead, which also hid the kind chips.
|
|
1591
|
+
*/
|
|
1592
|
+
tagStrip?: boolean;
|
|
1572
1593
|
/** Extra per-item actions in the detail view (use `cbgd-order-btn` styling to match). */
|
|
1573
1594
|
detailActions?: (item: MediaGalleryItem) => ReactNode;
|
|
1574
1595
|
/** When set, the detail view offers Delete (confirm-gated). Closes the detail on success. */
|
|
@@ -1911,6 +1932,9 @@ export function MediaGallery({
|
|
|
1911
1932
|
loading,
|
|
1912
1933
|
onNearEnd,
|
|
1913
1934
|
initialOrder = 'recent',
|
|
1935
|
+
order: controlledOrder,
|
|
1936
|
+
onOrderChange,
|
|
1937
|
+
tagStrip = true,
|
|
1914
1938
|
detailActions,
|
|
1915
1939
|
onDelete,
|
|
1916
1940
|
headerExtra,
|
|
@@ -1963,7 +1987,16 @@ export function MediaGallery({
|
|
|
1963
1987
|
},
|
|
1964
1988
|
[controlledQuery, onQueryChange],
|
|
1965
1989
|
);
|
|
1966
|
-
const [
|
|
1990
|
+
const [uncontrolledOrder, setUncontrolledOrder] = useState<MediaGalleryOrder>(initialOrder);
|
|
1991
|
+
/** Controlled when the consumer passes `order`, uncontrolled otherwise — see the prop. */
|
|
1992
|
+
const order = controlledOrder !== undefined ? controlledOrder : uncontrolledOrder;
|
|
1993
|
+
const setOrder = useCallback(
|
|
1994
|
+
(next: MediaGalleryOrder): void => {
|
|
1995
|
+
if (controlledOrder === undefined) setUncontrolledOrder(next);
|
|
1996
|
+
onOrderChange?.(next);
|
|
1997
|
+
},
|
|
1998
|
+
[controlledOrder, onOrderChange],
|
|
1999
|
+
);
|
|
1967
2000
|
const [kind, setKind] = useState<FileCategory | null>(null);
|
|
1968
2001
|
const [tag, setTag] = useState<string | null>(null);
|
|
1969
2002
|
const [uncontrolledId, setUncontrolledId] = useState<string | null>(null);
|
|
@@ -3381,7 +3414,9 @@ export function MediaGallery({
|
|
|
3381
3414
|
options={kindOptions}
|
|
3382
3415
|
value={kind}
|
|
3383
3416
|
onChange={setKind}
|
|
3384
|
-
tags
|
|
3417
|
+
// 🔴 `[]`, not a hidden strip: the kind chips stay, and `tags` keeps captioning
|
|
3418
|
+
// and searching — see the `tagStrip` prop.
|
|
3419
|
+
tags={tagStrip ? tags : []}
|
|
3385
3420
|
activeTag={tag}
|
|
3386
3421
|
onTagChange={setTag}
|
|
3387
3422
|
/>
|
|
@@ -85,6 +85,40 @@ describe('TopBar — destinations have words (NAV-2, owner review 2026-10-01)',
|
|
|
85
85
|
expect((container.querySelector('[data-cb-topbar-nav]') as HTMLElement).className).toContain('max-md:hidden');
|
|
86
86
|
});
|
|
87
87
|
|
|
88
|
+
test("🔴 phonePlaces='none' names the active place in the bar's centre below md (NAV-14)", () => {
|
|
89
|
+
// happy-dom's window is 1024 wide, where the places paint their own words: go to a phone.
|
|
90
|
+
const wide = window.matchMedia;
|
|
91
|
+
const narrow = (query: string) => ({
|
|
92
|
+
matches: false,
|
|
93
|
+
media: query,
|
|
94
|
+
onchange: null,
|
|
95
|
+
addEventListener() {},
|
|
96
|
+
removeEventListener() {},
|
|
97
|
+
addListener() {},
|
|
98
|
+
removeListener() {},
|
|
99
|
+
dispatchEvent: () => false,
|
|
100
|
+
});
|
|
101
|
+
window.matchMedia = narrow as unknown as typeof window.matchMedia;
|
|
102
|
+
try {
|
|
103
|
+
const { container } = render(<TopBar brand={brand} items={items} phonePlaces='none' />);
|
|
104
|
+
const title = container.querySelector('[data-cb-topbar-title]') as HTMLElement;
|
|
105
|
+
expect(title.textContent).toBe('Library');
|
|
106
|
+
// Painted only where the places are not: the word would double the strip from md up.
|
|
107
|
+
expect(title.className).toContain('md:hidden');
|
|
108
|
+
// The strip's own word is its accessible name; this one is paint, not a second announcement.
|
|
109
|
+
expect(title.getAttribute('aria-hidden')).toBe('true');
|
|
110
|
+
cleanup();
|
|
111
|
+
// With the places in the bar there is no title to paint, and a utility bar never names a page.
|
|
112
|
+
expect(render(<TopBar brand={brand} items={items} />).container.querySelector('[data-cb-topbar-title]')).toBeNull();
|
|
113
|
+
cleanup();
|
|
114
|
+
expect(render(<TopBar brand={brand} items={items} iconOnly phonePlaces='none' />).container.querySelector('[data-cb-topbar-title]')).toBeNull();
|
|
115
|
+
} finally {
|
|
116
|
+
window.matchMedia = wide;
|
|
117
|
+
}
|
|
118
|
+
// From md up it is not in the DOM at all: a zone's children share one midline (NAV-1).
|
|
119
|
+
expect(render(<TopBar brand={brand} items={items} phonePlaces='none' />).container.querySelector('[data-cb-topbar-title]')).toBeNull();
|
|
120
|
+
});
|
|
121
|
+
|
|
88
122
|
test('six or more places warn in dev — NAV-3 puts them in a sectioned SideNav', () => {
|
|
89
123
|
const warn = console.warn;
|
|
90
124
|
const said: string[] = [];
|
package/src/react/nav/TopBar.tsx
CHANGED
|
@@ -211,7 +211,28 @@ export function TopBarPlaces({
|
|
|
211
211
|
}: TopBarPlacesProps) {
|
|
212
212
|
const fade = useScrollEdgeFade();
|
|
213
213
|
const wide = useMediaQuery(WIDE_QUERY);
|
|
214
|
+
/**
|
|
215
|
+
* NAV-14: the phone's top bar names the page. With `phonePlaces='none'` the places ride the
|
|
216
|
+
* bottom `PlaceBar` and the bar's centre was empty below 768px — a brand glyph, a bell and an
|
|
217
|
+
* avatar, and nothing saying where the reader is (family's 390 captures, forge task
|
|
218
|
+
* family-app-ux-overhaul, 2026-10-06). The active place's own word fills it; the strip of
|
|
219
|
+
* places is still rendered (hidden) so a router's primary nav keeps one DOM shape at every
|
|
220
|
+
* width, which is what the design audit and every app's selectors read. The title itself is
|
|
221
|
+
* NOT in the DOM from md up: the header's midline check measures every child of a zone, and a
|
|
222
|
+
* `display: none` span measures as a box at 0 (`e2e/app-shell.spec.ts`).
|
|
223
|
+
*/
|
|
224
|
+
const current = phonePlaces === 'none' && !iconOnly && !wide ? items.find((item) => item.active) : undefined;
|
|
214
225
|
return (
|
|
226
|
+
<>
|
|
227
|
+
{current ? (
|
|
228
|
+
<span
|
|
229
|
+
data-cb-topbar-title=''
|
|
230
|
+
aria-hidden='true'
|
|
231
|
+
className='min-w-0 truncate text-sm font-semibold text-foreground md:hidden'
|
|
232
|
+
>
|
|
233
|
+
{current.label}
|
|
234
|
+
</span>
|
|
235
|
+
) : null}
|
|
215
236
|
<nav
|
|
216
237
|
aria-label={navLabel}
|
|
217
238
|
data-cb-topbar-nav=''
|
|
@@ -245,6 +266,7 @@ export function TopBarPlaces({
|
|
|
245
266
|
</div>
|
|
246
267
|
</ScrollArea>
|
|
247
268
|
</nav>
|
|
269
|
+
</>
|
|
248
270
|
);
|
|
249
271
|
}
|
|
250
272
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
19
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
20
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
-
*
|
|
21
|
+
* 77 candidate(s).
|
|
22
22
|
*
|
|
23
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
24
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
@source inline("dark:text-rose-200 dark:text-sky-200 dark:text-slate-200 dark:text-teal-200 dark:text-violet-200");
|
|
35
35
|
@source inline("focus:opacity-100 grid-cols-[repeat(7,minmax(0,1fr))] group-focus-within:opacity-100 h-3.5");
|
|
36
36
|
@source inline("hover:bg-muted/30 hover:bg-muted/40 hover:border-border/80 last:border-r-0 line-through min-h-28");
|
|
37
|
-
@source inline("min-h-40 opacity-85 outline-1 outline-dashed outline-tone-amber-ink
|
|
37
|
+
@source inline("min-h-40 opacity-85 outline-1 outline-dashed outline-tone-amber-ink sm:inline sm:min-h-0");
|
|
38
38
|
@source inline("sm:min-h-24 sm:px-1.5 sm:text-xs text-accent-solid-foreground text-amber-900 text-blue-800");
|
|
39
39
|
@source inline("text-emerald-800 text-green-800 text-purple-800 text-rose-800 text-sky-800 text-slate-800");
|
|
40
40
|
@source inline("text-teal-800 text-tone-amber-ink text-violet-800 w-20 w-3.5");
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
19
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
20
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
-
*
|
|
21
|
+
* 67 candidate(s).
|
|
22
22
|
*
|
|
23
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
24
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
@source inline("bg-background/30 bg-black/10 bg-gradient-to-t border-border/40 bottom-3 col collapse");
|
|
29
29
|
@source inline("dark:bg-white/10 first:mt-0 flex-row flex-row-reverse flex-shrink focus-visible:outline-2");
|
|
30
30
|
@source inline("focus-visible:outline-offset-2 focus-visible:outline-ring from-surface h-105 h-3.5");
|
|
31
|
-
@source inline("hover:bg-background/50 hover:border-
|
|
32
|
-
@source inline("
|
|
33
|
-
@source inline("
|
|
34
|
-
@source inline("rounded-
|
|
35
|
-
@source inline("text-[length:var(--text-code-
|
|
36
|
-
@source inline("
|
|
31
|
+
@source inline("hover:bg-background/50 hover:border-field-ring hover:opacity-80 italic list-decimal list-disc");
|
|
32
|
+
@source inline("max-w-4/5 min-h-20 min-w-16 ml-0.5 ml-1.5 mr-9 outline-2 outline-accent outline-dashed pl-5");
|
|
33
|
+
@source inline("pointer-coarse:mr-12 pt-0.5 px-0.5 px-3.5 resize-none right-1 rounded-2xl rounded-bl-md");
|
|
34
|
+
@source inline("rounded-bl-sm rounded-br-md rounded-br-sm size-7 text-[length:var(--text-code-block)]");
|
|
35
|
+
@source inline("text-[length:var(--text-code-inline)] text-xl to-transparent top-1 underline-offset-2 w-1.5 w-3");
|
|
36
|
+
@source inline("w-3.5 w-40 w-48 w-56 w-88 z-[9]");
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
16
16
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
17
17
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
18
|
-
*
|
|
18
|
+
* 879 candidate(s).
|
|
19
19
|
*
|
|
20
20
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
21
21
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -39,28 +39,29 @@
|
|
|
39
39
|
@source inline("[&_[data-icon]]:text-warning [&_sup]:leading-none [&_svg]:shrink-0 [&_svg]:size-12");
|
|
40
40
|
@source inline("[&_svg]:size-4 [&_svg]:size-5 [&_svg]:size-6 [--cbfk-sticky-top:-1rem]");
|
|
41
41
|
@source inline("[-webkit-touch-callout:none] [overflow-clip-margin:calc(var(--spacing)*1)] a absolute act active");
|
|
42
|
-
@source inline("active:bg-accent alert alert-icon align
|
|
43
|
-
@source inline("animate-progress-indeterminate animate-pulse animate-spin aria");
|
|
42
|
+
@source inline("active:bg-accent active:scale-100 active:scale-[var(--press-scale)] alert alert-icon align");
|
|
43
|
+
@source inline("align-middle an animate-in animate-progress-indeterminate animate-pulse animate-spin aria");
|
|
44
44
|
@source inline("aria-[invalid=true]:border-field-error aria-[invalid=true]:ring-field-error/30 aria-disabled");
|
|
45
|
-
@source inline("aria-disabled:
|
|
46
|
-
@source inline("aria-disabled:
|
|
47
|
-
@source inline("aria-pressed:bg-accent/10 aria-pressed:border
|
|
48
|
-
@source inline("aria-pressed:text-accent auto auto-cols-fr b back backdrop
|
|
49
|
-
@source inline("backdrop-blur-sm bg bg-accent bg-accent-solid bg-accent/10
|
|
50
|
-
@source inline("bg-background/80 bg-background/90 bg-background/95 bg-black/50
|
|
51
|
-
@source inline("bg-
|
|
52
|
-
@source inline("bg-destructive/8 bg-emerald-100 bg-field-bg bg-
|
|
53
|
-
@source inline("bg-muted
|
|
54
|
-
@source inline("bg-
|
|
55
|
-
@source inline("bg-
|
|
56
|
-
@source inline("bg-tone-
|
|
57
|
-
@source inline("bg-tone-
|
|
58
|
-
@source inline("bg-tone-
|
|
59
|
-
@source inline("bg-tone-
|
|
60
|
-
@source inline("bg-
|
|
61
|
-
@source inline("
|
|
62
|
-
@source inline("border-b
|
|
63
|
-
@source inline("border-
|
|
45
|
+
@source inline("aria-disabled:active:scale-100 aria-disabled:cursor-not-allowed");
|
|
46
|
+
@source inline("aria-disabled:hover:bg-transparent aria-disabled:opacity-30 aria-disabled:opacity-50");
|
|
47
|
+
@source inline("aria-disabled:pointer-events-none aria-pressed aria-pressed:bg-accent/10 aria-pressed:border");
|
|
48
|
+
@source inline("aria-pressed:border-accent aria-pressed:text-accent auto auto-cols-fr b back backdrop");
|
|
49
|
+
@source inline("backdrop-blur backdrop-blur-md backdrop-blur-sm bg bg-accent bg-accent-solid bg-accent/10");
|
|
50
|
+
@source inline("bg-accent/5 bg-background bg-background/80 bg-background/90 bg-background/95 bg-black/50");
|
|
51
|
+
@source inline("bg-border bg-border-strong bg-card bg-card-raised bg-current bg-destructive bg-destructive-solid");
|
|
52
|
+
@source inline("bg-destructive/15 bg-destructive/5 bg-destructive/8 bg-emerald-100 bg-field-bg bg-foreground/70");
|
|
53
|
+
@source inline("bg-muted bg-muted-foreground bg-muted-foreground/40 bg-muted-foreground/50");
|
|
54
|
+
@source inline("bg-muted-foreground/60 bg-muted/20 bg-muted/40 bg-popover bg-popover! bg-success");
|
|
55
|
+
@source inline("bg-success-solid bg-success/15 bg-success/5 bg-surface bg-surface-sunken bg-tone-amber-bg");
|
|
56
|
+
@source inline("bg-tone-amber-fg bg-tone-cyan-bg bg-tone-cyan-fg bg-tone-emerald-bg bg-tone-emerald-fg");
|
|
57
|
+
@source inline("bg-tone-fuchsia-bg bg-tone-fuchsia-fg bg-tone-lime-bg bg-tone-lime-fg bg-tone-orange-bg");
|
|
58
|
+
@source inline("bg-tone-orange-fg bg-tone-purple-bg bg-tone-purple-fg bg-tone-rose-bg bg-tone-rose-fg");
|
|
59
|
+
@source inline("bg-tone-sky-bg bg-tone-sky-fg bg-tone-slate-bg bg-tone-slate-fg bg-tone-teal-bg bg-tone-teal-fg");
|
|
60
|
+
@source inline("bg-tone-violet-bg bg-tone-violet-fg bg-transparent bg-warning bg-warning/15 bg-warning/5");
|
|
61
|
+
@source inline("bg-warning/8 bg-white block blur border border-0 border-accent border-accent/40 border-accent/50");
|
|
62
|
+
@source inline("border-b border-b-0 border-b-2 border-b-[length:var(--status-glyph-h)] border-b-current");
|
|
63
|
+
@source inline("border-border border-border! border-border-strong border-border/60 border-collapse");
|
|
64
|
+
@source inline("border-current border-destructive/30 border-destructive/40 border-destructive/50");
|
|
64
65
|
@source inline("border-field-border border-rule border-success/30 border-success/40 border-success/50 border-t");
|
|
65
66
|
@source inline("border-tone-sky-fg/30 border-tone-slate-fg/30 border-transparent border-warning/30");
|
|
66
67
|
@source inline("border-warning/40 border-warning/50 border-x-4 border-x-transparent bot bottom bottom-0 break");
|
|
@@ -79,10 +80,10 @@
|
|
|
79
80
|
@source inline("data-[state=active]:text-accent data-[state=active]:text-foreground");
|
|
80
81
|
@source inline("data-[state=checked]:bg-accent-solid data-[state=checked]:bg-accent/10");
|
|
81
82
|
@source inline("data-[state=checked]:border-accent data-[state=checked]:border-accent-solid");
|
|
82
|
-
@source inline("data-[state=checked]:font-medium data-[state=checked]:ring-
|
|
83
|
-
@source inline("data-[state=checked]:
|
|
84
|
-
@source inline("data-[state=
|
|
85
|
-
@source inline("data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95");
|
|
83
|
+
@source inline("data-[state=checked]:font-medium data-[state=checked]:ring-1 data-[state=checked]:ring-2");
|
|
84
|
+
@source inline("data-[state=checked]:ring-accent data-[state=checked]:text-white");
|
|
85
|
+
@source inline("data-[state=checked]:translate-x-4 data-[state=closed]:animate-collapsible-up");
|
|
86
|
+
@source inline("data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95");
|
|
86
87
|
@source inline("data-[state=indeterminate]:bg-accent-solid data-[state=indeterminate]:border-accent-solid");
|
|
87
88
|
@source inline("data-[state=indeterminate]:text-white data-[state=open]:animate-collapsible-down");
|
|
88
89
|
@source inline("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95");
|
|
@@ -90,7 +91,7 @@
|
|
|
90
91
|
@source inline("disabled:bg-muted disabled:border-transparent disabled:cursor-not-allowed");
|
|
91
92
|
@source inline("disabled:hover:bg-transparent disabled:hover:border-border disabled:hover:text-muted-foreground");
|
|
92
93
|
@source inline("disabled:opacity-50 disabled:pointer-events-none disabled:text-muted-foreground div");
|
|
93
|
-
@source inline("divide-border divide-y duration duration-200 duration-300 duration-[var(--duration-fast)] e");
|
|
94
|
+
@source inline("divide-border divide-y duration duration-200 duration-300 duration-[var(--duration-fast)] e ease");
|
|
94
95
|
@source inline("ease-[var(--ease-out)] empty empty:hidden fade fade-out file file:bg-transparent file:border-0");
|
|
95
96
|
@source inline("file:font-medium file:mr-3 file:text-foreground file:text-sm fill fill-[var(--color-popover)]");
|
|
96
97
|
@source inline("fill-border fill-current filter fix fixed flex flex-1 flex-col flex-none flex-wrap focus");
|
|
@@ -108,19 +109,19 @@
|
|
|
108
109
|
@source inline("grid-cols-[minmax(0,var(--property-label-w))_minmax(0,1fr)]");
|
|
109
110
|
@source inline("grid-cols-[repeat(auto-fit,minmax(min(var(--cb-grid-min),100%),1fr))] grid-flow-col group");
|
|
110
111
|
@source inline("group-active/sep:opacity-100 group-data-[density=compact]/properties:items-start");
|
|
111
|
-
@source inline("group-data-[density=compact]/properties:min-h-6 group-data-[state=
|
|
112
|
-
@source inline("group-focus-visible/sep:opacity-100 group-hover
|
|
113
|
-
@source inline("group-hover/sep:opacity-100 group-hover:opacity-100 group/path
|
|
114
|
-
@source inline("h-0.5 h-1 h-1.5 h-10 h-14 h-16 h-2 h-2.5 h-24 h-3 h-32 h-4 h-5
|
|
115
|
-
@source inline("h-[calc(100dvh-…)] h-[min(var(--region-h-lg),var(--region-h-phone))]");
|
|
112
|
+
@source inline("group-data-[density=compact]/properties:min-h-6 group-data-[state=checked]:opacity-100");
|
|
113
|
+
@source inline("group-data-[state=open]:rotate-90 group-focus-visible/sep:opacity-100 group-hover");
|
|
114
|
+
@source inline("group-hover/path:opacity-100 group-hover/sep:opacity-100 group-hover:opacity-100 group/path");
|
|
115
|
+
@source inline("group/properties group/sep grow h h-0.5 h-1 h-1.5 h-10 h-14 h-16 h-2 h-2.5 h-24 h-3 h-32 h-4 h-5");
|
|
116
|
+
@source inline("h-6 h-7 h-8 h-9 h-[calc(100dvh-…)] h-[min(var(--region-h-lg),var(--region-h-phone))]");
|
|
116
117
|
@source inline("h-[min(var(--region-h-md),var(--region-h-phone))]");
|
|
117
118
|
@source inline("h-[min(var(--region-h-sm),var(--region-h-phone))] h-[var(--control-h-lg)]");
|
|
118
119
|
@source inline("h-[var(--control-h-md)] h-[var(--control-h-sm)] h-[var(--indicator-w)] h-auto h-full h-px hi hid");
|
|
119
120
|
@source inline("hidden hover hover:bg-accent hover:bg-accent-solid-hover hover:bg-accent/10 hover:bg-accent/20");
|
|
120
121
|
@source inline("hover:bg-border hover:bg-destructive-solid hover:bg-destructive-solid-hover");
|
|
121
122
|
@source inline("hover:bg-destructive/10 hover:bg-muted hover:bg-success-solid-hover hover:bg-transparent");
|
|
122
|
-
@source inline("hover:border-accent hover:border-destructive-solid hover:opacity-70
|
|
123
|
-
@source inline("hover:text-destructive hover:text-destructive-foreground hover:text-foreground");
|
|
123
|
+
@source inline("hover:border-accent hover:border-border-strong hover:border-destructive-solid hover:opacity-70");
|
|
124
|
+
@source inline("hover:text-accent hover:text-destructive hover:text-destructive-foreground hover:text-foreground");
|
|
124
125
|
@source inline("hover:text-foreground! hover:underline i in inline inline-block inline-flex inline-grid inset");
|
|
125
126
|
@source inline("inset-0 inset-x-0 inset-y-0 invisible is iso isolate it item items items-baseline items-center");
|
|
126
127
|
@source inline("items-end items-start just justify-between justify-center justify-end justify-start l last");
|
|
@@ -139,29 +140,30 @@
|
|
|
139
140
|
@source inline("md:grid-cols-4 md:inline md:w-1/3 md:w-2/5 min min-h-0 min-h-11 min-h-[1lh]");
|
|
140
141
|
@source inline("min-h-[var(--control-h-lg)] min-h-[var(--control-h-md)] min-h-[var(--control-h-sm)] min-h-row");
|
|
141
142
|
@source inline("min-w-0 min-w-11 min-w-32 min-w-[var(--radix-select-trigger-width)] ml-1 ml-auto motion");
|
|
142
|
-
@source inline("motion-reduce:animate-none mt-0.5
|
|
143
|
-
@source inline("
|
|
144
|
-
@source inline("
|
|
145
|
-
@source inline("overscroll-contain p p-0 p-0.5 p-1 p-
|
|
146
|
-
@source inline("pb-0 pb-1 pb-2 pb-3 pb-4
|
|
147
|
-
@source inline("pb-[var(--empty-lift)] pl-4 pl-8 place
|
|
148
|
-
@source inline("pointer pointer-coarse pointer-coarse:-m-2
|
|
149
|
-
@source inline("pointer-coarse:
|
|
150
|
-
@source inline("pointer-coarse:
|
|
151
|
-
@source inline("pointer-
|
|
152
|
-
@source inline("px-2.5 px-3 px-4 px-5 px-6 px-row-x py-0 py-0.5 py-1
|
|
153
|
-
@source inline("py-[var(--panel-pad)] py-px py-row-y r re relative res
|
|
154
|
-
@source inline("ring-background ro rotate-90 round rounded
|
|
155
|
-
@source inline("rounded-field rounded-full rounded-l-full rounded-lg
|
|
156
|
-
@source inline("rounded-sm rounded-xl ru run running s select select-all
|
|
157
|
-
@source inline("shadow-[var(--shadow-overlay)] shadow-[var(--shadow-popover)]
|
|
158
|
-
@source inline("shadow-raised shadow-sm shrink shrink-0 size size-0 size-1.5 size-10
|
|
159
|
-
@source inline("size-2.5 size-20 size-3 size-3.5 size-4 size-5 size-6 size-8 sm
|
|
160
|
-
@source inline("sm:-translate-y-1/2 sm:block sm:data-[state=closed]:zoom-out-95
|
|
161
|
-
@source inline("sm:
|
|
162
|
-
@source inline("sm:
|
|
163
|
-
@source inline("sm:max-
|
|
164
|
-
@source inline("sm:max-w-[var(--modal-w-
|
|
143
|
+
@source inline("motion-reduce:active:scale-100 motion-reduce:animate-none motion-reduce:transition-none mt-0.5");
|
|
144
|
+
@source inline("mt-1 mt-2 mx-auto my my-1 object object-cover opacity opacity-0 opacity-30 opacity-40 opacity-50");
|
|
145
|
+
@source inline("opacity-60 opacity-70 out outline outline-none over overflow overflow-auto overflow-hidden");
|
|
146
|
+
@source inline("overflow-x-auto overflow-x-clip overflow-y-auto overscroll-contain p p-0 p-0.5 p-1 p-1.5 p-2 p-3");
|
|
147
|
+
@source inline("p-4 p-6 p-[7px] p-[var(--panel-pad)] pause paused pb-0 pb-1 pb-2 pb-3 pb-4");
|
|
148
|
+
@source inline("pb-[max(env(safe-area-inset-bottom,0px),0.75rem)] pb-[var(--empty-lift)] pl-4 pl-8 place");
|
|
149
|
+
@source inline("placeholder placeholder:text-field-placeholder point pointer pointer-coarse pointer-coarse:-m-2");
|
|
150
|
+
@source inline("pointer-coarse:data-[state=checked]:translate-x-8 pointer-coarse:h-11 pointer-coarse:min-h-11");
|
|
151
|
+
@source inline("pointer-coarse:min-w-11 pointer-coarse:opacity-100 pointer-coarse:size-5 pointer-coarse:size-9");
|
|
152
|
+
@source inline("pointer-coarse:w-11 pointer-coarse:w-18 pointer-events pointer-events-auto pointer-events-none");
|
|
153
|
+
@source inline("pr-8 pt-2 pt-3 px px-0 px-1 px-1.5 px-2 px-2.5 px-3 px-4 px-5 px-6 px-row-x py-0 py-0.5 py-1");
|
|
154
|
+
@source inline("py-1.5 py-12 py-2 py-2.5 py-3 py-4 py-6 py-[var(--panel-pad)] py-px py-row-y r re relative res");
|
|
155
|
+
@source inline("resize right right-0 right-2 ring ring-2 ring-background ro rotate-90 round rounded");
|
|
156
|
+
@source inline("rounded-[calc(var(--radius-md)-0.25rem)] rounded-field rounded-full rounded-l-full rounded-lg");
|
|
157
|
+
@source inline("rounded-md rounded-none rounded-r-full rounded-sm rounded-xl ru run running s select select-all");
|
|
158
|
+
@source inline("select-none self-start shadow shadow-[var(--shadow-overlay)] shadow-[var(--shadow-popover)]");
|
|
159
|
+
@source inline("shadow-none shadow-overlay shadow-raised shadow-sm shrink shrink-0 size size-0 size-1.5 size-10");
|
|
160
|
+
@source inline("size-12 size-14 size-2 size-2.5 size-20 size-3 size-3.5 size-4 size-5 size-6 size-8 sm");
|
|
161
|
+
@source inline("sm:-translate-x-1/2 sm:-translate-y-1/2 sm:block sm:data-[state=closed]:zoom-out-95");
|
|
162
|
+
@source inline("sm:data-[state=open]:zoom-in-95 sm:grid-cols-4 sm:h-[var(--region-h-lg)]");
|
|
163
|
+
@source inline("sm:h-[var(--region-h-md)] sm:h-[var(--region-h-sm)] sm:hidden sm:left-1/2");
|
|
164
|
+
@source inline("sm:max-h-[calc(100dvh-2rem)] sm:max-h-[min(90dvh,calc(100dvh-2rem))] sm:max-w-[calc(100vw-2rem)]");
|
|
165
|
+
@source inline("sm:max-w-[var(--modal-w-lg)] sm:max-w-[var(--modal-w-md)] sm:max-w-[var(--modal-w-sm)] sm:p-4");
|
|
166
|
+
@source inline("sm:p-5 sm:p-8 sm:pointer-fine:text-sm sm:px-6 sm:rounded-xl sm:text-sm sm:top-1/2");
|
|
165
167
|
@source inline("sm:w-[calc(100vw-2rem)] space space-y-1 space-y-3 sr-only stat static sticky stroke");
|
|
166
168
|
@source inline("stroke-accent-solid stroke-destructive stroke-muted stroke-warning t ta tab table tabular-nums");
|
|
167
169
|
@source inline("text text-2xl text-[length:var(--text-glyph-relative)] text-[var(--foreground)]");
|
|
@@ -174,6 +176,7 @@
|
|
|
174
176
|
@source inline("text-tone-sky-fg text-tone-slate-fg text-tone-teal-fg text-tone-violet-fg text-warning");
|
|
175
177
|
@source inline("text-warning-strong text-white text-xs to top top-0 top-1/2 top-2 touch touch-manipulation");
|
|
176
178
|
@source inline("touch-none track tracking tracking-tight tracking-wide tracking-wider transform transition");
|
|
179
|
+
@source inline("transition-[color,background-color,border-color,box-shadow,transform]");
|
|
177
180
|
@source inline("transition-[stroke-dashoffset] transition-[width] transition-all transition-colors");
|
|
178
181
|
@source inline("transition-opacity transition-transform translate-x-1/2 translate-y-1/2 truncate under underline");
|
|
179
182
|
@source inline("underline-offset-4 up uppercase v visible w w-0.5 w-1 w-1/2 w-1/3 w-10 w-16 w-2.5 w-2/3 w-24");
|
|
@@ -185,11 +188,11 @@
|
|
|
185
188
|
/*
|
|
186
189
|
* Theme variables cursedbelt's components read BY NAME (`var(--color-card)` in a style prop).
|
|
187
190
|
* Tailwind emits a theme variable only when the app's own pass sees it used, and a `var()` here is
|
|
188
|
-
* that use — `@source inline` cannot mark one.
|
|
191
|
+
* that use — `@source inline` cannot mark one. 11 variable(s), derived by
|
|
189
192
|
* scripts/generateUtilityStyles.ts → themeVariablesReadByName(). Nothing reads this property.
|
|
190
193
|
*/
|
|
191
194
|
@layer theme {
|
|
192
195
|
:root, :host {
|
|
193
|
-
--cb-theme-read-by-name: var(--color-accent) var(--color-border) var(--color-card) var(--color-muted) var(--color-popover) var(--duration-base) var(--ease-out) var(--spacing) var(--text-caption) var(--text-sm);
|
|
196
|
+
--cb-theme-read-by-name: var(--color-accent) var(--color-border) var(--color-card) var(--color-muted) var(--color-popover) var(--duration-base) var(--ease-out) var(--press-scale) var(--spacing) var(--text-caption) var(--text-sm);
|
|
194
197
|
}
|
|
195
198
|
}
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
19
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
20
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
-
*
|
|
21
|
+
* 9 candidate(s).
|
|
22
22
|
*
|
|
23
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
24
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
25
25
|
* import closures rather than a hand-written list, is scripts/styleAreas.ts.
|
|
26
26
|
*/
|
|
27
|
-
@source inline("h-105 hover:border-
|
|
28
|
-
@source inline("text-
|
|
27
|
+
@source inline("h-105 hover:border-field-ring max-h-64 min-w-48 shadow-popover size-7 text-field-placeholder");
|
|
28
|
+
@source inline("text-xl w-88");
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
19
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
20
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
-
*
|
|
21
|
+
* 22 candidate(s).
|
|
22
22
|
*
|
|
23
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
24
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
*/
|
|
27
27
|
@source inline("[&>*]:min-w-0 bg-[var(--card)] bg-[var(--muted)]/10 bg-[var(--muted)]/20 bg-accent/15 collapse");
|
|
28
28
|
@source inline("duration-150 hover:decoration-border hover:underline-offset-4 max-h-72 max-w max-w-48 max-w-80");
|
|
29
|
-
@source inline("min-w-8 mx-0.5
|
|
30
|
-
@source inline("
|
|
29
|
+
@source inline("min-w-8 mx-0.5 place-items-center px-0.5 ring-1 ring-[var(--accent)] rotate-180 self-stretch");
|
|
30
|
+
@source inline("text-[var(--danger)]");
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
19
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
20
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
-
*
|
|
21
|
+
* 59 candidate(s).
|
|
22
22
|
*
|
|
23
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
24
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
@source inline("bg-tone-purple-bg/50 bg-tone-rose-bg/50 bg-tone-sky-bg/50 bg-tone-slate-bg/50 border-2");
|
|
31
31
|
@source inline("border-current/20 border-dashed col-span-12 col-span-6 collapse focus:border-accent focus:ring-1");
|
|
32
32
|
@source inline("focus:ring-ring gap-y-3 grid-cols-1 grid-cols-12 group-focus-within:opacity-100");
|
|
33
|
-
@source inline("hover:bg-accent/5
|
|
34
|
-
@source inline("
|
|
35
|
-
@source inline("text-
|
|
36
|
-
@source inline("text-tone-
|
|
37
|
-
@source inline("text-tone-
|
|
33
|
+
@source inline("hover:bg-accent/5 lg:flex-row lg:inset-8 lg:items-start lg:w-72 p-5 pt-1 ring-1 ring-accent");
|
|
34
|
+
@source inline("ring-accent/40 self-stretch sm:border sm:border-border sm:inset-4 text-3xl");
|
|
35
|
+
@source inline("text-muted-foreground/60 text-muted-foreground/70 text-tone-amber-ink text-tone-cyan-ink");
|
|
36
|
+
@source inline("text-tone-emerald-ink text-tone-purple-ink text-tone-rose-ink text-tone-sky-ink");
|
|
37
|
+
@source inline("text-tone-slate-ink text-xl");
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
19
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
20
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
-
*
|
|
21
|
+
* 56 candidate(s).
|
|
22
22
|
*
|
|
23
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
24
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
@source inline("bg-black/95 bg-white/10 border-none bottom-1 col collapse ease-in-out f");
|
|
29
29
|
@source inline("focus-visible:ring-offset-black focus-within:border-field-ring focus-within:ring-2");
|
|
30
30
|
@source inline("focus-within:ring-field-ring/30 hover:bg-white/20 hover:border-accent-solid hover:text-white");
|
|
31
|
-
@source inline("inset-4 left-1 max-h-[40vh] min-h-20 min-h-dvh min-w-12 min-w-16 min-w-20 min-w-24 mx-1
|
|
32
|
-
@source inline("
|
|
31
|
+
@source inline("inset-4 left-1 max-h-[40vh] min-h-20 min-h-dvh min-w-12 min-w-16 min-w-20 min-w-24 mx-1 pl-2");
|
|
32
|
+
@source inline("place-items-center pr-1 resize-none right-1 right-4 size-9 text-tone-amber-ink");
|
|
33
33
|
@source inline("text-tone-cyan-ink text-tone-emerald-ink text-tone-orange-ink text-tone-purple-ink");
|
|
34
34
|
@source inline("text-tone-rose-ink text-tone-sky-ink text-tone-slate-ink text-white/70 top-1 top-4 translate");
|
|
35
35
|
@source inline("translate-x-px w-40 w-48 zoom zoom-in");
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
19
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
20
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
-
*
|
|
21
|
+
* 81 candidate(s).
|
|
22
22
|
*
|
|
23
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
24
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
*/
|
|
27
27
|
@source inline("[&_svg]:max-h-10 [&_svg]:min-h-5 [&_svg]:size-1/3 accent-white active:cursor-grabbing");
|
|
28
28
|
@source inline("appearance-none aspect-square aspect-video backdrop-blur-xs bg-accent/15 bg-background/65");
|
|
29
|
-
@source inline("bg-background/85 bg-black bg-black/55 bg-black/60 bg-black/85 bg-black/90 bg-
|
|
30
|
-
@source inline("bg-
|
|
31
|
-
@source inline("
|
|
29
|
+
@source inline("bg-background/85 bg-black bg-black/55 bg-black/60 bg-black/85 bg-black/90 bg-center bg-cover");
|
|
30
|
+
@source inline("bg-linear-to-t bg-white/90 border-2 border-accent-solid border-white/90 border-y-2 bottom-1");
|
|
31
|
+
@source inline("bottom-1.5 bottom-2 cursor-crosshair cursor-grab cursor-zoom-in ease-in-out");
|
|
32
32
|
@source inline("focus-within:opacity-100 from-black/80 g grayscale group-focus-within:opacity-100 h-11");
|
|
33
33
|
@source inline("hover:bg-black/75 hover:bg-destructive hover:bg-white/20 hover:border-accent-solid invert left-0");
|
|
34
34
|
@source inline("left-1 max-h-[40vh] max-h-[var(--media-max-h)] max-h-full max-w-50 min-h-64 min-h-dvh min-w-10");
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
19
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
20
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
-
*
|
|
21
|
+
* 24 candidate(s).
|
|
22
22
|
*
|
|
23
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
24
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -28,6 +28,6 @@
|
|
|
28
28
|
@source inline("data-[state=closed]:slide-out-to-bottom data-[state=closed]:slide-out-to-left");
|
|
29
29
|
@source inline("data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-bottom");
|
|
30
30
|
@source inline("data-[state=open]:slide-in-from-left data-[state=open]:slide-in-from-right hover:border-border");
|
|
31
|
-
@source inline("
|
|
32
|
-
@source inline("max-h-[var(--sheet-h-
|
|
33
|
-
@source inline("
|
|
31
|
+
@source inline("left-0 max-h-[var(--radix-popover-content-available-height)] max-h-[var(--sheet-h-lg)]");
|
|
32
|
+
@source inline("max-h-[var(--sheet-h-md)] max-h-[var(--sheet-h-sm)] max-w-[var(--overlay-max-w)] max-w-sm");
|
|
33
|
+
@source inline("rounded-l-xl rounded-r-xl rounded-t-xl w-64");
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* after an app's responsive variant (task 2124). An app that imports every area gets exactly
|
|
19
19
|
* what `cursedbelt/styles-utilities.css` emits — proved rule by rule in
|
|
20
20
|
* src/stylesAreas.spec.ts, which is also what fails when this file is stale.
|
|
21
|
-
*
|
|
21
|
+
* 108 candidate(s).
|
|
22
22
|
*
|
|
23
23
|
* Written by scripts/generateAreaStyles.ts (`bun run styles:areas`), which
|
|
24
24
|
* `bun run build` runs. The map of what is in which area, and why the areas are
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
@source inline("data-[state=open]:slide-in-from-bottom data-[state=open]:slide-in-from-left");
|
|
33
33
|
@source inline("data-[state=open]:slide-in-from-right disabled:opacity-0 duration-150 first:pt-1 flex-row");
|
|
34
34
|
@source inline("group-hover:disabled:opacity-50 h-105 h-40 hover:bg-card-overlay hover:bg-muted-foreground/10");
|
|
35
|
-
@source inline("hover:bg-muted/80 hover:border-
|
|
36
|
-
@source inline("
|
|
37
|
-
@source inline("max-
|
|
38
|
-
@source inline("
|
|
39
|
-
@source inline("peer-focus:
|
|
40
|
-
@source inline("
|
|
35
|
+
@source inline("hover:bg-muted/80 hover:border-field-ring hover:shadow-popover italic left-0 left-2.5");
|
|
36
|
+
@source inline("max-h-[var(--sheet-h-lg)] max-h-[var(--sheet-h-md)] max-h-[var(--sheet-h-sm)] max-h-full");
|
|
37
|
+
@source inline("max-w-sm min-h min-h-20 min-h-8 min-h-9 min-h-dvh min-h-full min-w-20 min-w-40 opacity-100");
|
|
38
|
+
@source inline("pb-0.5 pb-[max(env(safe-area-inset-bottom,0px),0.5rem)] peer-focus peer-focus:outline-none");
|
|
39
|
+
@source inline("peer-focus:ring-2 peer-focus:ring-field-ring/40 peer-focus:rounded-lg pl-1 pl-3");
|
|
40
|
+
@source inline("pointer-coarse:disabled:opacity-50 pointer-coarse:h-12 pointer-coarse:w-12 pr-16 pr-9");
|
|
41
41
|
@source inline("resize-none right-4 ring-1 ring-4 ring-accent/20 ring-accent/30 ring-accent/40 ring-border");
|
|
42
42
|
@source inline("ring-inset ring-ring rounded-[var(--radius-device)] rounded-l-xl rounded-r-xl rounded-t-xl");
|
|
43
43
|
@source inline("scale-[1.01] self-stretch shrink-[2] size-7 sm:flex-1 sm:flex-nowrap sm:shrink-0 sm:w-56");
|