cursedbelt 5.34.0 → 5.35.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/file-tree/FileTree.d.ts +27 -1
- package/dist/react/file-tree/FileTree.d.ts.map +1 -1
- package/dist/react/file-tree/FileTree.js +183 -9
- package/dist/react/file-tree/FileTree.js.map +1 -1
- package/dist/react/file-tree/FolderViewMenus.d.ts +88 -0
- package/dist/react/file-tree/FolderViewMenus.d.ts.map +1 -0
- package/dist/react/file-tree/FolderViewMenus.js +121 -0
- package/dist/react/file-tree/FolderViewMenus.js.map +1 -0
- package/dist/react/file-tree/FolderViewPanels.d.ts +78 -0
- package/dist/react/file-tree/FolderViewPanels.d.ts.map +1 -0
- package/dist/react/file-tree/FolderViewPanels.js +155 -0
- package/dist/react/file-tree/FolderViewPanels.js.map +1 -0
- package/dist/react/file-tree/fileTree.css +146 -0
- package/dist/react/file-tree/folderView.d.ts +117 -0
- package/dist/react/file-tree/folderView.d.ts.map +1 -0
- package/dist/react/file-tree/folderView.js +230 -0
- package/dist/react/file-tree/folderView.js.map +1 -0
- package/dist/react/file-tree/folderViewPanels.css +217 -0
- package/dist/react/file-tree/index.d.ts +2 -0
- package/dist/react/file-tree/index.d.ts.map +1 -1
- package/dist/react/file-tree/index.js +9 -0
- package/dist/react/file-tree/index.js.map +1 -1
- package/dist/react/file-tree/useFolderView.d.ts +56 -0
- package/dist/react/file-tree/useFolderView.d.ts.map +1 -0
- package/dist/react/file-tree/useFolderView.js +79 -0
- package/dist/react/file-tree/useFolderView.js.map +1 -0
- package/dist/react/filter-rail/FilterRail.d.ts +7 -0
- package/dist/react/filter-rail/FilterRail.d.ts.map +1 -1
- package/dist/react/filter-rail/FilterRail.js +8 -1
- package/dist/react/filter-rail/FilterRail.js.map +1 -1
- package/dist/react/filter-rail/RailSection.d.ts +7 -1
- package/dist/react/filter-rail/RailSection.d.ts.map +1 -1
- package/dist/react/filter-rail/RailSection.js +5 -3
- package/dist/react/filter-rail/RailSection.js.map +1 -1
- package/dist/react/filter-rail/headerContextMenu.d.ts +8 -0
- package/dist/react/filter-rail/headerContextMenu.d.ts.map +1 -0
- package/dist/react/filter-rail/headerContextMenu.js +31 -0
- package/dist/react/filter-rail/headerContextMenu.js.map +1 -0
- package/dist/react/media/denseGallery.css +46 -0
- package/dist/react/media-gallery/rememberedPreference.d.ts +10 -1
- package/dist/react/media-gallery/rememberedPreference.d.ts.map +1 -1
- package/dist/react/media-gallery/rememberedPreference.js +12 -3
- package/dist/react/media-gallery/rememberedPreference.js.map +1 -1
- package/package.json +1 -1
- package/scripts/guardrails-baseline.json +1 -1
- package/src/react/file-tree/FileTree.tsx +323 -4
- package/src/react/file-tree/FolderViewMenus.tsx +242 -0
- package/src/react/file-tree/FolderViewPanels.tsx +402 -0
- package/src/react/file-tree/fileTree.css +146 -0
- package/src/react/file-tree/folderView.spec.ts +174 -0
- package/src/react/file-tree/folderView.ts +316 -0
- package/src/react/file-tree/folderViewPanels.css +217 -0
- package/src/react/file-tree/folderViewTree.spec.tsx +252 -0
- package/src/react/file-tree/index.ts +14 -0
- package/src/react/file-tree/useFolderView.ts +152 -0
- package/src/react/filter-rail/FilterRail.tsx +35 -6
- package/src/react/filter-rail/RailSection.tsx +10 -2
- package/src/react/filter-rail/headerContextMenu.spec.tsx +62 -0
- package/src/react/filter-rail/headerContextMenu.ts +37 -0
- package/src/react/media/denseGallery.css +46 -0
- package/src/react/media-gallery/rememberedPreference.ts +10 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterRail.d.ts","sourceRoot":"","sources":["../../../src/react/filter-rail/FilterRail.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterRail.d.ts","sourceRoot":"","sources":["../../../src/react/filter-rail/FilterRail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { cn } from '../lib/cn.js';
|
|
|
5
5
|
import { Tooltip } from '../components/Tooltip.js';
|
|
6
6
|
import { TAP_TARGET, TAP_TARGET_ALWAYS, TAP_TARGET_HEIGHT } from '../lib/tapTarget.js';
|
|
7
7
|
import { RailResizeHandle, useRailResize } from './railResize.js';
|
|
8
|
+
import { useHeaderContextMenu } from './headerContextMenu.js';
|
|
8
9
|
import { RailSection } from './RailSection.js';
|
|
9
10
|
/**
|
|
10
11
|
* The rail's body — one long scroller, or a flex column that hands its leftover height to a
|
|
@@ -83,7 +84,7 @@ export function FilterRail({ sections, selected, onSelect, label, collapsed = fa
|
|
|
83
84
|
// `fill` means), so it owns its own inset too: the tree indents its ROWS with
|
|
84
85
|
// `--cbft-inset`, which is why the row text still lines up under the section
|
|
85
86
|
// heading above it. The heading keeps its own `px-2` and is unaffected.
|
|
86
|
-
section.fill && 'flex min-h-0 flex-1 flex-col -mx-2'), children: section.label && section.collapsible && !collapsed ? (_jsxs(RailSection, { label: section.label, action: section.action, persistKey: section.persistKey, defaultOpen: section.defaultOpen, headerClassName: 'px-1', className: cn(section.fill && 'flex min-h-0 flex-1 flex-col'), contentClassName: cn(section.fill && 'flex min-h-0 flex-1 flex-col'), children: [sectionRows(section, selected, onSelect, collapsed), section.children] })) : (_jsxs(_Fragment, { children: [section.label && !collapsed ? (
|
|
87
|
+
section.fill && 'flex min-h-0 flex-1 flex-col -mx-2'), children: section.label && section.collapsible && !collapsed ? (_jsxs(RailSection, { label: section.label, action: section.action, persistKey: section.persistKey, defaultOpen: section.defaultOpen, headerClassName: 'px-1', ...(section.onHeaderContextMenu ? { onHeaderContextMenu: section.onHeaderContextMenu } : {}), className: cn(section.fill && 'flex min-h-0 flex-1 flex-col'), contentClassName: cn(section.fill && 'flex min-h-0 flex-1 flex-col'), children: [sectionRows(section, selected, onSelect, collapsed), section.children] })) : (_jsxs(_Fragment, { children: [section.label && !collapsed ? (_jsx(SectionHeading, { label: section.label, action: section.action, onContextMenu: section.onHeaderContextMenu })) : null, section.label && collapsed ? (_jsx("div", { "aria-hidden": 'true', className: 'mx-2 mb-1 border-t border-rule' })) : null, sectionRows(section, selected, onSelect, collapsed), !collapsed ? section.children : null] })) }, section.id))) }), footer && !collapsed ? (_jsx("div", { className: 'flex-none border-t border-rule px-2 py-2', children: footer })) : null] }));
|
|
87
88
|
}
|
|
88
89
|
/** A section's flat rows — the one list both the plain and the collapsible heading draw. */
|
|
89
90
|
function sectionRows(section, selected, onSelect, collapsed) {
|
|
@@ -183,4 +184,10 @@ function FilterRailButton({ item, active, collapsed, onSelect, title, }) {
|
|
|
183
184
|
// square is none at all. `title` carries the real name.
|
|
184
185
|
!item.icon && typeof item.label === 'string' ? (_jsx("span", { "aria-hidden": 'true', className: 'text-xs font-semibold', children: item.label.slice(0, 1).toUpperCase() })) : null) : (_jsxs(_Fragment, { children: [_jsxs("span", { className: 'flex min-w-0 flex-1 flex-col', children: [_jsx("span", { className: 'truncate', children: item.label }), item.meta ? (_jsx("span", { className: 'truncate text-caption text-muted-foreground', children: item.meta })) : null] }), item.count !== undefined ? (_jsx("span", { className: 'shrink-0 text-xs tabular-nums text-muted-foreground', children: item.count })) : null, item.accessory ? _jsx("span", { className: 'shrink-0', children: item.accessory }) : null] })), collapsed && title ? _jsx("span", { className: 'sr-only', children: title }) : null] }) }));
|
|
185
186
|
}
|
|
187
|
+
/** A plain (non-collapsible) section's heading row — its own component for the ref the
|
|
188
|
+
* right-click listener needs (see `headerContextMenu.ts`). */
|
|
189
|
+
function SectionHeading({ label, action, onContextMenu, }) {
|
|
190
|
+
const ref = useHeaderContextMenu(onContextMenu);
|
|
191
|
+
return (_jsxs("div", { ref: ref, className: 'flex items-center justify-between gap-1 px-2 pt-1 pb-1', children: [_jsx("span", { className: 'truncate text-xs font-semibold uppercase tracking-wide text-muted-foreground', children: label }), action] }));
|
|
192
|
+
}
|
|
186
193
|
//# sourceMappingURL=FilterRail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterRail.js","sourceRoot":"","sources":["../../../src/react/filter-rail/FilterRail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterRail.js","sourceRoot":"","sources":["../../../src/react/filter-rail/FilterRail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
+
import { type HeaderContextMenuHandler } from './headerContextMenu.js';
|
|
2
3
|
/**
|
|
3
4
|
* One named, collapsible group of a sidebar — "Library", "Playlists", "Tags", "Folders".
|
|
4
5
|
*
|
|
@@ -45,6 +46,11 @@ export interface RailSectionProps {
|
|
|
45
46
|
headerClassName?: string;
|
|
46
47
|
/** Classes for the body wrapper. */
|
|
47
48
|
contentClassName?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Right-click (and ⌃-click) on the heading row — the file tree's view menu, when the section
|
|
51
|
+
* holds one (`useFolderView().onContextMenu`). See `headerContextMenu.ts`.
|
|
52
|
+
*/
|
|
53
|
+
onHeaderContextMenu?: HeaderContextMenuHandler;
|
|
48
54
|
}
|
|
49
55
|
/**
|
|
50
56
|
* The open state of a remembered section: `localStorage` under `key`, re-read when the app seeds
|
|
@@ -52,5 +58,5 @@ export interface RailSectionProps {
|
|
|
52
58
|
* plain default — the hook is still called unconditionally, so a section may gain a key later.
|
|
53
59
|
*/
|
|
54
60
|
export declare function useRailSectionOpen(key: string | undefined, defaultOpen?: boolean): [open: boolean, setOpen: (open: boolean) => void];
|
|
55
|
-
export declare function RailSection({ label, children, action, open: controlledOpen, onOpenChange, persistKey, defaultOpen, collapsible, className, headerClassName, contentClassName, }: RailSectionProps): ReactNode;
|
|
61
|
+
export declare function RailSection({ label, children, action, open: controlledOpen, onOpenChange, persistKey, defaultOpen, collapsible, className, headerClassName, contentClassName, onHeaderContextMenu, }: RailSectionProps): ReactNode;
|
|
56
62
|
//# sourceMappingURL=RailSection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RailSection.d.ts","sourceRoot":"","sources":["../../../src/react/filter-rail/RailSection.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAgC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"RailSection.d.ts","sourceRoot":"","sources":["../../../src/react/filter-rail/RailSection.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAgC,MAAM,OAAO,CAAC;AAIrE,OAAO,EAAE,KAAK,wBAAwB,EAAwB,MAAM,wBAAwB,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,oFAAoF;IACpF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;CAChD;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,WAAW,UAAO,GACjB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,CAKnD;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,UAAU,EACV,WAAkB,EAClB,WAAkB,EAClB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,EAAE,gBAAgB,GAAG,SAAS,CAwE9B"}
|
|
@@ -4,6 +4,7 @@ import { useCallback, useId, useState } from 'react';
|
|
|
4
4
|
import { useRememberedPreference } from '../media-gallery/rememberedPreference.js';
|
|
5
5
|
import { cn } from '../lib/cn.js';
|
|
6
6
|
import { TAP_TARGET_HEIGHT } from '../lib/tapTarget.js';
|
|
7
|
+
import { useHeaderContextMenu } from './headerContextMenu.js';
|
|
7
8
|
/** The stored value for "shut". Anything else — absent included — is the section's default. */
|
|
8
9
|
const SHUT = 'closed';
|
|
9
10
|
const OPEN = 'open';
|
|
@@ -18,7 +19,8 @@ export function useRailSectionOpen(key, defaultOpen = true) {
|
|
|
18
19
|
const setOpen = useCallback((next) => setStored(next ? OPEN : SHUT), [setStored]);
|
|
19
20
|
return [open, setOpen];
|
|
20
21
|
}
|
|
21
|
-
export function RailSection({ label, children, action, open: controlledOpen, onOpenChange, persistKey, defaultOpen = true, collapsible = true, className, headerClassName, contentClassName, }) {
|
|
22
|
+
export function RailSection({ label, children, action, open: controlledOpen, onOpenChange, persistKey, defaultOpen = true, collapsible = true, className, headerClassName, contentClassName, onHeaderContextMenu, }) {
|
|
23
|
+
const headerRef = useHeaderContextMenu(onHeaderContextMenu);
|
|
22
24
|
const [remembered, setRemembered] = useRailSectionOpen(persistKey, defaultOpen);
|
|
23
25
|
const [plain, setPlain] = useState(defaultOpen);
|
|
24
26
|
const open = !collapsible
|
|
@@ -41,11 +43,11 @@ export function RailSection({ label, children, action, open: controlledOpen, onO
|
|
|
41
43
|
const bodyId = useId();
|
|
42
44
|
const heading = 'truncate text-xs font-semibold uppercase tracking-wide text-muted-foreground';
|
|
43
45
|
if (!collapsible)
|
|
44
|
-
return (_jsxs("section", { "aria-labelledby": headingId, className: className, "data-cb-rail-section": 'static', children: [_jsxs("div", { className: cn('flex items-center justify-between gap-1 px-2 pt-1 pb-1', headerClassName), children: [_jsx("h2", { className: cn('m-0', heading), id: headingId, children: label }), action] }), _jsx("div", { className: contentClassName, children: children })] }));
|
|
46
|
+
return (_jsxs("section", { "aria-labelledby": headingId, className: className, "data-cb-rail-section": 'static', children: [_jsxs("div", { ref: headerRef, className: cn('flex items-center justify-between gap-1 px-2 pt-1 pb-1', headerClassName), children: [_jsx("h2", { className: cn('m-0', heading), id: headingId, children: label }), action] }), _jsx("div", { className: contentClassName, children: children })] }));
|
|
45
47
|
// A plain disclosure — a button with `aria-expanded` / `aria-controls` over a body that is
|
|
46
48
|
// not rendered while shut. Not Radix Collapsible: it animates nothing here, and every app with
|
|
47
49
|
// a sidebar would pay for its presence machinery in its first chunk.
|
|
48
|
-
return (_jsxs("section", { "aria-labelledby": headingId, className: className, "data-cb-rail-section": open ? 'open' : 'closed', children: [_jsxs("div", { className: cn('flex items-center gap-1 pt-1 pb-1', headerClassName), children: [_jsx("h2", { className: 'm-0 flex min-w-0 flex-1', children: _jsxs("button", {
|
|
50
|
+
return (_jsxs("section", { "aria-labelledby": headingId, className: className, "data-cb-rail-section": open ? 'open' : 'closed', children: [_jsxs("div", { ref: headerRef, className: cn('flex items-center gap-1 pt-1 pb-1', headerClassName), children: [_jsx("h2", { className: 'm-0 flex min-w-0 flex-1', children: _jsxs("button", {
|
|
49
51
|
// guardrails-ignore no-raw-action-button: the section's heading IS its toggle — a
|
|
50
52
|
// chevron and a small-caps label laid out as one heading, not a centred Button.
|
|
51
53
|
type: 'button', id: headingId, "aria-expanded": open, "aria-controls": open ? bodyId : undefined, "data-state": open ? 'open' : 'closed', onClick: () => setOpen(!open), className: cn('group/rail-section flex min-w-0 flex-1 items-center gap-1 rounded-md px-1 py-0.5 text-left transition-colors hover:bg-card-raised focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', TAP_TARGET_HEIGHT), children: [_jsx(ChevronRight, { "aria-hidden": true, className: 'size-3.5 shrink-0 text-muted-foreground transition-transform duration-150 group-data-[state=open]/rail-section:rotate-90' }), _jsx("span", { className: heading, children: label })] }) }), action ? _jsx("div", { className: 'flex shrink-0 items-center gap-0.5', children: action }) : null] }), open ? (_jsx("div", { id: bodyId, className: contentClassName, children: children })) : null] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RailSection.js","sourceRoot":"","sources":["../../../src/react/filter-rail/RailSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAkB,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"RailSection.js","sourceRoot":"","sources":["../../../src/react/filter-rail/RailSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** What a header right-click hands over — a native `MouseEvent` and React's both fit. */
|
|
2
|
+
export type HeaderContextMenuHandler = (event: {
|
|
3
|
+
clientX: number;
|
|
4
|
+
clientY: number;
|
|
5
|
+
preventDefault: () => void;
|
|
6
|
+
}) => void;
|
|
7
|
+
export declare function useHeaderContextMenu(handler: HeaderContextMenuHandler | undefined): import("react").RefObject<HTMLDivElement | null>;
|
|
8
|
+
//# sourceMappingURL=headerContextMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headerContextMenu.d.ts","sourceRoot":"","sources":["../../../src/react/filter-rail/headerContextMenu.ts"],"names":[],"mappings":"AAgBA,yFAAyF;AACzF,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,KAAK,IAAI,CAAC;AAEX,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,SAAS,oDAajF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A section heading's right-click — `FilterRailSection.onHeaderContextMenu` and
|
|
3
|
+
* `RailSectionProps.onHeaderContextMenu`.
|
|
4
|
+
*
|
|
5
|
+
* Owner, 2026-09-30: *"Make a new menu that appears when I right click (or control + click) the
|
|
6
|
+
* top bar of the file tree"*. In collections that top bar is the rail's "Files" heading, so the
|
|
7
|
+
* heading has to hand its `contextmenu` to whoever draws the menu (the file tree's
|
|
8
|
+
* `useFolderView().onContextMenu`).
|
|
9
|
+
*
|
|
10
|
+
* A NATIVE listener through a ref, not an `onContextMenu` prop on the heading's `<div>`: the
|
|
11
|
+
* heading is a label, not a control, and giving it a role to hang a handler on would announce
|
|
12
|
+
* it to a screen reader as something to press. The menu it opens is also reachable from the
|
|
13
|
+
* tree itself (its blank space, and Shift+F10 on a row), so nothing is pointer-only.
|
|
14
|
+
*/
|
|
15
|
+
import { useEffect, useRef } from 'react';
|
|
16
|
+
export function useHeaderContextMenu(handler) {
|
|
17
|
+
const ref = useRef(null);
|
|
18
|
+
const latest = useRef(handler);
|
|
19
|
+
latest.current = handler;
|
|
20
|
+
const wanted = Boolean(handler);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
const el = ref.current;
|
|
23
|
+
if (!el || !wanted)
|
|
24
|
+
return;
|
|
25
|
+
const listener = (event) => latest.current?.(event);
|
|
26
|
+
el.addEventListener('contextmenu', listener);
|
|
27
|
+
return () => el.removeEventListener('contextmenu', listener);
|
|
28
|
+
}, [wanted]);
|
|
29
|
+
return ref;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=headerContextMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headerContextMenu.js","sourceRoot":"","sources":["../../../src/react/filter-rail/headerContextMenu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAS1C,MAAM,UAAU,oBAAoB,CAAC,OAA6C;IAChF,MAAM,GAAG,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM;YAAE,OAAO;QAC3B,MAAM,QAAQ,GAAG,CAAC,KAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAChE,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -696,6 +696,52 @@
|
|
|
696
696
|
.cbgd-related {
|
|
697
697
|
padding: 0 8px 8px;
|
|
698
698
|
}
|
|
699
|
+
/*
|
|
700
|
+
* 🔴 On a phone the stage is sized by its WIDTH, not by the container's height.
|
|
701
|
+
*
|
|
702
|
+
* Owner, 2026-09-30, collections on an iPhone: *"a big gap for the video playing which
|
|
703
|
+
* doesn't look like it is fit correctly. Under that there is another big gap before you see
|
|
704
|
+
* the media files"*. Portrait, the column is ~340px wide and the measured fit
|
|
705
|
+
* (`--cbgd-stage-fit`, a share of the container's HEIGHT) came out taller than a 16:9 picture
|
|
706
|
+
* of that width — so a video letterboxed inside a near-square black box. Here the frame
|
|
707
|
+
* defaults to the full width at 16:9, which is what every phone video app draws, and it is
|
|
708
|
+
* still ONE constant box, so stepping between files moves nothing (the 2026-08-23 rule above).
|
|
709
|
+
*
|
|
710
|
+
* A height the person DRAGGED (or a consumer's `stageHeight`) still wins — `--cbgd-stage-h`
|
|
711
|
+
* is the height when it is set, and `aspect-ratio` only answers an `auto` one. The resize
|
|
712
|
+
* grips are the owner's own ask (2026-08-25) and a portrait video is exactly what one drags
|
|
713
|
+
* taller. Not in full-stage mode, which fills the whole container on purpose.
|
|
714
|
+
*/
|
|
715
|
+
.cbgd-watch:not(.cbgd-watch-full) .cbgd-watch-player-box {
|
|
716
|
+
height: var(--cbgd-stage-h, auto);
|
|
717
|
+
aspect-ratio: 16 / 9;
|
|
718
|
+
max-width: 100%;
|
|
719
|
+
max-height: 70dvh;
|
|
720
|
+
}
|
|
721
|
+
/* The rail under the frame is the second gap: 84px under a coarse pointer. 52px is the
|
|
722
|
+
touch bar's own reach (22px + 15px either side, `mediaResize.css`), so both grips stay
|
|
723
|
+
over the 44px tap floor and inside the rail (`e2e/touch-targets.spec.ts`) and the rest is
|
|
724
|
+
given back. Its width follows the frame's, which is the column's here, not the 16:9 cap's. */
|
|
725
|
+
.cbgd-watch {
|
|
726
|
+
--cbmr-corner-size: 52px;
|
|
727
|
+
}
|
|
728
|
+
.cbgd-watch-player > .cbmr-rail {
|
|
729
|
+
max-width: 100%;
|
|
730
|
+
}
|
|
731
|
+
/* The titlebar's actions are ONE row that scrolls sideways, not three rows that wrap — a
|
|
732
|
+
dozen 44px icon buttons wrapped put the related files a whole screen below the picture. */
|
|
733
|
+
.cbgd-watch-actions {
|
|
734
|
+
margin-left: 0;
|
|
735
|
+
flex-basis: 100%;
|
|
736
|
+
flex-wrap: nowrap;
|
|
737
|
+
/* guardrails-ignore no-raw-overflow: task 2424 — a one-row tool strip in the Tailwind-free `.cbgd-` shell. */
|
|
738
|
+
overflow-x: auto;
|
|
739
|
+
scrollbar-width: none;
|
|
740
|
+
padding-block: 2px;
|
|
741
|
+
}
|
|
742
|
+
.cbgd-watch-actions > * {
|
|
743
|
+
flex: none;
|
|
744
|
+
}
|
|
699
745
|
}
|
|
700
746
|
|
|
701
747
|
/* ≥44px touch target on coarse pointers only — mirrors `TAP_TARGET_HEIGHT` from
|
|
@@ -1,2 +1,11 @@
|
|
|
1
|
-
export declare function useRememberedPreference(key: string | undefined
|
|
1
|
+
export declare function useRememberedPreference(key: string | undefined,
|
|
2
|
+
/**
|
|
3
|
+
* `announce: false` keeps the value on THIS device: it is stored and shared between tabs
|
|
4
|
+
* exactly the same, but never handed to the bus, so an app that syncs every key it hears
|
|
5
|
+
* cannot carry it elsewhere. The file tree's per-device tag filter is the first reader —
|
|
6
|
+
* *"viewing the 'home' tag at home doesn't change my work computer"*.
|
|
7
|
+
*/
|
|
8
|
+
options?: {
|
|
9
|
+
announce?: boolean;
|
|
10
|
+
}): [value: string | null, setValue: (next: string | null) => void];
|
|
2
11
|
//# sourceMappingURL=rememberedPreference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rememberedPreference.d.ts","sourceRoot":"","sources":["../../../src/react/media-gallery/rememberedPreference.ts"],"names":[],"mappings":"AA6BA,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"rememberedPreference.d.ts","sourceRoot":"","sources":["../../../src/react/media-gallery/rememberedPreference.ts"],"names":[],"mappings":"AA6BA,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,GAAG,SAAS;AACvB;;;;;GAKG;AACH,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,CAgDjE"}
|
|
@@ -26,7 +26,15 @@ function readStored(key) {
|
|
|
26
26
|
return null;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
export function useRememberedPreference(key
|
|
29
|
+
export function useRememberedPreference(key,
|
|
30
|
+
/**
|
|
31
|
+
* `announce: false` keeps the value on THIS device: it is stored and shared between tabs
|
|
32
|
+
* exactly the same, but never handed to the bus, so an app that syncs every key it hears
|
|
33
|
+
* cannot carry it elsewhere. The file tree's per-device tag filter is the first reader —
|
|
34
|
+
* *"viewing the 'home' tag at home doesn't change my work computer"*.
|
|
35
|
+
*/
|
|
36
|
+
options = {}) {
|
|
37
|
+
const announce = options.announce !== false;
|
|
30
38
|
const subscribe = useCallback((changed) => {
|
|
31
39
|
if (!key)
|
|
32
40
|
return () => { };
|
|
@@ -68,8 +76,9 @@ export function useRememberedPreference(key) {
|
|
|
68
76
|
}
|
|
69
77
|
for (const changed of [...local])
|
|
70
78
|
changed();
|
|
71
|
-
|
|
72
|
-
|
|
79
|
+
if (announce)
|
|
80
|
+
announcePreference(key, next);
|
|
81
|
+
}, [key, announce]);
|
|
73
82
|
return [value, setValue];
|
|
74
83
|
}
|
|
75
84
|
//# sourceMappingURL=rememberedPreference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rememberedPreference.js","sourceRoot":"","sources":["../../../src/react/media-gallery/rememberedPreference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,8EAA8E;AAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAc,CAAC;AACpC,+FAA+F;AAC/F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEhD,uFAAuF;AACvF,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAuB;
|
|
1
|
+
{"version":3,"file":"rememberedPreference.js","sourceRoot":"","sources":["../../../src/react/media-gallery/rememberedPreference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,8EAA8E;AAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAc,CAAC;AACpC,+FAA+F;AAC/F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEhD,uFAAuF;AACvF,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAuB;AACvB;;;;;GAKG;AACH,UAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC;IAC5C,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,OAAmB,EAAE,EAAE;QACtB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO;YAChC,mFAAmF;YACnF,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,6CAA6C;QAC7C,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO,EAAE,CAAC;QACnC,CAAC,CAAC;QACF,UAAU,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpD,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO,GAAG,EAAE;YACV,OAAO,EAAE,CAAC;YACV,UAAU,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;IACF,MAAM,KAAK,GAAG,oBAAoB,CAChC,SAAS,EACT,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EACpC,GAAG,EAAE,CAAC,IAAI,CACX,CAAC;IACF,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,IAAmB,EAAE,EAAE;QACtB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC;YACH,IAAI,IAAI,KAAK,IAAI;gBAAE,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;;gBACvD,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;YACvF,mCAAmC;YACnC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5C,IAAI,QAAQ;YAAE,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,EACD,CAAC,GAAG,EAAE,QAAQ,CAAC,CAChB,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cursedbelt",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.35.0",
|
|
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.",
|