cursedbelt 5.64.0 → 5.67.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/react/Toast.d.ts.map +1 -1
- package/dist/react/Toast.js +4 -1
- package/dist/react/Toast.js.map +1 -1
- 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 +9 -2
- 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 +7 -1
- package/dist/react/components/CardTapTarget.js.map +1 -1
- package/dist/react/components/ChipFilterStrip.d.ts.map +1 -1
- package/dist/react/components/ChipFilterStrip.js +2 -1
- package/dist/react/components/ChipFilterStrip.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/ConfirmDialog.d.ts.map +1 -1
- package/dist/react/components/ConfirmDialog.js +2 -1
- package/dist/react/components/ConfirmDialog.js.map +1 -1
- package/dist/react/components/Drawer.d.ts.map +1 -1
- package/dist/react/components/Drawer.js +2 -1
- package/dist/react/components/Drawer.js.map +1 -1
- package/dist/react/components/Lightbox.d.ts.map +1 -1
- package/dist/react/components/Lightbox.js +2 -1
- package/dist/react/components/Lightbox.js.map +1 -1
- package/dist/react/components/Modal.d.ts.map +1 -1
- package/dist/react/components/Modal.js +5 -3
- package/dist/react/components/Modal.js.map +1 -1
- package/dist/react/components/PromptDialog.d.ts.map +1 -1
- package/dist/react/components/PromptDialog.js +2 -1
- package/dist/react/components/PromptDialog.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/SegmentedControl.d.ts.map +1 -1
- package/dist/react/components/SegmentedControl.js +2 -1
- package/dist/react/components/SegmentedControl.js.map +1 -1
- package/dist/react/components/Tabs.d.ts.map +1 -1
- package/dist/react/components/Tabs.js +68 -15
- package/dist/react/components/Tabs.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/TooltipImpl.d.ts.map +1 -1
- package/dist/react/components/TooltipImpl.js +2 -1
- package/dist/react/components/TooltipImpl.js.map +1 -1
- package/dist/react/components/dialog.d.ts.map +1 -1
- package/dist/react/components/dialog.js +2 -1
- package/dist/react/components/dialog.js.map +1 -1
- package/dist/react/components/searchInput.css +4 -2
- package/dist/react/layoutEngine/LayoutConfigDialog.d.ts.map +1 -1
- package/dist/react/layoutEngine/LayoutConfigDialog.js +3 -1
- package/dist/react/layoutEngine/LayoutConfigDialog.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/lib/floatingStyles.d.ts +10 -2
- package/dist/react/lib/floatingStyles.d.ts.map +1 -1
- package/dist/react/lib/floatingStyles.js +12 -7
- package/dist/react/lib/floatingStyles.js.map +1 -1
- package/dist/react/lib/overlayMotion.d.ts +37 -0
- package/dist/react/lib/overlayMotion.d.ts.map +1 -0
- package/dist/react/lib/overlayMotion.js +50 -0
- package/dist/react/lib/overlayMotion.js.map +1 -0
- package/dist/react/lib/press.d.ts +37 -0
- package/dist/react/lib/press.d.ts.map +1 -0
- package/dist/react/lib/press.js +41 -0
- package/dist/react/lib/press.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/PlaceBar.d.ts.map +1 -1
- package/dist/react/nav/PlaceBar.js +4 -3
- package/dist/react/nav/PlaceBar.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/react/palette/CommandPalette.d.ts.map +1 -1
- package/dist/react/palette/CommandPalette.js +3 -2
- package/dist/react/palette/CommandPalette.js.map +1 -1
- package/dist/styles-areas/analytics.css +2 -2
- package/dist/styles-areas/core.css +73 -64
- package/dist/styles-areas/data-table.css +3 -3
- package/dist/styles-areas/fields.css +2 -2
- package/dist/styles-areas/media.css +4 -4
- package/dist/styles-areas/nav.css +18 -18
- package/dist/styles-areas/overlays.css +2 -2
- package/dist/styles-areas/palette.css +4 -5
- package/dist/styles-areas/place-bar.css +5 -5
- package/dist/styles-areas/sharing.css +4 -4
- package/dist/styles-areas/test-report.css +4 -4
- package/dist/styles-areas/wizard.css +2 -2
- package/dist/styles-areas/workbench.css +2 -2
- package/dist/styles-utilities.css +103 -20
- package/dist/theme.css +47 -0
- package/package.json +1 -1
- package/src/react/Toast.tsx +4 -1
- package/src/react/components/Accordion.tsx +8 -1
- package/src/react/components/Button.spec.tsx +16 -0
- package/src/react/components/Button.tsx +9 -2
- package/src/react/components/CardTapTarget.tsx +6 -1
- package/src/react/components/ChipFilterStrip.tsx +3 -1
- package/src/react/components/ColorField.tsx +1 -1
- package/src/react/components/ComboboxField.tsx +1 -1
- package/src/react/components/ConfirmDialog.tsx +2 -2
- package/src/react/components/Drawer.tsx +2 -0
- package/src/react/components/Lightbox.tsx +2 -2
- package/src/react/components/Modal.tsx +5 -4
- package/src/react/components/PromptDialog.tsx +2 -2
- package/src/react/components/SecretInput.tsx +1 -1
- package/src/react/components/SegmentedControl.tsx +3 -1
- package/src/react/components/Tabs.tsx +78 -5
- package/src/react/components/TagsInput.tsx +1 -1
- package/src/react/components/TooltipImpl.tsx +2 -0
- package/src/react/components/dialog.tsx +2 -2
- package/src/react/components/searchInput.css +4 -2
- package/src/react/layoutEngine/LayoutConfigDialog.tsx +3 -1
- package/src/react/lib/field.ts +9 -3
- package/src/react/lib/floatingStyles.ts +12 -8
- package/src/react/lib/overlayMotion.ts +58 -0
- package/src/react/lib/press.ts +43 -0
- package/src/react/media-gallery/MediaGallery.spec.tsx +65 -1
- package/src/react/media-gallery/MediaGallery.tsx +37 -2
- package/src/react/nav/PlaceBar.tsx +7 -3
- package/src/react/nav/TopBar.spec.tsx +34 -0
- package/src/react/nav/TopBar.tsx +22 -0
- package/src/react/palette/CommandPalette.tsx +3 -2
- package/src/styles-areas/analytics.css +2 -2
- package/src/styles-areas/core.css +73 -64
- package/src/styles-areas/data-table.css +3 -3
- package/src/styles-areas/fields.css +2 -2
- package/src/styles-areas/media.css +4 -4
- package/src/styles-areas/nav.css +18 -18
- package/src/styles-areas/overlays.css +2 -2
- package/src/styles-areas/palette.css +4 -5
- package/src/styles-areas/place-bar.css +5 -5
- package/src/styles-areas/sharing.css +4 -4
- package/src/styles-areas/test-report.css +4 -4
- package/src/styles-areas/wizard.css +2 -2
- package/src/styles-areas/workbench.css +2 -2
- package/src/styles-utilities.css +103 -20
- package/src/theme.css +47 -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
|
/>
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
import { Drawer } from '../components/Drawer.js';
|
|
11
11
|
import { IconButton } from '../components/IconButton.js';
|
|
12
12
|
import { cn } from '../lib/cn.js';
|
|
13
|
+
import { PRESS } from '../lib/press.js';
|
|
13
14
|
import {
|
|
14
15
|
isDomainActive,
|
|
15
16
|
NAV_BADGE_TONE,
|
|
@@ -173,7 +174,8 @@ export function PlaceBar({
|
|
|
173
174
|
className={cn(
|
|
174
175
|
// `border-0` and an explicit ground: without preflight a raw `<button>` is the
|
|
175
176
|
// browser's grey bordered box (measured in desk at 390, forge task 2748).
|
|
176
|
-
'relative flex min-w-0 flex-1 flex-col items-center justify-center gap-0.5 rounded-md border-0 px-0.5 py-1.5 font-[inherit] text-xs font-medium tracking-tight
|
|
177
|
+
'relative flex min-w-0 flex-1 flex-col items-center justify-center gap-0.5 rounded-md border-0 px-0.5 py-1.5 font-[inherit] text-xs font-medium tracking-tight focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
|
|
178
|
+
PRESS,
|
|
177
179
|
overflowActive ? 'bg-accent/10 text-foreground' : 'bg-transparent text-muted-foreground hover:bg-muted hover:text-foreground',
|
|
178
180
|
)}
|
|
179
181
|
>
|
|
@@ -218,7 +220,8 @@ export function PlaceBar({
|
|
|
218
220
|
ariaCurrent={active ? 'page' : undefined}
|
|
219
221
|
className={cn(
|
|
220
222
|
// ≥48px touch rows — full labels, never clipped tab captions.
|
|
221
|
-
'flex min-h-12 items-center gap-3 rounded-md px-3 py-2 text-sm font-medium no-underline
|
|
223
|
+
'flex min-h-12 items-center gap-3 rounded-md px-3 py-2 text-sm font-medium no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
|
|
224
|
+
PRESS,
|
|
222
225
|
active ? 'bg-muted text-foreground' : 'text-foreground hover:bg-muted',
|
|
223
226
|
)}
|
|
224
227
|
>
|
|
@@ -295,7 +298,8 @@ function PlaceTab({
|
|
|
295
298
|
ariaLabel={place.label}
|
|
296
299
|
className={cn(
|
|
297
300
|
// `no-underline`: a host without Tailwind's preflight (desk) draws a bare `<a>` underlined.
|
|
298
|
-
'relative flex min-w-0 flex-1 flex-col items-center justify-center gap-0.5 rounded-md px-0.5 py-1.5 text-xs font-medium tracking-tight no-underline
|
|
301
|
+
'relative flex min-w-0 flex-1 flex-col items-center justify-center gap-0.5 rounded-md px-0.5 py-1.5 text-xs font-medium tracking-tight no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
|
|
302
|
+
PRESS,
|
|
299
303
|
active ? 'bg-accent/10 text-foreground' : 'text-muted-foreground hover:bg-muted hover:text-foreground',
|
|
300
304
|
)}
|
|
301
305
|
>
|
|
@@ -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
|
|
|
@@ -31,6 +31,7 @@ import { ScrollArea } from '../components/ScrollArea.js';
|
|
|
31
31
|
import { Spinner } from '../components/Spinner.js';
|
|
32
32
|
import { useDebouncedValue } from '../hooks/useDebouncedValue.js';
|
|
33
33
|
import { cn } from '../lib/cn.js';
|
|
34
|
+
import { DIALOG_MOTION, SCRIM_MOTION } from '../lib/overlayMotion.js';
|
|
34
35
|
import type { IconResolver } from '../nav/navShared.js';
|
|
35
36
|
import { renderIcon } from '../nav/navShared.js';
|
|
36
37
|
import type { SearchResultGroup } from '../nav/SearchResults.js';
|
|
@@ -302,7 +303,7 @@ export function CommandPalette({
|
|
|
302
303
|
return (
|
|
303
304
|
<Dialog.Root open={open} onOpenChange={onOpenChange}>
|
|
304
305
|
<Dialog.Portal>
|
|
305
|
-
<Dialog.Overlay className='fixed inset-0 z-50 bg-black/50 backdrop-blur-sm
|
|
306
|
+
<Dialog.Overlay className={cn('fixed inset-0 z-50 bg-black/50 backdrop-blur-sm', SCRIM_MOTION)} />
|
|
306
307
|
<Dialog.Content
|
|
307
308
|
data-cb-command-palette=''
|
|
308
309
|
onOpenAutoFocus={(e) => {
|
|
@@ -312,7 +313,7 @@ export function CommandPalette({
|
|
|
312
313
|
}}
|
|
313
314
|
className={cn(
|
|
314
315
|
'fixed left-1/2 top-[var(--palette-top)] z-50 w-[calc(100%-2rem)] max-w-2xl -translate-x-1/2',
|
|
315
|
-
|
|
316
|
+
DIALOG_MOTION,
|
|
316
317
|
className,
|
|
317
318
|
)}
|
|
318
319
|
>
|
|
@@ -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
|
+
* 166 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
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
@source inline("focus-visible:ring-field-ring/40 focus-within:border-field-ring focus-within:ring-2");
|
|
44
44
|
@source inline("focus-within:ring-field-ring/30 from-card gap-x-6 h-105");
|
|
45
45
|
@source inline("has-[[aria-invalid=true]]:border-field-error hover:bg-background hover:bg-muted/40");
|
|
46
|
-
@source inline("hover:border-field-ring hover:text-warning italic justify-self-end last:border-0 left-
|
|
46
|
+
@source inline("hover:border-field-ring hover:text-warning italic justify-self-end last:border-0 left-11");
|
|
47
47
|
@source inline("left-2.5 list-none max-h-64 max-h-88 max-h-[var(--sheet-h-lg)] max-h-[var(--sheet-h-md)]");
|
|
48
48
|
@source inline("max-h-[var(--sheet-h-sm)] max-sm:flex-1 max-sm:flex-wrap max-sm:min-w-0 max-sm:min-w-24");
|
|
49
49
|
@source inline("max-sm:min-w-32 max-sm:ml-13.5 max-sm:w-auto max-w-32 max-w-36 max-w-45 max-w-48 max-w-60");
|
|
@@ -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
|
+
* 898 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,42 +39,45 @@
|
|
|
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
|
|
43
|
-
@source inline("
|
|
42
|
+
@source inline("active:bg-accent active:scale-100 active:scale-[var(--press-scale)]");
|
|
43
|
+
@source inline("active:scale-[var(--press-scale-surface)] alert alert-icon align align-middle an animate");
|
|
44
|
+
@source inline("animate-in animate-progress-indeterminate animate-pulse animate-spin aria");
|
|
44
45
|
@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-card bg-card-raised bg-current bg-destructive bg-destructive-solid
|
|
52
|
-
@source inline("bg-destructive/5 bg-destructive/8 bg-emerald-100 bg-field-bg bg-foreground/70
|
|
53
|
-
@source inline("bg-muted
|
|
54
|
-
@source inline("bg-muted/20 bg-muted/40 bg-popover bg-popover! bg-success
|
|
55
|
-
@source inline("bg-success/5 bg-surface bg-surface-sunken bg-tone-amber-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("border-0 border-accent border-accent/40 border-accent/50
|
|
62
|
-
@source inline("border-b-[length:var(--status-glyph-h)] border-b-current
|
|
63
|
-
@source inline("border-border
|
|
64
|
-
@source inline("border-
|
|
65
|
-
@source inline("border-
|
|
66
|
-
@source inline("border-
|
|
67
|
-
@source inline("border-x-transparent bot bottom bottom-0 break
|
|
68
|
-
@source inline("col-span-full com contain container content
|
|
69
|
-
@source inline("cursor
|
|
70
|
-
@source inline("dark:bg-card-
|
|
71
|
-
@source inline("data-[disabled]:
|
|
72
|
-
@source inline("data-[interactive=true]:duration-[var(--duration-base)]");
|
|
46
|
+
@source inline("aria-disabled:active:scale-100 aria-disabled:cursor-not-allowed");
|
|
47
|
+
@source inline("aria-disabled:hover:bg-transparent aria-disabled:opacity-30 aria-disabled:opacity-50");
|
|
48
|
+
@source inline("aria-disabled:pointer-events-none aria-pressed aria-pressed:bg-accent/10 aria-pressed:border");
|
|
49
|
+
@source inline("aria-pressed:border-accent aria-pressed:text-accent auto auto-cols-fr b back backdrop");
|
|
50
|
+
@source inline("backdrop-blur backdrop-blur-md backdrop-blur-sm bg bg-accent bg-accent-solid bg-accent/10");
|
|
51
|
+
@source inline("bg-accent/5 bg-background bg-background/80 bg-background/90 bg-background/95 bg-black/50");
|
|
52
|
+
@source inline("bg-border bg-border-strong bg-card bg-card-raised bg-current bg-destructive bg-destructive-solid");
|
|
53
|
+
@source inline("bg-destructive/15 bg-destructive/5 bg-destructive/8 bg-emerald-100 bg-field-bg bg-foreground/70");
|
|
54
|
+
@source inline("bg-muted bg-muted-foreground bg-muted-foreground/40 bg-muted-foreground/50");
|
|
55
|
+
@source inline("bg-muted-foreground/60 bg-muted/20 bg-muted/40 bg-popover bg-popover! bg-success");
|
|
56
|
+
@source inline("bg-success-solid bg-success/15 bg-success/5 bg-surface bg-surface-sunken bg-tone-amber-bg");
|
|
57
|
+
@source inline("bg-tone-amber-fg bg-tone-cyan-bg bg-tone-cyan-fg bg-tone-emerald-bg bg-tone-emerald-fg");
|
|
58
|
+
@source inline("bg-tone-fuchsia-bg bg-tone-fuchsia-fg bg-tone-lime-bg bg-tone-lime-fg bg-tone-orange-bg");
|
|
59
|
+
@source inline("bg-tone-orange-fg bg-tone-purple-bg bg-tone-purple-fg bg-tone-rose-bg bg-tone-rose-fg");
|
|
60
|
+
@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");
|
|
61
|
+
@source inline("bg-tone-violet-bg bg-tone-violet-fg bg-transparent bg-warning bg-warning/15 bg-warning/5");
|
|
62
|
+
@source inline("bg-warning/8 bg-white block blur border border-0 border-accent border-accent/40 border-accent/50");
|
|
63
|
+
@source inline("border-b border-b-0 border-b-2 border-b-[length:var(--status-glyph-h)] border-b-current");
|
|
64
|
+
@source inline("border-border border-border! border-border-strong border-border/60 border-collapse");
|
|
65
|
+
@source inline("border-current border-destructive/30 border-destructive/40 border-destructive/50");
|
|
66
|
+
@source inline("border-field-border border-rule border-success/30 border-success/40 border-success/50 border-t");
|
|
67
|
+
@source inline("border-tone-sky-fg/30 border-tone-slate-fg/30 border-transparent border-warning/30");
|
|
68
|
+
@source inline("border-warning/40 border-warning/50 border-x-4 border-x-transparent bot bottom bottom-0 break");
|
|
69
|
+
@source inline("break-all break-words c ca cap capitalize co col-span-full com contain container content");
|
|
70
|
+
@source inline("contents cursor cursor-col-resize cursor-default cursor-ew-resize cursor-not-allowed");
|
|
71
|
+
@source inline("cursor-pointer cursor-row-resize d dark dark:bg-card-overlay dark:bg-card-raised");
|
|
72
|
+
@source inline("dark:bg-gray-800 data data-[disabled]:hover:bg-border data-[disabled]:opacity-50");
|
|
73
|
+
@source inline("data-[disabled]:pointer-events-none data-[interactive=true]:duration-[var(--duration-base)]");
|
|
73
74
|
@source inline("data-[interactive=true]:ease-[var(--ease-out)] data-[interactive=true]:hover:-translate-y-0.5");
|
|
74
75
|
@source inline("data-[interactive=true]:hover:border-border-strong data-[interactive=true]:transition-all");
|
|
75
76
|
@source inline("data-[interactive=true]:transition-colors data-[placeholder]:text-muted-foreground");
|
|
76
|
-
@source inline("data-[side=bottom]:slide-in-from-top-
|
|
77
|
-
@source inline("data-[side=
|
|
77
|
+
@source inline("data-[side=bottom]:slide-in-from-top-1 data-[side=bottom]:slide-in-from-top-2");
|
|
78
|
+
@source inline("data-[side=left]:slide-in-from-right-1 data-[side=left]:slide-in-from-right-2");
|
|
79
|
+
@source inline("data-[side=right]:slide-in-from-left-1 data-[side=right]:slide-in-from-left-2");
|
|
80
|
+
@source inline("data-[side=top]:slide-in-from-bottom-1 data-[side=top]:slide-in-from-bottom-2");
|
|
78
81
|
@source inline("data-[state=active]:bg-background data-[state=active]:border-accent");
|
|
79
82
|
@source inline("data-[state=active]:font-semibold data-[state=active]:shadow-raised");
|
|
80
83
|
@source inline("data-[state=active]:text-accent data-[state=active]:text-foreground");
|
|
@@ -83,29 +86,33 @@
|
|
|
83
86
|
@source inline("data-[state=checked]:font-medium data-[state=checked]:ring-1 data-[state=checked]:ring-2");
|
|
84
87
|
@source inline("data-[state=checked]:ring-accent data-[state=checked]:text-white");
|
|
85
88
|
@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
|
|
89
|
+
@source inline("data-[state=closed]:animate-out data-[state=closed]:fade-out-0");
|
|
90
|
+
@source inline("data-[state=closed]:zoom-out-[0.985] data-[state=delayed-open]:animate-in");
|
|
91
|
+
@source inline("data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-[0.985]");
|
|
87
92
|
@source inline("data-[state=indeterminate]:bg-accent-solid data-[state=indeterminate]:border-accent-solid");
|
|
88
93
|
@source inline("data-[state=indeterminate]:text-white data-[state=open]:animate-collapsible-down");
|
|
89
|
-
@source inline("data-[state=open]:animate-in data-[state=open]:fade-in-0
|
|
94
|
+
@source inline("data-[state=open]:animate-in data-[state=open]:fade-in-0");
|
|
95
|
+
@source inline("data-[state=open]:slide-in-from-bottom-2 data-[state=open]:zoom-in-[0.985]");
|
|
90
96
|
@source inline("data-[state=unchecked]:bg-muted data-[state=unchecked]:translate-x-0 disable disabled");
|
|
91
|
-
@source inline("disabled:bg-muted disabled:border-transparent
|
|
92
|
-
@source inline("disabled:hover:bg-transparent disabled:hover:border-border
|
|
93
|
-
@source inline("disabled:opacity-50 disabled:pointer-events-none
|
|
94
|
-
@source inline("divide-border divide-y duration duration-200 duration-300
|
|
95
|
-
@source inline("
|
|
96
|
-
@source inline("
|
|
97
|
-
@source inline("
|
|
98
|
-
@source inline("
|
|
99
|
-
@source inline("
|
|
100
|
-
@source inline("focus-visible:
|
|
101
|
-
@source inline("focus-visible:
|
|
102
|
-
@source inline("focus-visible:ring-
|
|
103
|
-
@source inline("focus-visible:ring-
|
|
104
|
-
@source inline("focus
|
|
105
|
-
@source inline("focus:
|
|
106
|
-
@source inline("
|
|
107
|
-
@source inline("
|
|
108
|
-
@source inline("gap-
|
|
97
|
+
@source inline("disabled:active:scale-100 disabled:bg-muted disabled:border-transparent");
|
|
98
|
+
@source inline("disabled:cursor-not-allowed disabled:hover:bg-transparent disabled:hover:border-border");
|
|
99
|
+
@source inline("disabled:hover:text-muted-foreground disabled:opacity-50 disabled:pointer-events-none");
|
|
100
|
+
@source inline("disabled:text-muted-foreground div divide-border divide-y duration duration-200 duration-300");
|
|
101
|
+
@source inline("duration-[var(--duration-base)] duration-[var(--duration-fast)] duration-[var(--duration-slow)]");
|
|
102
|
+
@source inline("duration-[var(--duration-slow)]! e ease ease-[var(--ease-out)] ease-[var(--ease-out)]! empty");
|
|
103
|
+
@source inline("empty:hidden fade fade-out file file:bg-transparent file:border-0 file:font-medium file:mr-3");
|
|
104
|
+
@source inline("file:text-foreground file:text-sm fill fill-[var(--color-popover)] fill-border fill-current");
|
|
105
|
+
@source inline("filter fix fixed flex flex-1 flex-col flex-none flex-wrap focus focus-visible");
|
|
106
|
+
@source inline("focus-visible:bg-destructive-solid focus-visible:bg-destructive/10 focus-visible:bg-muted");
|
|
107
|
+
@source inline("focus-visible:border-field-ring focus-visible:opacity-100 focus-visible:outline-none");
|
|
108
|
+
@source inline("focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-accent-solid");
|
|
109
|
+
@source inline("focus-visible:ring-destructive focus-visible:ring-field-ring/30 focus-visible:ring-offset-1");
|
|
110
|
+
@source inline("focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:ring-ring");
|
|
111
|
+
@source inline("focus-visible:ring-success focus-visible:text-destructive-foreground focus:bg-accent/10");
|
|
112
|
+
@source inline("focus:bg-destructive/10 focus:outline-none focus:ring-2 focus:ring-accent focus:text-accent");
|
|
113
|
+
@source inline("focus:text-destructive font font-[inherit] font-bold font-medium font-mono font-normal font-sans");
|
|
114
|
+
@source inline("font-semibold gap gap-0 gap-0.5 gap-1 gap-1.5 gap-12 gap-16 gap-2 gap-3 gap-4 gap-6 gap-8 gap-px");
|
|
115
|
+
@source inline("gap-x-0 gap-x-3 gap-x-4 gap-y-0 gap-y-1 gap-y-2 gap-y-4 gap-y-[var(--col-gap)] grid grid-cols-2");
|
|
109
116
|
@source inline("grid-cols-[minmax(0,var(--property-label-w))_minmax(0,1fr)]");
|
|
110
117
|
@source inline("grid-cols-[repeat(auto-fit,minmax(min(var(--cb-grid-min),100%),1fr))] grid-flow-col group");
|
|
111
118
|
@source inline("group-active/sep:opacity-100 group-data-[density=compact]/properties:items-start");
|
|
@@ -125,7 +132,7 @@
|
|
|
125
132
|
@source inline("hover:text-foreground! hover:underline i in inline inline-block inline-flex inline-grid inset");
|
|
126
133
|
@source inline("inset-0 inset-x-0 inset-y-0 invisible is iso isolate it item items items-baseline items-center");
|
|
127
134
|
@source inline("items-end items-start just justify-between justify-center justify-end justify-start l last");
|
|
128
|
-
@source inline("last:border-b-0 lead leading leading-none leading-relaxed leading-snug leading-tight left");
|
|
135
|
+
@source inline("last:border-b-0 lead leading leading-none leading-relaxed leading-snug leading-tight left left-0");
|
|
129
136
|
@source inline("left-1/2 left-2 lg lg:px-8 line line-clamp-2 low lower lowercase m m-0 max max-h max-h-[80vh]");
|
|
130
137
|
@source inline("max-h-[calc(var(--radix-popper-available-height,100dvh)-1rem)]");
|
|
131
138
|
@source inline("max-h-[var(--guide-popover-max-h)] max-h-[var(--radix-select-content-available-height)]");
|
|
@@ -140,7 +147,8 @@
|
|
|
140
147
|
@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]");
|
|
141
148
|
@source inline("min-h-[var(--control-h-lg)] min-h-[var(--control-h-md)] min-h-[var(--control-h-sm)] min-h-row");
|
|
142
149
|
@source inline("min-w-0 min-w-11 min-w-32 min-w-[var(--radix-select-trigger-width)] ml-1 ml-auto motion");
|
|
143
|
-
@source inline("motion-reduce:
|
|
150
|
+
@source inline("motion-reduce:active:scale-100 motion-reduce:animate-none motion-reduce:duration-0");
|
|
151
|
+
@source inline("motion-reduce:transition-none mt-0.5 mt-1 mt-2 mx-auto my my-1 object object-cover opacity");
|
|
144
152
|
@source inline("opacity-0 opacity-30 opacity-40 opacity-50 opacity-60 opacity-70 out outline outline-none over");
|
|
145
153
|
@source inline("overflow overflow-auto overflow-hidden overflow-x-auto overflow-x-clip overflow-y-auto");
|
|
146
154
|
@source inline("overscroll-contain p p-0 p-0.5 p-1 p-1.5 p-2 p-3 p-4 p-6 p-[7px] p-[var(--panel-pad)] pause");
|
|
@@ -157,12 +165,12 @@
|
|
|
157
165
|
@source inline("rounded-sm rounded-xl ru run running s select select-all select-none self-start shadow");
|
|
158
166
|
@source inline("shadow-[var(--shadow-overlay)] shadow-[var(--shadow-popover)] shadow-none shadow-overlay");
|
|
159
167
|
@source inline("shadow-raised shadow-sm shrink shrink-0 size size-0 size-1.5 size-10 size-12 size-14 size-2");
|
|
160
|
-
@source inline("size-2.5 size-20 size-3 size-3.5 size-4 size-5 size-6 size-8
|
|
161
|
-
@source inline("sm:-translate-y-1/2 sm:block sm:
|
|
162
|
-
@source inline("sm:
|
|
163
|
-
@source inline("sm:
|
|
164
|
-
@source inline("sm:max-w-[
|
|
165
|
-
@source inline("sm:
|
|
168
|
+
@source inline("size-2.5 size-20 size-3 size-3.5 size-4 size-5 size-6 size-8 slid slide slide-in-from-left sm");
|
|
169
|
+
@source inline("sm:-translate-x-1/2 sm:-translate-y-1/2 sm:block sm:grid-cols-4 sm:h-[var(--region-h-lg)]");
|
|
170
|
+
@source inline("sm:h-[var(--region-h-md)] sm:h-[var(--region-h-sm)] sm:hidden sm:left-1/2");
|
|
171
|
+
@source inline("sm:max-h-[calc(100dvh-2rem)] sm:max-h-[min(90dvh,calc(100dvh-2rem))] sm:max-w-[calc(100vw-2rem)]");
|
|
172
|
+
@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");
|
|
173
|
+
@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");
|
|
166
174
|
@source inline("sm:w-[calc(100vw-2rem)] space space-y-1 space-y-3 sr-only stat static sticky stroke");
|
|
167
175
|
@source inline("stroke-accent-solid stroke-destructive stroke-muted stroke-warning t ta tab table tabular-nums");
|
|
168
176
|
@source inline("text text-2xl text-[length:var(--text-glyph-relative)] text-[var(--foreground)]");
|
|
@@ -175,7 +183,8 @@
|
|
|
175
183
|
@source inline("text-tone-sky-fg text-tone-slate-fg text-tone-teal-fg text-tone-violet-fg text-warning");
|
|
176
184
|
@source inline("text-warning-strong text-white text-xs to top top-0 top-1/2 top-2 touch touch-manipulation");
|
|
177
185
|
@source inline("touch-none track tracking tracking-tight tracking-wide tracking-wider transform transition");
|
|
178
|
-
@source inline("transition-[
|
|
186
|
+
@source inline("transition-[color,background-color,border-color,box-shadow,scale] transition-[stroke-dashoffset]");
|
|
187
|
+
@source inline("transition-[transform,width] transition-[width] transition-all transition-colors");
|
|
179
188
|
@source inline("transition-opacity transition-transform translate-x-1/2 translate-y-1/2 truncate under underline");
|
|
180
189
|
@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");
|
|
181
190
|
@source inline("w-3/4 w-4 w-6 w-7 w-8 w-9 w-[calc(100vw-2rem)] w-[var(--control-h-lg)] w-[var(--control-h-md)]");
|
|
@@ -186,11 +195,11 @@
|
|
|
186
195
|
/*
|
|
187
196
|
* Theme variables cursedbelt's components read BY NAME (`var(--color-card)` in a style prop).
|
|
188
197
|
* Tailwind emits a theme variable only when the app's own pass sees it used, and a `var()` here is
|
|
189
|
-
* that use — `@source inline` cannot mark one.
|
|
198
|
+
* that use — `@source inline` cannot mark one. 13 variable(s), derived by
|
|
190
199
|
* scripts/generateUtilityStyles.ts → themeVariablesReadByName(). Nothing reads this property.
|
|
191
200
|
*/
|
|
192
201
|
@layer theme {
|
|
193
202
|
:root, :host {
|
|
194
|
-
--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);
|
|
203
|
+
--cb-theme-read-by-name: var(--color-accent) var(--color-border) var(--color-card) var(--color-muted) var(--color-popover) var(--duration-base) var(--duration-slow) var(--ease-out) var(--press-scale) var(--press-scale-surface) var(--spacing) var(--text-caption) var(--text-sm);
|
|
195
204
|
}
|
|
196
205
|
}
|
|
@@ -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
|
+
* 161 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
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
@source inline("focus-visible:ring-field-ring/40 focus-within:border-field-ring focus-within:ring-2");
|
|
44
44
|
@source inline("focus-within:ring-field-ring/30 from-card gap-x-6 h-105");
|
|
45
45
|
@source inline("has-[[aria-invalid=true]]:border-field-error hover:bg-background hover:bg-muted/40");
|
|
46
|
-
@source inline("hover:border-field-ring hover:text-warning justify-self-end last:border-0 left-
|
|
47
|
-
@source inline("
|
|
46
|
+
@source inline("hover:border-field-ring hover:text-warning justify-self-end last:border-0 left-11 left-2.5");
|
|
47
|
+
@source inline("list-none max-h-64 max-h-88 max-h-[var(--sheet-h-lg)] max-h-[var(--sheet-h-md)]");
|
|
48
48
|
@source inline("max-h-[var(--sheet-h-sm)] max-sm:flex-1 max-sm:flex-wrap max-sm:min-w-0 max-sm:min-w-24");
|
|
49
49
|
@source inline("max-sm:min-w-32 max-sm:ml-13.5 max-sm:w-auto max-w-32 max-w-36 max-w-45 max-w-48 max-w-60");
|
|
50
50
|
@source inline("max-w-sm min-h-20 min-h-dvh min-w-0! min-w-24 min-w-52 min-w-[var(--anchor-width)] min-w-max");
|
|
@@ -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
|
+
* 120 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
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
@source inline("focus-within:ring-2 focus-within:ring-field-ring/30 focus-within:ring-offset-1");
|
|
41
41
|
@source inline("focus-within:ring-ring group-focus-within:opacity-100 h-105 h-12 h-3.5");
|
|
42
42
|
@source inline("has-[[aria-invalid=true]]:border-field-error hover:bg-muted/50 hover:border-field-ring");
|
|
43
|
-
@source inline("hover:scale-110 hover:text-warning italic leading-5 left-
|
|
43
|
+
@source inline("hover:scale-110 hover:text-warning italic leading-5 left-2.5 li list-none max-h-64");
|
|
44
44
|
@source inline("max-h-[var(--sheet-h-lg)] max-h-[var(--sheet-h-md)] max-h-[var(--sheet-h-sm)] max-w-sm");
|
|
45
45
|
@source inline("md:flex-col md:gap-0.5 md:justify-start md:overflow-visible md:text-left md:w-full min-h-20");
|
|
46
46
|
@source inline("min-w-24 min-w-64 min-w-[var(--anchor-width)] min-w-full min-w-max mix-blend-difference mr-2");
|
|
@@ -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
|
+
* 80 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,9 +30,9 @@
|
|
|
30
30
|
@source inline("bg-linear-to-t bg-white/90 border-2 border-accent-solid border-white/90 border-y-2 bottom-1");
|
|
31
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
|
-
@source inline("hover:bg-black/75 hover:bg-destructive hover:bg-white/20 hover:border-accent-solid invert left-
|
|
34
|
-
@source inline("
|
|
35
|
-
@source inline("min-w-
|
|
33
|
+
@source inline("hover:bg-black/75 hover:bg-destructive hover:bg-white/20 hover:border-accent-solid invert left-1");
|
|
34
|
+
@source inline("max-h-[40vh] max-h-[var(--media-max-h)] max-h-full max-w-50 min-h-64 min-h-dvh min-w-10 min-w-28");
|
|
35
|
+
@source inline("min-w-40 min-w-48 o op opacity-100 opacity-80 pr-9 pt-8 right-1 right-1.5 right-3 sh");
|
|
36
36
|
@source inline("shadow-[0_0_0_1px_rgba(0,0,0,0.55)] size-7 size-9 sm:gap-3 sm:grid-cols-3");
|
|
37
37
|
@source inline("text-[color:var(--accent)] text-xl to-transparent top-1 top-1.5 translate translate-x-px w-12");
|
|
38
38
|
@source inline("w-3 zoom zoom-in");
|
package/src/styles-areas/nav.css
CHANGED
|
@@ -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
|
+
* 142 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
|
|
@@ -37,20 +37,20 @@
|
|
|
37
37
|
@source inline("data-[selected=true]:text-foreground data-[state=closed]:slide-out-to-bottom");
|
|
38
38
|
@source inline("data-[state=closed]:slide-out-to-left data-[state=closed]:slide-out-to-right");
|
|
39
39
|
@source inline("data-[state=open]:slide-in-from-bottom data-[state=open]:slide-in-from-left");
|
|
40
|
-
@source inline("data-[state=open]:slide-in-from-right
|
|
41
|
-
@source inline("
|
|
42
|
-
@source inline("group-hover/
|
|
43
|
-
@source inline("h-[var(--header-h
|
|
44
|
-
@source inline("hover:
|
|
45
|
-
@source inline("inset-
|
|
46
|
-
@source inline("lg:
|
|
47
|
-
@source inline("max-h-[var(--
|
|
48
|
-
@source inline("max-
|
|
49
|
-
@source inline("max-sm:
|
|
50
|
-
@source inline("
|
|
51
|
-
@source inline("
|
|
52
|
-
@source inline("
|
|
53
|
-
@source inline("
|
|
54
|
-
@source inline("
|
|
55
|
-
@source inline("sm:inline-
|
|
56
|
-
@source inline("w-[
|
|
40
|
+
@source inline("data-[state=open]:slide-in-from-right disabled:hover:scale-100 disabled:opacity-40");
|
|
41
|
+
@source inline("focus-within:opacity-100 g grid-cols-4 group-hover/navitem:opacity-100");
|
|
42
|
+
@source inline("group-hover/tile:opacity-100 group/navitem group/tile h-12 h-[var(--header-h)]");
|
|
43
|
+
@source inline("h-[var(--header-h-dense)] h-[var(--header-h-roomy)] h-dvh hover:border-foreground/20");
|
|
44
|
+
@source inline("hover:decoration-border hover:scale-110 hover:underline-offset-4 inset-x-2 inset-x-3 inset-y-1");
|
|
45
|
+
@source inline("inset-y-1.5 items-stretch justify-around leading-4 left-3 lg:flex lg:flex-col lg:hidden");
|
|
46
|
+
@source inline("lg:shrink-0 list-none max-h-72 max-h-[inherit] max-h-[var(--palette-max-h)]");
|
|
47
|
+
@source inline("max-h-[var(--sheet-h-lg)] max-h-[var(--sheet-h-md)] max-h-[var(--sheet-h-sm)] max-md:-right-0.5");
|
|
48
|
+
@source inline("max-md:-top-0.5 max-md:absolute max-md:hidden max-sm:flex-none max-sm:justify-center max-sm:px-0");
|
|
49
|
+
@source inline("max-sm:w-10 max-w max-w-48 max-w-64 max-w-80 max-w-sm md:flex md:flex-col md:gap-4 md:hidden");
|
|
50
|
+
@source inline("md:pointer-coarse:w-auto md:px-3 md:px-6 md:shrink-0 min-h-10 min-h-12 min-h-dvh min-w-3.5");
|
|
51
|
+
@source inline("min-w-8 min-w-9 mix-blend-difference mt-auto mx-1 no-underline opacity-55 opacity-80");
|
|
52
|
+
@source inline("pb-[env(safe-area-inset-bottom,0px)] pl-11 pl-9 place-items-center");
|
|
53
|
+
@source inline("placeholder:text-muted-foreground pr-3 pr-9 pt-0 pt-1 px-0.5 py-8 right-1 rotate-180");
|
|
54
|
+
@source inline("rounded-l-xl rounded-r-xl rounded-t-xl shadow-lg size-7 size-9 sm:inline sm:inline-block");
|
|
55
|
+
@source inline("sm:inline-flex space-y-0.5 space-y-2 top-[var(--palette-top)] w-52 w-56 w-60 w-[calc(100%-2rem)]");
|
|
56
|
+
@source inline("w-[var(--rail-w)] w-[var(--rail-w-collapsed)] w-max");
|
|
@@ -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
|
+
* 23 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("
|
|
31
|
+
@source inline("max-h-[var(--radix-popover-content-available-height)] max-h-[var(--sheet-h-lg)]");
|
|
32
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
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
|
+
* 23 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
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
@source inline("[&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:tracking-wide");
|
|
30
30
|
@source inline("[&_[cmdk-group-heading]]:uppercase [&_svg]:size-3.5 bg-accent/15 border-dashed");
|
|
31
31
|
@source inline("data-[disabled=true]:opacity-50 data-[disabled=true]:pointer-events-none");
|
|
32
|
-
@source inline("data-[selected=true]:bg-muted data-[selected=true]:text-foreground");
|
|
33
|
-
@source inline("
|
|
34
|
-
@source inline("
|
|
35
|
-
@source inline("w-[calc(100%-2rem)]");
|
|
32
|
+
@source inline("data-[selected=true]:bg-muted data-[selected=true]:text-foreground h-12");
|
|
33
|
+
@source inline("max-h-[var(--palette-max-h)] mx-1 place-items-center placeholder:text-muted-foreground py-8");
|
|
34
|
+
@source inline("sm:inline-block top-[var(--palette-top)] w-[calc(100%-2rem)]");
|