cursedbelt 5.22.0 → 5.23.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.
Files changed (33) hide show
  1. package/dist/react/components/SearchInput.d.ts +15 -1
  2. package/dist/react/components/SearchInput.d.ts.map +1 -1
  3. package/dist/react/components/SearchInput.js +36 -4
  4. package/dist/react/components/SearchInput.js.map +1 -1
  5. package/dist/react/components/searchInput.css +179 -0
  6. package/dist/react/hooks/useScrollMemory.d.ts +3 -1
  7. package/dist/react/hooks/useScrollMemory.d.ts.map +1 -1
  8. package/dist/react/hooks/useScrollMemory.js +66 -47
  9. package/dist/react/hooks/useScrollMemory.js.map +1 -1
  10. package/dist/react/media/DenseGalleryShell.d.ts +8 -2
  11. package/dist/react/media/DenseGalleryShell.d.ts.map +1 -1
  12. package/dist/react/media/DenseGalleryShell.js +2 -2
  13. package/dist/react/media/DenseGalleryShell.js.map +1 -1
  14. package/dist/react/media-gallery/GalleryTable.js +1 -1
  15. package/dist/react/media-gallery/GalleryTable.js.map +1 -1
  16. package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
  17. package/dist/react/media-gallery/MediaGallery.js +16 -4
  18. package/dist/react/media-gallery/MediaGallery.js.map +1 -1
  19. package/dist/react/media-gallery/galleryReturn.d.ts +50 -0
  20. package/dist/react/media-gallery/galleryReturn.d.ts.map +1 -0
  21. package/dist/react/media-gallery/galleryReturn.js +221 -0
  22. package/dist/react/media-gallery/galleryReturn.js.map +1 -0
  23. package/package.json +8 -1
  24. package/src/demoFixture.spec.ts +4 -2
  25. package/src/react/components/SearchInput.spec.tsx +57 -0
  26. package/src/react/components/SearchInput.tsx +74 -20
  27. package/src/react/components/searchInput.css +179 -0
  28. package/src/react/hooks/useScrollMemory.spec.tsx +38 -0
  29. package/src/react/hooks/useScrollMemory.ts +82 -47
  30. package/src/react/media/DenseGalleryShell.tsx +9 -1
  31. package/src/react/media-gallery/GalleryTable.tsx +2 -0
  32. package/src/react/media-gallery/MediaGallery.tsx +19 -1
  33. package/src/react/media-gallery/galleryReturn.ts +248 -0
@@ -1,5 +1,6 @@
1
1
  import { type SearchSyntaxOptions } from 'cursedbelt-core/search-pattern';
2
2
  import { type InputProps } from './Input.js';
3
+ import './searchInput.css';
3
4
  export interface SearchInputProps extends Omit<InputProps, 'value' | 'onChange' | 'type'> {
4
5
  value: string;
5
6
  onChange: (value: string) => void;
@@ -16,6 +17,12 @@ export interface SearchInputProps extends Omit<InputProps, 'value' | 'onChange'
16
17
  className?: string;
17
18
  /** Classes for the `<input>` itself — colours, radius, text size. */
18
19
  inputClassName?: string;
20
+ /**
21
+ * Draw a ✕ that empties the box (and keeps the caret in it) while there is text to clear.
22
+ * Default `false`, so a box that never had one does not grow one. The browser's own ✕ on a
23
+ * `type="search"` field is hidden while this is on, so there is only ever one.
24
+ */
25
+ clearable?: boolean;
19
26
  }
20
27
  /**
21
28
  * The one search box — a magnifier, a themed {@link Input}, and a badge the
@@ -34,6 +41,13 @@ export interface SearchInputProps extends Omit<InputProps, 'value' | 'onChange'
34
41
  * Parsing is the app's too: this component only DISPLAYS the pattern. An app
35
42
  * that filters in memory calls `createSearchMatcher(value, syntax)`; one that
36
43
  * queries a server parses there with the same options.
44
+ *
45
+ * ── In an app with no Tailwind ──────────────────────────────────────────────
46
+ * It draws from its own `searchInput.css` (5.23.0, task 2256), so import it by its
47
+ * own subpath, `cursedbelt/react/search-input`, rather than the `cursedbelt/react`
48
+ * barrel. Everything else a field needs passes straight to the `<input>`: `ref`,
49
+ * `autoFocus`, and any `data-*` attribute (desk's ⌘F finds its field by
50
+ * `data-find-field="true"`).
37
51
  */
