cursedbelt 5.106.0 → 5.106.1
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/components/Page.d.ts.map +1 -1
- package/dist/react/components/Page.js +2 -2
- package/dist/react/components/Page.js.map +1 -1
- package/dist/styles-areas/analytics.css +2 -2
- package/package.json +2 -2
- package/src/react/components/Page.spec.tsx +15 -0
- package/src/react/components/Page.tsx +4 -2
- package/src/styles-areas/analytics.css +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/react/components/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAiD,MAAM,OAAO,CAAC;AAM1H;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAEvE;AAED;;;GAGG;AACH,QAAA,MAAM,UAAU;IACd,qDAAqD;;;;;IAErD,6DAA6D;;;;;IAE7D,yEAAyE;;;;;IAEzE;;;;;;OAMG;;;;;IAEH,0EAA0E;;;;;CAElE,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAC;AAEhD;;;iDAGiD;AACjD,eAAO,MAAM,eAAe,kCAAuB,CAAC;AAEpD,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE;uDACmD;IACnD,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;sEACsE;AACtE,wBAAgB,aAAa,CAAC,EAAE,KAAmB,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,kBAAkB,+BAYzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAWjF;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;gEAC4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;yEAGqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB;;uFAEmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;mEAE+D;IAC/D,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAa,EACb,aAAoB,EACpB,OAAgB,EAChB,MAAc,EACd,KAAS,EACT,SAAS,EACT,GAAG,IAAI,EACR,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/react/components/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAiD,MAAM,OAAO,CAAC;AAM1H;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAEvE;AAED;;;GAGG;AACH,QAAA,MAAM,UAAU;IACd,qDAAqD;;;;;IAErD,6DAA6D;;;;;IAE7D,yEAAyE;;;;;IAEzE;;;;;;OAMG;;;;;IAEH,0EAA0E;;;;;CAElE,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAC;AAEhD;;;iDAGiD;AACjD,eAAO,MAAM,eAAe,kCAAuB,CAAC;AAEpD,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE;uDACmD;IACnD,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;sEACsE;AACtE,wBAAgB,aAAa,CAAC,EAAE,KAAmB,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,kBAAkB,+BAYzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAWjF;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;gEAC4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;yEAGqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB;;uFAEmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;mEAE+D;IAC/D,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAa,EACb,aAAoB,EACpB,OAAgB,EAChB,MAAc,EACd,KAAS,EACT,SAAS,EACT,GAAG,IAAI,EACR,EAAE,eAAe,sCAiEjB"}
|
|
@@ -82,7 +82,7 @@ export function PageHeader({ title, leading, subtitle, meta, actions, guide, den
|
|
|
82
82
|
const inContainer = useContext(InPageContainer);
|
|
83
83
|
if (titleIn === 'bar' && !subtitle && !meta && !actions && !guide && leading == null)
|
|
84
84
|
return null;
|
|
85
|
-
const titleBlock = titleIn === 'bar' ? (_jsxs("div", { className: 'flex min-w-0 items-center gap-2 [&_[data-cb-page-subtitle]]:mt-0', children: [subtitle ? _jsx(PageSubtitle, { dense: dense, children: subtitle }) : null, meta ? _jsx("span", { className: 'flex shrink-0 items-center gap-1.5', children: meta }) : null] })) : (_jsxs("div", { className: 'min-w-0', children: [_jsxs("div", { className: 'flex min-w-0 flex-wrap items-baseline gap-x-3 gap-y-1', children: [_jsx(Heading, { className: cn('font-bold tracking-tight text-foreground', dense ? 'text-h3' : cn('text-h1', SHORT_LANDSCAPE_TITLE), !titleOnMobile && 'hidden sm:block'), children: title }), meta && _jsx("span", { className: 'flex flex-wrap items-center gap-1.5', children: meta })] }), subtitle && _jsx(PageSubtitle, { dense: dense, children: subtitle })] }));
|
|
85
|
+
const titleBlock = titleIn === 'bar' ? (_jsxs("div", { className: 'flex min-w-0 flex-1 items-center gap-2 [&_[data-cb-page-subtitle]]:mt-0', children: [subtitle ? _jsx(PageSubtitle, { dense: dense, children: subtitle }) : null, meta ? _jsx("span", { className: 'flex shrink-0 items-center gap-1.5', children: meta }) : null] })) : (_jsxs("div", { className: 'min-w-0', children: [_jsxs("div", { className: 'flex min-w-0 flex-wrap items-baseline gap-x-3 gap-y-1', children: [_jsx(Heading, { className: cn('font-bold tracking-tight text-foreground', dense ? 'text-h3' : cn('text-h1', SHORT_LANDSCAPE_TITLE), !titleOnMobile && 'hidden sm:block'), children: title }), meta && _jsx("span", { className: 'flex flex-wrap items-center gap-1.5', children: meta })] }), subtitle && _jsx(PageSubtitle, { dense: dense, children: subtitle })] }));
|
|
86
86
|
return (_jsxs(Split, { ...rest, className: cn(
|
|
87
87
|
// Wrap on narrow screens so the actions drop below the title instead of
|
|
88
88
|
// pushing off-viewport (phone-overflow bug class).
|
|
@@ -91,7 +91,7 @@ export function PageHeader({ title, leading, subtitle, meta, actions, guide, den
|
|
|
91
91
|
// took a quarter of it. Owner, 2026-10-10, collections on an iPhone: *"landscape view
|
|
92
92
|
// has the scrollable content area too short … the outer rows should be much shorter."*
|
|
93
93
|
// One tight line there: the same title, at h3 scale (below).
|
|
94
|
-
!dense && SHORT_LANDSCAPE_PAD, titleIn === 'bar' && 'py-2', sticky && 'sticky top-0 z-20 bg-background/90 backdrop-blur-md', className), children: [leading != null ? (_jsxs("div", { className: 'flex min-w-0 items-center gap-2', children: [_jsx("span", { "data-cb-page-header-leading": '', className: 'flex shrink-0 items-center', children: leading }), titleBlock] })) : (titleBlock), (actions || guide) && (_jsxs("div", { className: 'flex items-center gap-2', children: [guide ? _jsx(PageGuideButton, { children: guide }) : null, actions] }))] }));
|
|
94
|
+
!dense && SHORT_LANDSCAPE_PAD, titleIn === 'bar' && 'py-2', sticky && 'sticky top-0 z-20 bg-background/90 backdrop-blur-md', className), children: [leading != null ? (_jsxs("div", { className: cn('flex min-w-0 items-center gap-2', titleIn === 'bar' && 'flex-1'), children: [_jsx("span", { "data-cb-page-header-leading": '', className: 'flex shrink-0 items-center', children: leading }), titleBlock] })) : (titleBlock), (actions || guide) && (_jsxs("div", { className: 'flex items-center gap-2', children: [guide ? _jsx(PageGuideButton, { children: guide }) : null, actions] }))] }));
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
97
|
* The subtitle's one line. Measured, not guessed: when the text is wider than the line it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/react/components/Page.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/react/components/Page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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
|
+
* 149 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
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
@source inline("@max-4xl:invisible @max-4xl:min-w-0! @max-4xl:p-0! @max-4xl:text-[length:0] @max-4xl:w-0!");
|
|
32
32
|
@source inline("@max-6xl:[&>*]:hidden @max-6xl:border-0 @max-6xl:invisible @max-6xl:min-w-0! @max-6xl:p-0!");
|
|
33
33
|
@source inline("@max-6xl:text-[length:0] @max-6xl:w-0! @max-xl:contents @xl:basis-auto @xl:block @xl:hidden");
|
|
34
|
-
@source inline("[&>*]:hidden [&>*]:max-w-none [&>svg]:size-3.5 active:cursor-grabbing basis
|
|
34
|
+
@source inline("[&>*]:hidden [&>*]:max-w-none [&>svg]:size-3.5 active:cursor-grabbing basis-full");
|
|
35
35
|
@source inline("bg-[var(--cb-frozen-bg)] bg-accent/15 bg-card/95 bg-gradient-to-t bg-muted/30 bg-muted/50");
|
|
36
36
|
@source inline("border-accent-solid border-accent/60 border-b-0! border-field-error border-solid border-t-2 col");
|
|
37
37
|
@source inline("collapse cursor-grab disabled:opacity-30 disabled:opacity-40 fade-in");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cursedbelt",
|
|
3
|
-
"version": "5.106.
|
|
3
|
+
"version": "5.106.1",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.",
|
|
@@ -965,7 +965,7 @@
|
|
|
965
965
|
"@types/react-dom": "^19.2.3",
|
|
966
966
|
"@vidstack/react": "1.15.6",
|
|
967
967
|
"@vitejs/plugin-react": "^5.2.0",
|
|
968
|
-
"cursedbelt-server": "^4.
|
|
968
|
+
"cursedbelt-server": "^4.60.0",
|
|
969
969
|
"cursedops": "^0.23.0",
|
|
970
970
|
"diff": "^9.0.0",
|
|
971
971
|
"emoji-mart": "^5.6.0",
|
|
@@ -107,6 +107,21 @@ describe('PageHeader — titleIn="bar": the shell\'s top bar names the page', ()
|
|
|
107
107
|
expect(getByText('New')).toBeTruthy();
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
+
// happy-dom lays nothing out, so this holds the cause; collections' `e2e/layout.browser.test.ts`
|
|
111
|
+
// holds the row, at 390px, on its Add files page.
|
|
112
|
+
test('a long sentence gives way to the actions instead of wrapping them to a second row', () => {
|
|
113
|
+
for (const leading of [undefined, <span key='back'>Back</span>]) {
|
|
114
|
+
const { container, getByText, unmount } = render(
|
|
115
|
+
<PageHeader title='Add files' titleIn='bar' subtitle='A sentence wider than a phone.' leading={leading} actions={<span>New</span>} />,
|
|
116
|
+
);
|
|
117
|
+
const row = container.firstElementChild as HTMLElement;
|
|
118
|
+
const first = row.firstElementChild as HTMLElement;
|
|
119
|
+
expect(first.className.split(' ')).toContain('flex-1');
|
|
120
|
+
expect(getByText('New').parentElement?.className).not.toContain('flex-1');
|
|
121
|
+
unmount();
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
|
|
110
125
|
test('with nothing left it draws nothing, not an empty ruled band', () => {
|
|
111
126
|
const { container } = render(<PageHeader title='Recycle bin' titleIn='bar' />);
|
|
112
127
|
expect(container.firstChild).toBeNull();
|
|
@@ -189,7 +189,9 @@ export function PageHeader({
|
|
|
189
189
|
if (titleIn === 'bar' && !subtitle && !meta && !actions && !guide && leading == null) return null;
|
|
190
190
|
const titleBlock =
|
|
191
191
|
titleIn === 'bar' ? (
|
|
192
|
-
|
|
192
|
+
// `flex-1` is a zero basis: without it the sentence's whole width is what `Split` wraps on, and
|
|
193
|
+
// a clipped subtitle sends the Guide button to a second row of the header the bar was to shorten.
|
|
194
|
+
<div className='flex min-w-0 flex-1 items-center gap-2 [&_[data-cb-page-subtitle]]:mt-0'>
|
|
193
195
|
{subtitle ? <PageSubtitle dense={dense}>{subtitle}</PageSubtitle> : null}
|
|
194
196
|
{meta ? <span className='flex shrink-0 items-center gap-1.5'>{meta}</span> : null}
|
|
195
197
|
</div>
|
|
@@ -229,7 +231,7 @@ export function PageHeader({
|
|
|
229
231
|
)}
|
|
230
232
|
>
|
|
231
233
|
{leading != null ? (
|
|
232
|
-
<div className='flex min-w-0 items-center gap-2'>
|
|
234
|
+
<div className={cn('flex min-w-0 items-center gap-2', titleIn === 'bar' && 'flex-1')}>
|
|
233
235
|
<span data-cb-page-header-leading='' className='flex shrink-0 items-center'>
|
|
234
236
|
{leading}
|
|
235
237
|
</span>
|
|
@@ -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
|
+
* 149 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
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
@source inline("@max-4xl:invisible @max-4xl:min-w-0! @max-4xl:p-0! @max-4xl:text-[length:0] @max-4xl:w-0!");
|
|
32
32
|
@source inline("@max-6xl:[&>*]:hidden @max-6xl:border-0 @max-6xl:invisible @max-6xl:min-w-0! @max-6xl:p-0!");
|
|
33
33
|
@source inline("@max-6xl:text-[length:0] @max-6xl:w-0! @max-xl:contents @xl:basis-auto @xl:block @xl:hidden");
|
|
34
|
-
@source inline("[&>*]:hidden [&>*]:max-w-none [&>svg]:size-3.5 active:cursor-grabbing basis
|
|
34
|
+
@source inline("[&>*]:hidden [&>*]:max-w-none [&>svg]:size-3.5 active:cursor-grabbing basis-full");
|
|
35
35
|
@source inline("bg-[var(--cb-frozen-bg)] bg-accent/15 bg-card/95 bg-gradient-to-t bg-muted/30 bg-muted/50");
|
|
36
36
|
@source inline("border-accent-solid border-accent/60 border-b-0! border-field-error border-solid border-t-2 col");
|
|
37
37
|
@source inline("collapse cursor-grab disabled:opacity-30 disabled:opacity-40 fade-in");
|