@stapel/listings-react 0.30.2 → 0.30.4
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/CHANGELOG.md +64 -0
- package/dist/default/ListingCard.d.ts.map +1 -1
- package/dist/default/ListingCard.js +3 -2
- package/dist/default/ListingCard.js.map +1 -1
- package/dist/default/ListingFeedCard.d.ts +14 -12
- package/dist/default/ListingFeedCard.d.ts.map +1 -1
- package/dist/default/ListingFeedCard.js +17 -19
- package/dist/default/ListingFeedCard.js.map +1 -1
- package/dist/default/cardGallery.d.ts +67 -4
- package/dist/default/cardGallery.d.ts.map +1 -1
- package/dist/default/cardGallery.js +197 -18
- package/dist/default/cardGallery.js.map +1 -1
- package/dist/default/detailGallery.d.ts.map +1 -1
- package/dist/default/detailGallery.js +9 -0
- package/dist/default/detailGallery.js.map +1 -1
- package/dist/default/index.d.ts +1 -1
- package/dist/default/index.d.ts.map +1 -1
- package/dist/default/index.js +1 -1
- package/dist/default/index.js.map +1 -1
- package/dist/default/titleClamp.d.ts +47 -0
- package/dist/default/titleClamp.d.ts.map +1 -0
- package/dist/default/titleClamp.js +51 -0
- package/dist/default/titleClamp.js.map +1 -0
- package/llms.txt +1 -1
- package/manifest.json +1 -1
- package/nav-manifest.json +1 -1
- package/package.json +3 -3
- package/src/analytics/generated/events.json +1 -1
- package/src/default/ListingCard.tsx +19 -1
- package/src/default/ListingFeedCard.tsx +26 -25
- package/src/default/cardGallery.ts +222 -18
- package/src/default/detailGallery.ts +9 -0
- package/src/default/index.ts +4 -0
- package/src/default/titleClamp.ts +56 -0
|
@@ -34,6 +34,31 @@
|
|
|
34
34
|
* {@link SWIPE_AXIS_RATIO}. A diagonal thumb scrolling the feed changes no
|
|
35
35
|
* photograph.
|
|
36
36
|
*
|
|
37
|
+
* ── HOW FAR IS FAR ENOUGH, and how many photographs that buys ────────────
|
|
38
|
+
*
|
|
39
|
+
* Intent is not a commit. A drag that has declared itself horizontal still
|
|
40
|
+
* has to EARN the photograph, and the price is a fraction of the photograph
|
|
41
|
+
* itself — {@link SWIPE_COMMIT_FRACTION} of the SLIDE's own measured width,
|
|
42
|
+
* never a pixel constant. The constant was the defect, and measurably so: a
|
|
43
|
+
* one-column search card on a 390px phone is a ~351px slide (the well less
|
|
44
|
+
* the carousel's 8% peek), so a fixed 32px priced a photograph at 9% of
|
|
45
|
+
* itself; the same 32px on the two-column home feed is 19% of a ~170px slide.
|
|
46
|
+
* One number, two different gestures, and the cheap one is the one the owner
|
|
47
|
+
* met — "it feels like 10%", and the middle photograph flying past.
|
|
48
|
+
*
|
|
49
|
+
* Two further rules, and both are about a gesture being ONE decision:
|
|
50
|
+
*
|
|
51
|
+
* - A flick is a choice too. Under the distance, a drag thrown faster than
|
|
52
|
+
* {@link SWIPE_FLICK_VELOCITY} still advances — the speed says the intent
|
|
53
|
+
* the distance did not.
|
|
54
|
+
* - ONE photograph per gesture, and one only. The old handler moved its own
|
|
55
|
+
* origin on each commit, so a drag across three slide widths advanced
|
|
56
|
+
* three photographs (and a fling across the card advanced ten). A gesture
|
|
57
|
+
* now commits at most once, and a second photograph costs a second press.
|
|
58
|
+
*
|
|
59
|
+
* Below the threshold the strip goes back to the picture it was showing —
|
|
60
|
+
* a refused gesture must leave the strip where it found it, not halfway.
|
|
61
|
+
*
|
|
37
62
|
* ── What neither gesture touches ─────────────────────────────────────────
|
|
38
63
|
*
|
|
39
64
|
* The keyboard, and the card's single link target. The strip underneath is
|
|
@@ -55,13 +80,52 @@ export const CARD_GALLERY_STYLE_HREF = "stapel-listings-card-gallery";
|
|
|
55
80
|
/** The environment a hover scrub is allowed in, and the only one. */
|
|
56
81
|
export const SCRUB_MEDIA = "(hover: hover) and (pointer: fine)";
|
|
57
82
|
/**
|
|
58
|
-
* How far a finger travels before it
|
|
83
|
+
* How far a finger travels before it is a GESTURE at all, in CSS pixels.
|
|
59
84
|
*
|
|
60
85
|
* Under this, a drag is a tap that wobbled — and a tap on a card is a
|
|
61
86
|
* navigation, so a low threshold does not change a photograph, it changes one
|
|
62
87
|
* and then leaves the listing.
|
|
88
|
+
*
|
|
89
|
+
* This is the floor, not the price: what actually buys a photograph is
|
|
90
|
+
* {@link SWIPE_COMMIT_FRACTION} of the slide, or a flick above
|
|
91
|
+
* {@link SWIPE_FLICK_VELOCITY}. A pixel count cannot be the price, because
|
|
92
|
+
* the same 32px is a third of a card in a four-column desktop grid and a
|
|
93
|
+
* twelfth of one on a phone.
|
|
63
94
|
*/
|
|
64
95
|
export const SWIPE_MIN_PX = 32;
|
|
96
|
+
/**
|
|
97
|
+
* How much of ONE PHOTOGRAPH a slow drag must cover to turn it, as a fraction
|
|
98
|
+
* of that photograph's own measured width.
|
|
99
|
+
*
|
|
100
|
+
* The owner's ruling, third pass: "maybe not 75, maybe 30 — right now it
|
|
101
|
+
* feels like 10%". 10% is what the old fixed 32px came to on a phone slide of
|
|
102
|
+
* ~350px, and it is why a middle photograph flew past on a gesture aimed at
|
|
103
|
+
* the feed. 0.3 is far enough that the drag is unmistakably a drag and short
|
|
104
|
+
* enough that a thumb can make it without crossing the whole card.
|
|
105
|
+
*/
|
|
106
|
+
export const SWIPE_COMMIT_FRACTION = 0.3;
|
|
107
|
+
/**
|
|
108
|
+
* The speed, in CSS pixels per millisecond, at which a SHORT drag still turns
|
|
109
|
+
* the photograph.
|
|
110
|
+
*
|
|
111
|
+
* 0.5 px/ms — 500 px/s — is the owner's number and sits in the empty band
|
|
112
|
+
* between the two gestures it has to tell apart: a deliberate slow drag runs
|
|
113
|
+
* at 100–300 px/s (a thumb crossing a 350px card in one to three seconds),
|
|
114
|
+
* and a flick people expect to throw the strip runs at 800–2000 px/s. Nothing
|
|
115
|
+
* a person means as a careful drag arrives here, and nothing they mean as a
|
|
116
|
+
* flick falls under it.
|
|
117
|
+
*/
|
|
118
|
+
export const SWIPE_FLICK_VELOCITY = 0.5;
|
|
119
|
+
/**
|
|
120
|
+
* The window the speed is measured over, in milliseconds.
|
|
121
|
+
*
|
|
122
|
+
* A flick is what the finger was doing AS IT LEFT, not the average of the
|
|
123
|
+
* whole gesture: a drag that crawls for a second and is then thrown would
|
|
124
|
+
* average out to a crawl, and the throw is the part the person meant. One
|
|
125
|
+
* moving window of roughly six frames is long enough to survive a single
|
|
126
|
+
* jittery sample and short enough to still be about the end of the gesture.
|
|
127
|
+
*/
|
|
128
|
+
export const SWIPE_VELOCITY_WINDOW_MS = 100;
|
|
65
129
|
/**
|
|
66
130
|
* How much more horizontal than vertical a drag must be to count.
|
|
67
131
|
*
|
|
@@ -84,19 +148,57 @@ export function segmentIndex(offsetX, width, count) {
|
|
|
84
148
|
}
|
|
85
149
|
/**
|
|
86
150
|
* A drag → the number of photographs it asks for: `1` forward, `-1` back, `0`
|
|
87
|
-
* for a drag that has not
|
|
151
|
+
* for a drag that has not earned one.
|
|
88
152
|
*
|
|
89
153
|
* Dragging LEFT advances, the direction the content moves under the finger —
|
|
90
|
-
* the same mapping the native scroller has.
|
|
154
|
+
* the same mapping the native scroller has. The answer is never outside
|
|
155
|
+
* `-1…1`: a gesture is worth one photograph however far it travelled, which
|
|
156
|
+
* is what stops a fling crossing the whole strip.
|
|
157
|
+
*
|
|
158
|
+
* @param dx Horizontal travel from the press, signed, in CSS pixels.
|
|
159
|
+
* @param dy Vertical travel from the press, signed.
|
|
160
|
+
* @param slideWidth The measured width of ONE slide. `0` means it could not
|
|
161
|
+
* be measured (an unlaid-out strip, a server render) — and an unknown width
|
|
162
|
+
* has no fraction, so the decision falls back to {@link SWIPE_MIN_PX}
|
|
163
|
+
* alone rather than to an invented number.
|
|
164
|
+
* @param velocity The finger's recent speed in CSS pixels per millisecond.
|
|
91
165
|
*/
|
|
92
|
-
export function swipeStep(dx, dy) {
|
|
166
|
+
export function swipeStep(dx, dy, slideWidth = 0, velocity = 0) {
|
|
93
167
|
const across = Math.abs(dx);
|
|
168
|
+
// Is this a gesture at all — past the tap wobble, and across rather than
|
|
169
|
+
// down the page.
|
|
94
170
|
if (across < SWIPE_MIN_PX)
|
|
95
171
|
return 0;
|
|
96
172
|
if (across <= Math.abs(dy) * SWIPE_AXIS_RATIO)
|
|
97
173
|
return 0;
|
|
174
|
+
// Has it earned a photograph: the distance rule, measured against THIS
|
|
175
|
+
// strip's slide, or the speed rule when the distance is short.
|
|
176
|
+
const far = slideWidth > 0 ? across >= slideWidth * SWIPE_COMMIT_FRACTION : true;
|
|
177
|
+
if (!far && velocity < SWIPE_FLICK_VELOCITY)
|
|
178
|
+
return 0;
|
|
98
179
|
return dx < 0 ? 1 : -1;
|
|
99
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* The width of ONE slide inside this gallery's strip, in CSS pixels.
|
|
183
|
+
*
|
|
184
|
+
* Read off the SLIDE, which is the house rule (§83: geometry from the
|
|
185
|
+
* element's width, never the viewport's) and here also the only correct
|
|
186
|
+
* answer: a slide is the well less the carousel's peek, so the well's width
|
|
187
|
+
* is 8% too generous and a viewport-derived number is not about this card at
|
|
188
|
+
* all — the same card is full-bleed on a phone and a quarter of a row on a
|
|
189
|
+
* desktop grid.
|
|
190
|
+
*
|
|
191
|
+
* `0` when nothing can be measured. That is a refusal to guess, not a
|
|
192
|
+
* measurement: {@link swipeStep} falls back to the pixel floor for it.
|
|
193
|
+
*/
|
|
194
|
+
export function measureSlideWidth(box) {
|
|
195
|
+
const strip = box.querySelector("[data-stapel-carousel-strip]");
|
|
196
|
+
if (strip === null)
|
|
197
|
+
return 0;
|
|
198
|
+
const slide = strip.children.item(0);
|
|
199
|
+
const width = slide === null ? 0 : slide.getBoundingClientRect().width;
|
|
200
|
+
return width > 0 ? width : 0;
|
|
201
|
+
}
|
|
100
202
|
/** Does this environment have a real pointer? `false` where there is no
|
|
101
203
|
* `matchMedia` to ask (a server render, an old jsdom), which is the safe
|
|
102
204
|
* side: a scrub that does not happen costs a hover, a scrub on a phone is a
|
|
@@ -168,6 +270,41 @@ function showSlide(box, index, instant) {
|
|
|
168
270
|
strip.scrollLeft = left;
|
|
169
271
|
}
|
|
170
272
|
}
|
|
273
|
+
/** When this event happened, on whatever clock the environment has. A UA
|
|
274
|
+
* stamps every input event; the fallback is for a synthesised one. */
|
|
275
|
+
function stampOf(event) {
|
|
276
|
+
const stamp = event.timeStamp;
|
|
277
|
+
if (Number.isFinite(stamp) && stamp > 0)
|
|
278
|
+
return stamp;
|
|
279
|
+
return typeof performance === "object" && typeof performance.now === "function"
|
|
280
|
+
? performance.now()
|
|
281
|
+
: Date.now();
|
|
282
|
+
}
|
|
283
|
+
/** Record a position, and forget the ones the speed window has passed. */
|
|
284
|
+
function sample(drag, x, t) {
|
|
285
|
+
drag.samples.push({ x, t });
|
|
286
|
+
// Drop the oldest only while the NEXT one is still inside the window, so
|
|
287
|
+
// the trail always spans at least one interval to divide by.
|
|
288
|
+
while (drag.samples.length > 2) {
|
|
289
|
+
const second = drag.samples[1];
|
|
290
|
+
if (second === undefined || t - second.t <= SWIPE_VELOCITY_WINDOW_MS)
|
|
291
|
+
break;
|
|
292
|
+
drag.samples.shift();
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/** The finger's speed over the trail, in CSS pixels per millisecond. `0`
|
|
296
|
+
* where the environment gave no usable clock — an unknown speed is not a
|
|
297
|
+
* flick. */
|
|
298
|
+
function velocityOf(drag) {
|
|
299
|
+
const first = drag.samples[0];
|
|
300
|
+
const last = drag.samples[drag.samples.length - 1];
|
|
301
|
+
if (first === undefined || last === undefined)
|
|
302
|
+
return 0;
|
|
303
|
+
const elapsed = last.t - first.t;
|
|
304
|
+
if (elapsed <= 0)
|
|
305
|
+
return 0;
|
|
306
|
+
return Math.abs(last.x - first.x) / elapsed;
|
|
307
|
+
}
|
|
171
308
|
/**
|
|
172
309
|
* The gallery gestures for a media well holding `count` photographs.
|
|
173
310
|
*
|
|
@@ -178,9 +315,9 @@ export function useCardGallery(count) {
|
|
|
178
315
|
const ref = useRef(null);
|
|
179
316
|
const [active, setActive] = useState(0);
|
|
180
317
|
const [scrubbing, setScrubbing] = useState(false);
|
|
181
|
-
// The
|
|
182
|
-
//
|
|
183
|
-
const
|
|
318
|
+
// The drag in progress, or `null`. A ref rather than state: it changes on
|
|
319
|
+
// every move and no render depends on it.
|
|
320
|
+
const drag = useRef(null);
|
|
184
321
|
/**
|
|
185
322
|
* THE INDEX THIS HOOK ASKED FOR, and the whole of the fix.
|
|
186
323
|
*
|
|
@@ -243,28 +380,70 @@ export function useCardGallery(count) {
|
|
|
243
380
|
request(segmentIndex(event.clientX - rect.left, rect.width, count));
|
|
244
381
|
return;
|
|
245
382
|
}
|
|
246
|
-
const
|
|
247
|
-
if (
|
|
383
|
+
const current = drag.current;
|
|
384
|
+
if (current === null)
|
|
248
385
|
return;
|
|
249
|
-
|
|
386
|
+
sample(current, event.clientX, stampOf(event));
|
|
387
|
+
// ONE PHOTOGRAPH PER GESTURE. The trail keeps being recorded — a
|
|
388
|
+
// release still wants to know how the finger was moving — but the
|
|
389
|
+
// decision below is made once and the rest of the drag is scenery.
|
|
390
|
+
if (current.committed)
|
|
391
|
+
return;
|
|
392
|
+
const dx = event.clientX - current.x;
|
|
393
|
+
const dy = event.clientY - current.y;
|
|
394
|
+
if (Math.abs(dx) >= SWIPE_MIN_PX && Math.abs(dx) > Math.abs(dy) * SWIPE_AXIS_RATIO) {
|
|
395
|
+
current.crossed = true;
|
|
396
|
+
}
|
|
397
|
+
const step = swipeStep(dx, dy, current.width, velocityOf(current));
|
|
250
398
|
if (step === 0)
|
|
251
399
|
return;
|
|
252
|
-
|
|
253
|
-
// photograph per threshold rather than one per gesture.
|
|
254
|
-
origin.current = { x: event.clientX, y: event.clientY };
|
|
400
|
+
current.committed = true;
|
|
255
401
|
setScrubbing(false);
|
|
256
|
-
request((
|
|
402
|
+
request((at) => Math.min(count - 1, Math.max(0, at + step)));
|
|
257
403
|
}, [count, fine, many, request]);
|
|
258
404
|
const onPointerDown = useCallback((event) => {
|
|
259
405
|
if (!many || event.pointerType === "mouse")
|
|
260
406
|
return;
|
|
261
|
-
|
|
407
|
+
const box = ref.current;
|
|
408
|
+
drag.current = {
|
|
409
|
+
x: event.clientX,
|
|
410
|
+
y: event.clientY,
|
|
411
|
+
// Measured here, from the slide itself, and held for the gesture.
|
|
412
|
+
width: box === null ? 0 : measureSlideWidth(box),
|
|
413
|
+
samples: [{ x: event.clientX, t: stampOf(event) }],
|
|
414
|
+
committed: false,
|
|
415
|
+
crossed: false,
|
|
416
|
+
};
|
|
262
417
|
}, [many]);
|
|
418
|
+
/**
|
|
419
|
+
* The finger leaves.
|
|
420
|
+
*
|
|
421
|
+
* A gesture that earned its photograph already took it, mid-drag, the
|
|
422
|
+
* moment it crossed the threshold. What is left here is the REFUSED one: a
|
|
423
|
+
* drag that went sideways far enough to be read as a swipe and then stopped
|
|
424
|
+
* short. The strip goes back to the photograph it was showing, because a
|
|
425
|
+
* refused gesture that leaves the strip halfway is the defect wearing the
|
|
426
|
+
* other face.
|
|
427
|
+
*
|
|
428
|
+
* A release with no drag behind it touches nothing at all — that is the
|
|
429
|
+
* guard probe p23 bought: `pointerup` also arrives after a NATIVE scroll
|
|
430
|
+
* this hook never started, and scrolling "back" there means undoing the
|
|
431
|
+
* person's own swipe.
|
|
432
|
+
*/
|
|
263
433
|
const endDrag = useCallback(() => {
|
|
264
|
-
|
|
265
|
-
|
|
434
|
+
const current = drag.current;
|
|
435
|
+
drag.current = null;
|
|
436
|
+
if (current === null || !many)
|
|
437
|
+
return;
|
|
438
|
+
if (current.committed || !current.crossed)
|
|
439
|
+
return;
|
|
440
|
+
const box = ref.current;
|
|
441
|
+
if (box === null)
|
|
442
|
+
return;
|
|
443
|
+
showSlide(box, active, false);
|
|
444
|
+
}, [active, many]);
|
|
266
445
|
const onPointerLeave = useCallback((event) => {
|
|
267
|
-
|
|
446
|
+
drag.current = null;
|
|
268
447
|
if (!many)
|
|
269
448
|
return;
|
|
270
449
|
// THE REWIND IS A HOVER RULE, AND ONLY A HOVER RULE.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardGallery.js","sourceRoot":"","sources":["../../src/default/cardGallery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cardGallery.js","sourceRoot":"","sources":["../../src/default/cardGallery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE1D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC3D,yEAAyE;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;AACzE,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAEtE,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG,oCAAoC,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAE/B;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAa,EAAE,KAAa;IACxE,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CACvB,EAAU,EACV,EAAU,EACV,UAAU,GAAG,CAAC,EACd,QAAQ,GAAG,CAAC;IAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,yEAAyE;IACzE,iBAAiB;IACjB,IAAI,MAAM,GAAG,YAAY;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB;QAAE,OAAO,CAAC,CAAC;IACxD,uEAAuE;IACvE,+DAA+D;IAC/D,MAAM,GAAG,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,IAAI,CAAC,GAAG,IAAI,QAAQ,GAAG,oBAAoB;QAAE,OAAO,CAAC,CAAC;IACtD,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB;IAChD,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAc,8BAA8B,CAAC,CAAC;IAC7E,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;IACvE,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED;;;qDAGqD;AACrD,MAAM,UAAU,cAAc;IAC5B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC3F,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;YAAE,OAAO;QACrF,IAAI,KAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,KAA0B,EAAQ,EAAE;YACpD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,kEAAkE;QAClE,0EAA0E;QAC1E,wDAAwD;QACxD,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACjD,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,GAAG,EAAE;gBACV,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,IAAI,CAAC;AACd,CAAC;AA8BD;;;0DAG0D;AAC1D,SAAS,SAAS,CAAC,GAAgB,EAAE,KAAa,EAAE,OAAgB;IAClE,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAc,8BAA8B,CAAC,CAAC;IAC7E,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IAC3B,MAAM,IAAI,GACR,KAAK,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7F,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACzC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IAC1B,CAAC;AACH,CAAC;AAyBD;sEACsE;AACtE,SAAS,OAAO,CAAC,KAA4B;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU;QAC7E,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;QACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,0EAA0E;AAC1E,SAAS,MAAM,CAAC,IAAU,EAAE,CAAS,EAAE,CAAS;IAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B,yEAAyE;IACzE,6DAA6D;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,wBAAwB;YAAE,MAAM;QAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;YAEY;AACZ,SAAS,UAAU,CAAC,IAAU;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACjC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,0EAA0E;IAC1E,0CAA0C;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IACvC;;;;;;;;;;;;;OAaG;IACH,MAAM,SAAS,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;IAEvB,wEAAwE;IACxE,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,IAA4C,EAAQ,EAAE;QACrD,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,EACD,EAAE,CACH,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAa,EAAQ,EAAE;QACxD,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,0EAA0E;IAC1E,wEAAwE;IACxE,oBAAoB;IACpB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;QACxB,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QAClC,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACzC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAE9B,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAAwC,EAAQ,EAAE;QACjD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;YACxB,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO;YACzB,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACzC,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAC7B,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,iEAAiE;QACjE,kEAAkE;QAClE,mEAAmE;QACnE,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC;YACnF,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO;QACvB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,EACD,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAC7B,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAAwC,EAAQ,EAAE;QACjD,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO;YAAE,OAAO;QACnD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG;YACb,CAAC,EAAE,KAAK,CAAC,OAAO;YAChB,CAAC,EAAE,KAAK,CAAC,OAAO;YAChB,kEAAkE;YAClE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC;YAChD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF;;;;;;;;;;;;;;OAcG;IACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAS,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO;QAClD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;QACxB,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO;QACzB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnB,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,KAAwC,EAAQ,EAAE;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,qDAAqD;QACrD,EAAE;QACF,iEAAiE;QACjE,uEAAuE;QACvE,qEAAqE;QACrE,mEAAmE;QACnE,iEAAiE;QACjE,gEAAgE;QAChE,wCAAwC;QACxC,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO;YAAE,OAAO;QAC1C,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,EACD,CAAC,IAAI,EAAE,OAAO,CAAC,CAChB,CAAC;IAEF,OAAO;QACL,GAAG;QACH,MAAM;QACN,SAAS;QACT,aAAa;QACb,aAAa;QACb,aAAa;QACb,WAAW,EAAE,OAAO;QACpB,eAAe,EAAE,OAAO;QACxB,cAAc;KACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACjD,OAAO;QACL,mEAAmE;QACnE,yEAAyE;QACzE,2DAA2D;QAC3D,GAAG,GAAG,qBAAqB;QAC3B,qEAAqE;QACrE,qEAAqE;QACrE,0DAA0D;QAC1D,EAAE;QACF,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,EAAE;QACF,sEAAsE;QACtE,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,iBAAiB;QACjB,GAAG,OAAO,sCAAsC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;YACrE,oBAAoB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mCAAmC;YACzE,WAAW,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;YAC9D,iBAAiB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;YACxC,yCAAyC;YACzC,aAAa,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK;YAC9C,eAAe,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK;YAClD,qEAAqE;YACrE,SAAS;YACT,oCAAoC;QACtC,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,sEAAsE;QACtE,4BAA4B;QAC5B,GAAG,GAAG,mDAAmD;QACzD,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,YAAY;QACZ,GAAG,GAAG,4EAA4E;KACnF,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detailGallery.d.ts","sourceRoot":"","sources":["../../src/default/detailGallery.ts"],"names":[],"mappings":"AA+DA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,6DAA6D;AAC7D,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,yCAAyC;AACzC,eAAO,MAAM,sBAAsB,mCAAmC,CAAC;AAEvE,oEAAoE;AACpE,eAAO,MAAM,2BAA2B,mCAAmC,CAAC;AAE5E,oDAAoD;AACpD,eAAO,MAAM,8BAA8B,iCAAiC,CAAC;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,yCAAyC,CAAC;AAEnF;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAc1D;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAyCpE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"detailGallery.d.ts","sourceRoot":"","sources":["../../src/default/detailGallery.ts"],"names":[],"mappings":"AA+DA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,6DAA6D;AAC7D,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,yCAAyC;AACzC,eAAO,MAAM,sBAAsB,mCAAmC,CAAC;AAEvE,oEAAoE;AACpE,eAAO,MAAM,2BAA2B,mCAAmC,CAAC;AAE5E,oDAAoD;AACpD,eAAO,MAAM,8BAA8B,iCAAiC,CAAC;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,yCAAyC,CAAC;AAEnF;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAc1D;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAyCpE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CA2CzC"}
|
|
@@ -196,6 +196,15 @@ export function detailGalleryCss() {
|
|
|
196
196
|
.${LISTINGS_GALLERY_CLASS}[data-gallery-layout="strip"] > * {
|
|
197
197
|
flex: 0 0 ${LISTINGS_GALLERY_STRIP_BASIS};
|
|
198
198
|
scroll-snap-align: start;
|
|
199
|
+
/* EVERY PHOTOGRAPH IS A DESTINATION, not a waypoint. A mandatory snap type
|
|
200
|
+
alone only promises the strip will COME TO REST on a snap point — a fling
|
|
201
|
+
with any momentum behind it still crosses two or three photographs on its
|
|
202
|
+
way there, which is the owner's "the middle photo flies past" in its
|
|
203
|
+
native form. "always" makes the scroller stop at the first snap point it
|
|
204
|
+
reaches, so one gesture is one photograph here for the same reason the
|
|
205
|
+
card's gesture layer clamps its own step to one. The same declaration
|
|
206
|
+
SkinCarousel already carries on its slides. */
|
|
207
|
+
scroll-snap-stop: always;
|
|
199
208
|
}
|
|
200
209
|
.${LISTINGS_GALLERY_FRAME_CLASS} {
|
|
201
210
|
position: relative;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detailGallery.js","sourceRoot":"","sources":["../../src/default/detailGallery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"detailGallery.js","sourceRoot":"","sources":["../../src/default/detailGallery.ts"],"names":[],"mappings":"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"}
|
package/dist/default/index.d.ts
CHANGED
|
@@ -63,7 +63,7 @@ export { ListingSpecColumns, ListingSpecList, SPEC_FOLD_MIN_HIDDEN, specListCss,
|
|
|
63
63
|
export type { ListingSpecListProps } from "./ListingSpecList.js";
|
|
64
64
|
export { CardBadges, CardSpecLine, CARD_SPEC_LINE_CLASS, CARD_SPEC_STYLE_HREF, CARD_SPEC_TEXT_CLASS, cardSpecLineCss, } from "./CardBadges.js";
|
|
65
65
|
export type { CardBadgesProps } from "./CardBadges.js";
|
|
66
|
-
export { SWIPE_AXIS_RATIO, SWIPE_MIN_PX, cardGalleryCss, hasFinePointer, segmentIndex, swipeStep, useCardGallery, } from "./cardGallery.js";
|
|
66
|
+
export { SWIPE_AXIS_RATIO, SWIPE_COMMIT_FRACTION, SWIPE_FLICK_VELOCITY, SWIPE_MIN_PX, SWIPE_VELOCITY_WINDOW_MS, cardGalleryCss, hasFinePointer, measureSlideWidth, segmentIndex, swipeStep, useCardGallery, } from "./cardGallery.js";
|
|
67
67
|
export type { CardGallery } from "./cardGallery.js";
|
|
68
68
|
export { ListingActions } from "./ListingActions.js";
|
|
69
69
|
export type { ListingActionsConfig, ListingActionsProps, } from "./ListingActions.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/default/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/default/index.ts"],"names":[],"mappings":"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"}
|
package/dist/default/index.js
CHANGED
|
@@ -69,7 +69,7 @@ export { ListingPhoto, ListingPhotoStrip, LISTING_PHOTO_ASPECT, } from "./Listin
|
|
|
69
69
|
export { ListingSpecColumns, ListingSpecList, SPEC_FOLD_MIN_HIDDEN, specListCss, } from "./ListingSpecList.js";
|
|
70
70
|
export { CardBadges, CardSpecLine, CARD_SPEC_LINE_CLASS, CARD_SPEC_STYLE_HREF, CARD_SPEC_TEXT_CLASS, cardSpecLineCss, } from "./CardBadges.js";
|
|
71
71
|
// ── the card gallery's two gestures ─────────────────────────────────────────
|
|
72
|
-
export { SWIPE_AXIS_RATIO, SWIPE_MIN_PX, cardGalleryCss, hasFinePointer, segmentIndex, swipeStep, useCardGallery, } from "./cardGallery.js";
|
|
72
|
+
export { SWIPE_AXIS_RATIO, SWIPE_COMMIT_FRACTION, SWIPE_FLICK_VELOCITY, SWIPE_MIN_PX, SWIPE_VELOCITY_WINDOW_MS, cardGalleryCss, hasFinePointer, measureSlideWidth, segmentIndex, swipeStep, useCardGallery, } from "./cardGallery.js";
|
|
73
73
|
// ── the reader's two actions: save it, or send it to somebody ───────────────
|
|
74
74
|
export { ListingActions } from "./ListingActions.js";
|
|
75
75
|
export { ShareAction } from "./ShareAction.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/default/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EACL,WAAW;AACX,6EAA6E;AAC7E,6EAA6E;AAC7E,oBAAoB,EACpB,sBAAsB;AACtB,0EAA0E;AAC1E,4EAA4E;AAC5E,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB;AACnB,wEAAwE;AACxE,+DAA+D;AAC/D,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAKhC,8EAA8E;AAC9E,+EAA+E;AAC/E,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,6EAA6E;AAC7E,qEAAqE;AACrE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,8EAA8E;AAC9E,+EAA+E;AAC/E,8CAA8C;AAC9C,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,gEAAgE;AAChE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AASlC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnF,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,+EAA+E;AAC/E,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,+EAA+E;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/default/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `titleClamp` — how many lines of a listing title a card shows, and where the
|
|
3
|
+
* cut goes when there are more.
|
|
4
|
+
*
|
|
5
|
+
* ── the defect ────────────────────────────────────────────────────────────
|
|
6
|
+
*
|
|
7
|
+
* The tile card (`ListingFeedCard`) clamped its title to two lines. The grid
|
|
8
|
+
* card (`ListingCard`) used antd's `<Typography.Text ellipsis>`, which is ONE
|
|
9
|
+
* line, and one line of a job or a part title lands in the middle of a word:
|
|
10
|
+
* the live storefront's home grid drew titles cut as "Electrician - construc…"
|
|
11
|
+
* and "Administrator - restaur…". The reference wraps the same titles over two
|
|
12
|
+
* lines and cuts, if it has to, at the end of the second.
|
|
13
|
+
*
|
|
14
|
+
* Two cards, two different answers to the same question, and the wrong one was
|
|
15
|
+
* on the busiest surface. So the answer lives here once and both cards read it.
|
|
16
|
+
*
|
|
17
|
+
* ── the rule ──────────────────────────────────────────────────────────────
|
|
18
|
+
*
|
|
19
|
+
* display: -webkit-box + -webkit-box-orient: vertical + -webkit-line-clamp
|
|
20
|
+
* two lines, with the browser's own ellipsis at the end of the second.
|
|
21
|
+
* overflow-wrap: normal
|
|
22
|
+
* a long word moves to the next line whole rather than being broken across
|
|
23
|
+
* the wrap. Without it a narrow grid track will split a word to fill a
|
|
24
|
+
* line, which is the same defect one level down.
|
|
25
|
+
*
|
|
26
|
+
* ── why a hoisted stylesheet and not an inline style ──────────────────────
|
|
27
|
+
*
|
|
28
|
+
* `-webkit-line-clamp` and `-webkit-box-orient` do not survive the trip
|
|
29
|
+
* through a React style object: the serializer and every DOM implementation
|
|
30
|
+
* that is not a browser drop them silently, so a card written that way clamps
|
|
31
|
+
* in Chrome, does not clamp in a test, and nothing anywhere says which. A
|
|
32
|
+
* hoisted sheet keeps one copy for the document and makes the rule something a
|
|
33
|
+
* test can read.
|
|
34
|
+
*
|
|
35
|
+
* Both cards emit the sheet under the SAME `href`, which is how React 19
|
|
36
|
+
* deduplicates it — a second href carrying the same rule would hoist a second
|
|
37
|
+
* copy for every page showing both card shapes.
|
|
38
|
+
*/
|
|
39
|
+
/** Lines of title a card draws before it clips. */
|
|
40
|
+
export declare const TITLE_CLAMP_LINES = 2;
|
|
41
|
+
/** The class a clamped title carries. */
|
|
42
|
+
export declare const TITLE_CLAMP_CLASS = "stapel-listing-title-clamp";
|
|
43
|
+
/** The `href` the hoisted stylesheet is deduplicated by. */
|
|
44
|
+
export declare const TITLE_CLAMP_STYLE_HREF = "stapel-listings-title-clamp";
|
|
45
|
+
/** The rule itself, as text, so a test can assert it. */
|
|
46
|
+
export declare function titleClampCss(): string;
|
|
47
|
+
//# sourceMappingURL=titleClamp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"titleClamp.d.ts","sourceRoot":"","sources":["../../src/default/titleClamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,yCAAyC;AACzC,eAAO,MAAM,iBAAiB,+BAA+B,CAAC;AAE9D,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AAEpE,yDAAyD;AACzD,wBAAgB,aAAa,IAAI,MAAM,CAMtC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `titleClamp` — how many lines of a listing title a card shows, and where the
|
|
3
|
+
* cut goes when there are more.
|
|
4
|
+
*
|
|
5
|
+
* ── the defect ────────────────────────────────────────────────────────────
|
|
6
|
+
*
|
|
7
|
+
* The tile card (`ListingFeedCard`) clamped its title to two lines. The grid
|
|
8
|
+
* card (`ListingCard`) used antd's `<Typography.Text ellipsis>`, which is ONE
|
|
9
|
+
* line, and one line of a job or a part title lands in the middle of a word:
|
|
10
|
+
* the live storefront's home grid drew titles cut as "Electrician - construc…"
|
|
11
|
+
* and "Administrator - restaur…". The reference wraps the same titles over two
|
|
12
|
+
* lines and cuts, if it has to, at the end of the second.
|
|
13
|
+
*
|
|
14
|
+
* Two cards, two different answers to the same question, and the wrong one was
|
|
15
|
+
* on the busiest surface. So the answer lives here once and both cards read it.
|
|
16
|
+
*
|
|
17
|
+
* ── the rule ──────────────────────────────────────────────────────────────
|
|
18
|
+
*
|
|
19
|
+
* display: -webkit-box + -webkit-box-orient: vertical + -webkit-line-clamp
|
|
20
|
+
* two lines, with the browser's own ellipsis at the end of the second.
|
|
21
|
+
* overflow-wrap: normal
|
|
22
|
+
* a long word moves to the next line whole rather than being broken across
|
|
23
|
+
* the wrap. Without it a narrow grid track will split a word to fill a
|
|
24
|
+
* line, which is the same defect one level down.
|
|
25
|
+
*
|
|
26
|
+
* ── why a hoisted stylesheet and not an inline style ──────────────────────
|
|
27
|
+
*
|
|
28
|
+
* `-webkit-line-clamp` and `-webkit-box-orient` do not survive the trip
|
|
29
|
+
* through a React style object: the serializer and every DOM implementation
|
|
30
|
+
* that is not a browser drop them silently, so a card written that way clamps
|
|
31
|
+
* in Chrome, does not clamp in a test, and nothing anywhere says which. A
|
|
32
|
+
* hoisted sheet keeps one copy for the document and makes the rule something a
|
|
33
|
+
* test can read.
|
|
34
|
+
*
|
|
35
|
+
* Both cards emit the sheet under the SAME `href`, which is how React 19
|
|
36
|
+
* deduplicates it — a second href carrying the same rule would hoist a second
|
|
37
|
+
* copy for every page showing both card shapes.
|
|
38
|
+
*/
|
|
39
|
+
/** Lines of title a card draws before it clips. */
|
|
40
|
+
export const TITLE_CLAMP_LINES = 2;
|
|
41
|
+
/** The class a clamped title carries. */
|
|
42
|
+
export const TITLE_CLAMP_CLASS = "stapel-listing-title-clamp";
|
|
43
|
+
/** The `href` the hoisted stylesheet is deduplicated by. */
|
|
44
|
+
export const TITLE_CLAMP_STYLE_HREF = "stapel-listings-title-clamp";
|
|
45
|
+
/** The rule itself, as text, so a test can assert it. */
|
|
46
|
+
export function titleClampCss() {
|
|
47
|
+
return (`.${TITLE_CLAMP_CLASS}{display:-webkit-box;-webkit-box-orient:vertical;` +
|
|
48
|
+
`-webkit-line-clamp:${String(TITLE_CLAMP_LINES)};overflow:hidden;` +
|
|
49
|
+
`overflow-wrap:normal}`);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=titleClamp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"titleClamp.js","sourceRoot":"","sources":["../../src/default/titleClamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,mDAAmD;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,yCAAyC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAE9D,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAEpE,yDAAyD;AACzD,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,IAAI,iBAAiB,mDAAmD;QACxE,sBAAsB,MAAM,CAAC,iBAAiB,CAAC,mBAAmB;QAClE,uBAAuB,CACxB,CAAC;AACJ,CAAC"}
|
package/llms.txt
CHANGED
package/manifest.json
CHANGED
package/nav-manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stapel/listings-react",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.4",
|
|
4
4
|
"description": "Headless React pair for stapel-listings: a typed client over the draft twin, the composer that turns a category schema into a submittable listing, and the owner's dashboard. Two independent axes are rendered as two — lifecycle `status` decides visibility and `moderation_status` decides nothing about it, so an edit to a live listing stays live and says 'under review' instead of vanishing. Feature values are drawn and mirrored by @stapel/attributes-react; photos arrive as an injected upload bag whose `refs` ARE `images_draft` and whose `settled` gates the submit; a publish refusal is routed onto the control that caused it by slug. Zero visual opinion in the main entry; an opt-in /default subpath ships the antd skin.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -103,12 +103,12 @@
|
|
|
103
103
|
"typescript": "^5.8.3",
|
|
104
104
|
"vitest": "^3.2.4",
|
|
105
105
|
"@stapel/attributes-react": "^0.17.0",
|
|
106
|
+
"@stapel/core": "^0.26.1",
|
|
106
107
|
"@stapel/currencies-react": "^0.4.0",
|
|
107
108
|
"@stapel/image": "^0.4.2",
|
|
108
109
|
"@stapel/showcase": "^0.3.0",
|
|
109
110
|
"@stapel/tokens": "^0.8.0",
|
|
110
|
-
"@stapel/tokens-antd": "^0.18.
|
|
111
|
-
"@stapel/core": "^0.26.1"
|
|
111
|
+
"@stapel/tokens-antd": "^0.18.1"
|
|
112
112
|
},
|
|
113
113
|
"engines": {
|
|
114
114
|
"node": ">=22"
|
|
@@ -128,6 +128,11 @@ import { CardBadges, CardSpecLine } from "./CardBadges.js";
|
|
|
128
128
|
import { SignInLink } from "./SignInLink.js";
|
|
129
129
|
import { PHOTO_LINK_CLASS, ListingPhotoStrip } from "./ListingPhoto.js";
|
|
130
130
|
import { ListingPrice } from "./ListingPrice.js";
|
|
131
|
+
import {
|
|
132
|
+
TITLE_CLAMP_CLASS,
|
|
133
|
+
TITLE_CLAMP_STYLE_HREF,
|
|
134
|
+
titleClampCss,
|
|
135
|
+
} from "./titleClamp.js";
|
|
131
136
|
import type { CategoryFeaturesProp, ThemeModeProp } from "./types.js";
|
|
132
137
|
|
|
133
138
|
/**
|
|
@@ -589,7 +594,17 @@ export function ListingCard(props: ListingCardProps): ReactElement {
|
|
|
589
594
|
/>
|
|
590
595
|
</Typography.Text>
|
|
591
596
|
|
|
592
|
-
|
|
597
|
+
{/*
|
|
598
|
+
Two lines, clipped at the end of the second — NOT antd's `ellipsis`,
|
|
599
|
+
which is one line and lands the cut in the middle of a word: this card
|
|
600
|
+
cut job titles mid-word on the live storefront's home grid while the
|
|
601
|
+
tile card beside it wrapped the same title over two lines. The rule is
|
|
602
|
+
`titleClamp.ts`'s, shared with that tile.
|
|
603
|
+
*/}
|
|
604
|
+
<Typography.Text
|
|
605
|
+
className={TITLE_CLAMP_CLASS}
|
|
606
|
+
data-testid="listings-card-title"
|
|
607
|
+
>
|
|
593
608
|
{title}
|
|
594
609
|
</Typography.Text>
|
|
595
610
|
|
|
@@ -630,6 +645,9 @@ export function ListingCard(props: ListingCardProps): ReactElement {
|
|
|
630
645
|
<style href={CARD_TARGET_STYLE_HREF} precedence="default">
|
|
631
646
|
{cardTargetCss()}
|
|
632
647
|
</style>
|
|
648
|
+
<style href={TITLE_CLAMP_STYLE_HREF} precedence="default">
|
|
649
|
+
{titleClampCss()}
|
|
650
|
+
</style>
|
|
633
651
|
<Card
|
|
634
652
|
size="small"
|
|
635
653
|
data-testid="listings-card"
|