38
- export declare function SearchInput({ value, onChange, syntax, showSyntaxBadge, className, inputClassName, placeholder, 'aria-label': ariaLabel, ...inputProps }: SearchInputProps): import("react").JSX.Element;
52
+ export declare function SearchInput({ value, onChange, syntax, showSyntaxBadge, className, inputClassName, placeholder, 'aria-label': ariaLabel, clearable, ref, ...inputProps }: SearchInputProps): import("react").JSX.Element;
39
53
  //# sourceMappingURL=SearchInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/react/components/SearchInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAGpD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACrC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,eAAsB,EACtB,SAAS,EACT,cAAc,EACd,WAAuB,EACvB,YAAY,EAAE,SAAS,EACvB,GAAG,UAAU,EACd,EAAE,gBAAgB,+BAuClB"}
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/react/components/SearchInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAIpD,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACrC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,eAAsB,EACtB,SAAS,EACT,cAAc,EACd,WAAuB,EACvB,YAAY,EAAE,SAAS,EACvB,SAAiB,EACjB,GAAG,EACH,GAAG,UAAU,EACd,EAAE,gBAAgB,+BA2ElB"}
@@ -1,10 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Asterisk, Regex, Search, TriangleAlert } from 'lucide-react';
3
- import { useMemo } from 'react';
2
+ import { Asterisk, Regex, Search, TriangleAlert, X } from 'lucide-react';
3
+ import { useMemo, useRef } from 'react';
4
4
  import { parseSearchPattern, } from 'cursedbelt-core/search-pattern';
5
5
  import { cn } from '../lib/cn.js';
6
6
  import { Input } from './Input.js';
7
7
  import { Tooltip } from './Tooltip.js';
8
+ // 🔴 The look travels with the component — see the stylesheet's header for why every rule in it
9
+ // sits in `@layer base`, below the Tailwind utilities this file still carries.
10
+ import './searchInput.css';
8
11
  const PLAIN_ONLY = { wildcard: false, regex: false };
9
12
  /** What the badge says, per pattern kind that has one. */
10
13
  function badgeFor(pattern) {
@@ -40,11 +43,40 @@ function badgeFor(pattern) {
40
43
  * Parsing is the app's too: this component only DISPLAYS the pattern. An app
41
44
  * that filters in memory calls `createSearchMatcher(value, syntax)`; one that
42
45
  * queries a server parses there with the same options.
46
+ *
47
+ * ── In an app with no Tailwind ──────────────────────────────────────────────
48
+ * It draws from its own `searchInput.css` (5.23.0, task 2256), so import it by its
49
+ * own subpath, `cursedbelt/react/search-input`, rather than the `cursedbelt/react`
50
+ * barrel. Everything else a field needs passes straight to the `<input>`: `ref`,
51
+ * `autoFocus`, and any `data-*` attribute (desk's ⌘F finds its field by
52
+ * `data-find-field="true"`).
43
53
  */
44
- export function SearchInput({ value, onChange, syntax, showSyntaxBadge = true, className, inputClassName, placeholder = 'Search…', 'aria-label': ariaLabel, ...inputProps }) {
54
+ export function SearchInput({ value, onChange, syntax, showSyntaxBadge = true, className, inputClassName, placeholder = 'Search…', 'aria-label': ariaLabel, clearable = false, ref, ...inputProps }) {
45
55
  const pattern = useMemo(() => parseSearchPattern(value, syntax === false ? PLAIN_ONLY : syntax), [value, syntax]);
46
56
  const badge = showSyntaxBadge ? badgeFor(pattern) : null;
47
57
  const invalid = pattern.kind === 'invalid';
48
- return (_jsxs("div", { className: cn('relative min-w-0', className), children: [_jsx(Search, { "aria-hidden": true, className: '-translate-y-1/2 pointer-events-none absolute top-1/2 left-2.5 size-4 text-muted-foreground' }), _jsx(Input, { ...inputProps, type: 'search', value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, "aria-label": ariaLabel ?? (typeof placeholder === 'string' ? placeholder : 'Search'), "aria-invalid": invalid || undefined, className: cn('pl-8', badge && 'pr-9', inputClassName) }), badge ? (_jsx(Tooltip, { content: badge.tip, side: 'bottom', multiline: true, children: _jsx("span", { role: 'img', "aria-label": badge.label, "data-testid": 'search-syntax-badge', "data-kind": pattern.kind, className: cn('-translate-y-1/2 absolute top-1/2 right-2 inline-flex size-6 items-center justify-center rounded-full', invalid ? 'bg-destructive/15 text-destructive' : 'bg-accent/15 text-accent-strong'), children: _jsx(badge.icon, { className: 'size-3.5', "aria-hidden": true }) }) })) : null] }));
58
+ const clear = clearable && value !== '';
59
+ const trailing = (badge ? 1 : 0) + (clear ? 1 : 0);
60
+ // Our own handle on the field, so the ✕ can put the caret back — merged with the caller's.
61
+ const own = useRef(null);
62
+ const setRef = (node) => {
63
+ own.current = node;
64
+ if (typeof ref === 'function')
65
+ ref(node);
66
+ else if (ref)
67
+ ref.current = node;
68
+ };
69
+ /*
70
+ * Every element carries BOTH its `cbsi-` class (the plain look, for an app with no Tailwind)
71
+ * and the Tailwind utilities it always had (the look a Tailwind app restyles through
72
+ * `className`/`inputClassName`). The stylesheet's header says why the two cannot fight.
73
+ */
74
+ return (_jsxs("div", { className: cn('cbsi relative min-w-0', className), children: [_jsx(Search, { "aria-hidden": true, className: 'cbsi-icon -translate-y-1/2 pointer-events-none absolute top-1/2 left-2.5 size-4 text-muted-foreground' }), _jsx(Input, { ...inputProps, ref: setRef, type: 'search', value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, "aria-label": ariaLabel ?? (typeof placeholder === 'string' ? placeholder : 'Search'), "aria-invalid": invalid || undefined, "data-trailing": trailing || undefined, "data-clearable": clearable || undefined, className: cn('cbsi-input pl-8', trailing === 1 && 'pr-9', trailing === 2 && 'pr-16', inputClassName) }), trailing > 0 ? (_jsxs("span", { className: 'cbsi-trail -translate-y-1/2 absolute top-1/2 right-2 inline-flex items-center gap-1', children: [badge ? (_jsx(Tooltip, { content: badge.tip, side: 'bottom', multiline: true, children: _jsx("span", { role: 'img', "aria-label": badge.label, "data-testid": 'search-syntax-badge', "data-kind": pattern.kind, className: cn('cbsi-badge inline-flex size-6 items-center justify-center rounded-full', invalid ? 'bg-destructive/15 text-destructive' : 'bg-accent/15 text-accent-strong'), children: _jsx(badge.icon, { className: 'size-3.5', "aria-hidden": true }) }) })) : null, clear ? (_jsx("button", {
75
+ // guardrails-ignore no-raw-action-button: a 24px glyph INSIDE the field, styled by
76
+ // this component's own plain CSS (`.cbsi-clear`) so it draws without Tailwind.
77
+ type: 'button', className: 'cbsi-clear', "aria-label": 'Clear search', onClick: () => {
78
+ onChange('');
79
+ own.current?.focus();
80
+ }, children: _jsx(X, { "aria-hidden": true }) })) : null] })) : null] }));
49
81
  }
50
82
  //# sourceMappingURL=SearchInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/react/components/SearchInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/react/components/SearchInput.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ /*
2
+ * SearchInput's own look, as plain CSS — so it draws in an app with NO Tailwind (desk), the way
3
+ * `activityBar.css` and `fileTree.css` let those two travel. Prefix `cbsi-`. Task 2256.
4
+ *
5
+ * 🔴 Everything here is inside `@layer base`, and that is the whole trick — read before editing.
6
+ *
7
+ * The component KEEPS its Tailwind utilities, because a Tailwind app restyles the field through
8
+ * them: flix passes `inputClassName="rounded-full bg-[var(--surface-1)] …"`. An UNLAYERED rule
9
+ * beats every layered one whatever its specificity, and Tailwind v4 puts utilities in
10
+ * `@layer utilities` — so a plain `.cbsi-input { border-radius: … }` would silently undo flix's
11
+ * `rounded-full`. In `@layer base` these rules sit BELOW utilities in every Tailwind app, in
12
+ * either load order: if Tailwind's `@layer theme, base, components, utilities` came first,
13
+ * `base` is second of four; if this file came first, `base` is registered first and Tailwind's
14
+ * statement appends the rest after it. Within `base`, a `.cbsi-` class out-ranks preflight's
15
+ * element selectors, and every value below is the value Tailwind already computes, so a
16
+ * Tailwind app draws exactly what it drew before this file existed.
17
+ *
18
+ * In an app without Tailwind this is the only author layer that matches these elements, so it
19
+ * is the look. Its tokens fall back to the plainer ones an app is most likely to bridge
20
+ * (`--border`, `--background`, `--foreground`, `--muted-foreground`, `--ring`, `--accent`,
21
+ * `--destructive`, `--radius-sm`) — desk answers those on `.cs-root`.
22
+ */
23
+
24
+ @layer base {
25
+ .cbsi {
26
+ position: relative;
27
+ min-width: 0;
28
+ }
29
+
30
+ .cbsi-icon {
31
+ position: absolute;
32
+ top: 50%;
33
+ left: 0.625rem;
34
+ translate: 0 -50%;
35
+ width: 1rem;
36
+ height: 1rem;
37
+ pointer-events: none;
38
+ color: var(--muted-foreground);
39
+ }
40
+
41
+ /* The field — `fieldControlClass('md')`, written out. */
42
+ .cbsi-input {
43
+ box-sizing: border-box;
44
+ width: 100%;
45
+ height: var(--control-h-md, 36px);
46
+ margin: 0;
47
+ padding: 0 0.75rem 0 2rem;
48
+ border: 1px solid var(--field-border, var(--border));
49
+ border-radius: var(--field-radius, var(--radius-md, var(--radius-sm, 0.375rem)));
50
+ background-color: var(--field-bg, var(--background));
51
+ color: var(--field-fg, var(--foreground));
52
+ font: inherit;
53
+ font-size: 1rem;
54
+ line-height: 1.5rem;
55
+ outline: none;
56
+ appearance: none;
57
+ }
58
+
59
+ /* 16px on a phone keeps iOS from zooming on focus; 14px from `sm:` up, as `text-sm`. */
60
+ @media (min-width: 40rem) {
61
+ .cbsi-input {
62
+ font-size: 0.875rem;
63
+ line-height: 1.25rem;
64
+ }
65
+ }
66
+
67
+ /* DESIGN.md §5: 44px to a thumb. */
68
+ @media (pointer: coarse) {
69
+ .cbsi-input {
70
+ min-height: 2.75rem;
71
+ }
72
+ }
73
+
74
+ .cbsi-input::placeholder {
75
+ color: var(--field-placeholder, var(--muted-foreground));
76
+ }
77
+
78
+ .cbsi-input:focus-visible {
79
+ border-color: var(--field-ring, var(--ring));
80
+ box-shadow: 0 0 0 2px color-mix(in oklab, var(--field-ring, var(--ring)) 30%, transparent);
81
+ }
82
+
83
+ .cbsi-input[aria-invalid='true'] {
84
+ border-color: var(--field-error, var(--destructive));
85
+ box-shadow: 0 0 0 2px color-mix(in oklab, var(--field-error, var(--destructive)) 30%, transparent);
86
+ }
87
+
88
+ .cbsi-input:disabled {
89
+ cursor: not-allowed;
90
+ opacity: 0.5;
91
+ }
92
+
93
+ /* Room on the right for whatever sits there: a badge, a clear button, or both. */
94
+ .cbsi-input[data-trailing='1'] {
95
+ padding-right: 2.25rem;
96
+ }
97
+
98
+ .cbsi-input[data-trailing='2'] {
99
+ padding-right: 4rem;
100
+ }
101
+
102
+ /* A clearable box draws its own ✕, so the browser's must not draw a second one. */
103
+ .cbsi-input[data-clearable]::-webkit-search-cancel-button {
104
+ appearance: none;
105
+ display: none;
106
+ }
107
+
108
+ .cbsi-trail {
109
+ position: absolute;
110
+ top: 50%;
111
+ right: 0.5rem;
112
+ translate: 0 -50%;
113
+ display: inline-flex;
114
+ align-items: center;
115
+ gap: 0.25rem;
116
+ }
117
+
118
+ /* The badge: a filled capsule (DESIGN.md §3), accent while a syntax is in play. */
119
+ .cbsi-badge {
120
+ display: inline-flex;
121
+ align-items: center;
122
+ justify-content: center;
123
+ width: 1.5rem;
124
+ height: 1.5rem;
125
+ border-radius: 9999px;
126
+ background-color: color-mix(in oklab, var(--accent) 15%, transparent);
127
+ color: var(--accent-strong, var(--accent));
128
+ }
129
+
130
+ .cbsi-badge[data-kind='invalid'] {
131
+ background-color: color-mix(in oklab, var(--destructive) 15%, transparent);
132
+ color: var(--destructive);
133
+ }
134
+
135
+ .cbsi-badge svg {
136
+ width: 0.875rem;
137
+ height: 0.875rem;
138
+ }
139
+
140
+ .cbsi-clear {
141
+ position: relative;
142
+ display: inline-flex;
143
+ align-items: center;
144
+ justify-content: center;
145
+ width: 1.5rem;
146
+ height: 1.5rem;
147
+ margin: 0;
148
+ padding: 0;
149
+ border: 0;
150
+ border-radius: var(--radius-sm, 0.375rem);
151
+ background: transparent;
152
+ color: var(--muted-foreground);
153
+ cursor: pointer;
154
+ }
155
+
156
+ .cbsi-clear:hover {
157
+ color: var(--foreground);
158
+ background: var(--muted, color-mix(in oklab, var(--foreground) 8%, transparent));
159
+ }
160
+
161
+ .cbsi-clear:focus-visible {
162
+ outline: 2px solid var(--ring);
163
+ outline-offset: 1px;
164
+ }
165
+
166
+ /* The ✕ is 24px to the eye; to a thumb it reaches the 44px floor (DESIGN.md §5). */
167
+ @media (pointer: coarse) {
168
+ .cbsi-clear::after {
169
+ content: '';
170
+ position: absolute;
171
+ inset: -10px;
172
+ }
173
+ }
174
+
175
+ .cbsi-clear svg {
176
+ width: 0.75rem;
177
+ height: 0.75rem;
178
+ }
179
+ }
@@ -30,7 +30,9 @@ import { type RefObject } from 'react';
30
30
  * - **A replaced URL is the same place**: when the location changes but the history entry does
31
31
  * not (a filter written with `replaceState`), the scroll is left alone.
32
32
  *
33
- * Mount it ONCE per scroller, above the screens that swap — the app shell, keyed on the route.
33
+ * Mount it ONCE per scroller: in the app shell keyed on the route when the screens swap under one
34
+ * scroller (the window, a shell `ScrollArea`), or in the list screen itself when each screen owns
35
+ * its own `ScrollArea` — mounting is then the arrival and unmounting the leave.
34
36
  */
35
37
  export declare function useScrollMemory(location: string, options?: ScrollMemoryOptions): void;
36
38
  /** What scrolls: the window, or an element — by ref or by a getter read when the screen arrives. */
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollMemory.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useScrollMemory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,OAAO,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI,CA2DzF;AAED,oGAAoG;AACpG,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;AAEzG,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"useScrollMemory.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useScrollMemory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,OAAO,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI,CA0BzF;AAoED,oGAAoG;AACpG,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC;AAEzG,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -30,68 +30,87 @@ import { useLayoutEffect, useRef } from 'react';
30
30
  * - **A replaced URL is the same place**: when the location changes but the history entry does
31
31
  * not (a filter written with `replaceState`), the scroll is left alone.
32
32
  *
33
- * Mount it ONCE per scroller, above the screens that swap — the app shell, keyed on the route.
33
+ * Mount it ONCE per scroller: in the app shell keyed on the route when the screens swap under one
34
+ * scroller (the window, a shell `ScrollArea`), or in the list screen itself when each screen owns
35
+ * its own `ScrollArea` — mounting is then the arrival and unmounting the leave.
34
36
  */
35
37
  export function useScrollMemory(location, options = {}) {
36
38
  const { enabled = true, deadlineMs = RESTORE_DEADLINE_MS } = options;
37
- // The scroller is read through a ref so an inline `() => el` does not re-run the effect
38
- // every render — which would file and restore on every keystroke.
39
- const scrollerRef = useRef(options.scroller);
40
- scrollerRef.current = options.scroller;
39
+ const spec = options.scroller ?? 'window';
41
40
  const last = useRef(null);
41
+ const session = useRef(null);
42
+ // 🔴 Checked EVERY commit, not on a dependency list: the scroller can mount after the hook — a
43
+ // list behind a loading spinner has no ScrollArea on its first render — and an effect keyed on
44
+ // the location alone would find nothing, return, and never look again, so that whole visit
45
+ // would go unremembered. A session ends and the next begins only when the place, the switch or
46
+ // the scroller ELEMENT actually changes; every other commit is one comparison.
42
47
  useLayoutEffect(() => {
43
- if (!enabled)
48
+ const scroller = enabled ? resolveScroller(spec) : null;
49
+ const current = session.current;
50
+ if (current && scroller && current.location === location && current.target === scroller.events)
44
51
  return;
45
- const scroller = resolveScroller(scrollerRef.current ?? 'window');
46
- if (!scroller)
52
+ if (!current && !scroller)
47
53
  return;
48
- if (scroller.isWindow && 'scrollRestoration' in window.history) {
49
- // Left on `auto`, the browser restores at `popstate` — into the screen being LEFT, before
50
- // React has swapped it — and the restore below would have to fight it.
51
- window.history.scrollRestoration = 'manual';
54
+ current?.end();
55
+ session.current = scroller ? begin(scroller, location, last, deadlineMs) : null;
56
+ });
57
+ useLayoutEffect(() => () => {
58
+ session.current?.end();
59
+ session.current = null;
60
+ }, []);
61
+ }
62
+ /** Arrive on the current history entry with this scroller: restore or start at the top, then track. */
63
+ function begin(scroller, location, last, deadlineMs) {
64
+ if (scroller.isWindow && 'scrollRestoration' in window.history) {
65
+ // Left on `auto`, the browser restores at `popstate` — into the screen being LEFT, before
66
+ // React has swapped it — and the restore below would have to fight it.
67
+ window.history.scrollRestoration = 'manual';
68
+ }
69
+ const id = entryId();
70
+ if (!id)
71
+ return null;
72
+ // Same entry, different location: the URL was replaced in place. It is the same place.
73
+ const replacedInPlace = last.current?.id === id && last.current.location !== location;
74
+ last.current = { id, location };
75
+ // What gets filed when this entry is left. While a restore is pending it is the TARGET, not
76
+ // the partial offset on screen — leaving mid-restore (or StrictMode's rehearsal unmount) must
77
+ // not overwrite a deep position with a shallow one.
78
+ let offset = scroller.get();
79
+ let cancelRestore = null;
80
+ if (!replacedInPlace) {
81
+ const target = recalled(id);
82
+ if (target > 0) {
83
+ offset = target;
84
+ cancelRestore = restore(scroller, target, deadlineMs, (outcome) => {
85
+ cancelRestore = null;
86
+ if (outcome !== 'reached')
87
+ offset = scroller.get();
88
+ });
52
89
  }
53
- const id = entryId();
54
- if (!id)
55
- return;
56
- // Same entry, different location: the URL was replaced in place. It is the same place.
57
- const replacedInPlace = last.current?.id === id && last.current.location !== location;
58
- last.current = { id, location };
59
- // What gets filed when this entry is left. While a restore is pending it is the TARGET, not
60
- // the partial offset on screen — leaving mid-restore (or StrictMode's rehearsal unmount) must
61
- // not overwrite a deep position with a shallow one.
62
- let offset = scroller.get();
63
- let cancelRestore = null;
64
- if (!replacedInPlace) {
65
- const target = recalled(id);
66
- if (target > 0) {
67
- offset = target;
68
- cancelRestore = restore(scroller, target, deadlineMs, (outcome) => {
69
- cancelRestore = null;
70
- if (outcome !== 'reached')
71
- offset = scroller.get();
72
- });
73
- }
74
- else {
75
- scroller.set(0);
76
- offset = 0;
77
- }
90
+ else {
91
+ scroller.set(0);
92
+ offset = 0;
78
93
  }
79
- const onScroll = () => {
80
- if (!cancelRestore)
81
- offset = scroller.get();
82
- };
83
- const onHide = () => file(id, offset);
84
- scroller.events.addEventListener('scroll', onScroll, { passive: true });
85
- window.addEventListener('pagehide', onHide);
86
- return () => {
94
+ }
95
+ const onScroll = () => {
96
+ if (!cancelRestore)
97
+ offset = scroller.get();
98
+ };
99
+ const onHide = () => file(id, offset);
100
+ scroller.events.addEventListener('scroll', onScroll, { passive: true });
101
+ window.addEventListener('pagehide', onHide);
102
+ return {
103
+ location,
104
+ target: scroller.events,
105
+ end() {
87
106
  const pending = cancelRestore;
88
107
  cancelRestore = null;
89
108
  pending?.();
90
109
  scroller.events.removeEventListener('scroll', onScroll);
91
110
  window.removeEventListener('pagehide', onHide);
92
111
  file(id, offset);
93
- };
94
- }, [location, enabled, deadlineMs]);
112
+ },
113
+ };
95
114
  }
96
115
  const RESTORE_DEADLINE_MS = 3_000;
97
116
  const ENTRY_KEY = 'cbScrollEntry';
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollMemory.js","sourceRoot":"","sources":["../../../src/react/hooks/useScrollMemory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useScrollMemory.js","sourceRoot":"","sources":["../../../src/react/hooks/useScrollMemory.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import './denseGallery.css';
2
- import { type ButtonHTMLAttributes, type ReactNode } from 'react';
2
+ import { type ButtonHTMLAttributes, type ReactNode, type Ref } from 'react';
3
3
  /**
4
4
  * An action pill for a dense-gallery surface — the `detailActions` / `headerExtra` slots.
5
5
  *
@@ -132,9 +132,15 @@ export interface DenseGalleryShellProps<O extends string = string> {
132
132
  * exactly one place the caption height is written down.
133
133
  */
134
134
  rowExtraHeight?: number;
135
+ /**
136
+ * The shell's root element (`.cbgd-root`) — for a caller that has to find the browse view's
137
+ * scroller in the DOM. `MediaGallery` uses it to put the grid back where you were when a
138
+ * file closes (`media-gallery/galleryReturn.ts`), because closing a file mounts a new shell.
139
+ */
140
+ rootRef?: Ref<HTMLDivElement>;
135
141
  }
136
142
  /** The browse view: header + optional filter strip + a virtualized thumbnail grid. */
137
- export declare function DenseGalleryShell<O extends string = string>({ title, order, query, onQueryChange, searchPlaceholder, headerExtra, chrome, filterStrip, bulkBar, itemCount, renderTile, body, onNearEnd, loading, empty, emptyAction, minColumnWidth, rowExtraHeight, }: DenseGalleryShellProps<O>): import("react").JSX.Element;
143
+ export declare function DenseGalleryShell<O extends string = string>({ title, order, query, onQueryChange, searchPlaceholder, headerExtra, chrome, filterStrip, bulkBar, itemCount, renderTile, body, onNearEnd, loading, empty, emptyAction, minColumnWidth, rowExtraHeight, rootRef, }: DenseGalleryShellProps<O>): import("react").JSX.Element;
138
144
  export interface DenseGalleryDetailProps {
139
145
  /** The big media — a `<VideoPlayer>`/`PlayerSurface` or an image stage. */
140
146
  stage: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"DenseGalleryShell.d.ts","sourceRoot":"","sources":["../../../src/react/media/DenseGalleryShell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DenseGalleryShell.d.ts","sourceRoot":"","sources":["../../../src/react/media/DenseGalleryShell.tsx"],"names":[],"mappings":"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"}
@@ -43,8 +43,8 @@ function OrderPills({ order }) {
43
43
  /** The browse view: header + optional filter strip + a virtualized thumbnail grid. */
44
44
  export function DenseGalleryShell({ title, order, query, onQueryChange, searchPlaceholder = 'Search…', headerExtra, chrome = 'header', filterStrip, bulkBar, itemCount, renderTile, body, onNearEnd, loading, empty, emptyAction, minColumnWidth = 160,
45
45
  // 🔴 Deliberately NOT defaulted here — see the prop's doc comment.
46
- rowExtraHeight, }) {
47
- return (_jsxs("div", { className: 'cbgd-root', children: [chrome === 'none' ? null : (_jsxs("header", { className: 'cbgd-header', children: [_jsx("span", { className: 'cbgd-title', children: title }), order ? _jsx(OrderPills, { order: order }) : null, onQueryChange ? (_jsx("input", {
46
+ rowExtraHeight, rootRef, }) {
47
+ return (_jsxs("div", { className: 'cbgd-root', ref: rootRef, children: [chrome === 'none' ? null : (_jsxs("header", { className: 'cbgd-header', children: [_jsx("span", { className: 'cbgd-title', children: title }), order ? _jsx(OrderPills, { order: order }) : null, onQueryChange ? (_jsx("input", {
48
48
  // guardrails-ignore no-raw-inputs: `.cbgd-search` is this module's own
49
49
  // self-contained plain-CSS control (no Tailwind in this file); cursedbelt's
50
50
  // Input runs on the Tailwind `FIELD_CLASS` token layer, which would fight
@@ -1 +1 @@
1
- {"version":3,"file":"DenseGalleryShell.js","sourceRoot":"","sources":["../../../src/react/media/DenseGalleryShell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DenseGalleryShell.js","sourceRoot":"","sources":["../../../src/react/media/DenseGalleryShell.tsx"],"names":[],"mappings":"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"}
@@ -227,7 +227,7 @@ function GalleryTableRow({ item, cache, onOpen, hasCheck, selection, drag, autoP
227
227
  const thumbRef = useRef(null);
228
228
  const autoReady = useSettled(useInView(thumbRef, previewSrc != null && autoPreview && canHover));
229
229
  const previewing = previewSrc != null && (autoReady || hovering);
230
- return (_jsxs("tr", { className: `cbgt-row${selection?.selected ? ' is-selected' : ''}${stageMark ? ' is-playing' : ''}`, "data-playing": stageMark ? 'true' : undefined, "aria-current": stageMark ? 'true' : undefined, ...(previewSrc
230
+ return (_jsxs("tr", { className: `cbgt-row${selection?.selected ? ' is-selected' : ''}${stageMark ? ' is-playing' : ''}`, "data-playing": stageMark ? 'true' : undefined, "data-item-id": item.id, "aria-current": stageMark ? 'true' : undefined, ...(previewSrc
231
231
  ? {
232
232
  onMouseEnter: () => setHovering(true),
233
233
  onMouseLeave: () => setHovering(false),