@stapel/listings-react 0.29.1 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +142 -0
- package/dist/default/CardBadges.d.ts +32 -0
- package/dist/default/CardBadges.d.ts.map +1 -1
- package/dist/default/CardBadges.js +41 -3
- package/dist/default/CardBadges.js.map +1 -1
- package/dist/default/ListingDetailPane.d.ts +115 -8
- package/dist/default/ListingDetailPane.d.ts.map +1 -1
- package/dist/default/ListingDetailPane.js +366 -177
- package/dist/default/ListingDetailPane.js.map +1 -1
- package/dist/default/ListingRelated.d.ts +88 -0
- package/dist/default/ListingRelated.d.ts.map +1 -0
- package/dist/default/ListingRelated.js +41 -0
- package/dist/default/ListingRelated.js.map +1 -0
- package/dist/default/ListingSpecList.d.ts +29 -34
- package/dist/default/ListingSpecList.d.ts.map +1 -1
- package/dist/default/ListingSpecList.js +67 -12
- package/dist/default/ListingSpecList.js.map +1 -1
- package/dist/default/condensedBar.d.ts +17 -0
- package/dist/default/condensedBar.d.ts.map +1 -0
- package/dist/default/condensedBar.js +73 -0
- package/dist/default/condensedBar.js.map +1 -0
- package/dist/default/detailGallery.d.ts +40 -40
- package/dist/default/detailGallery.d.ts.map +1 -1
- package/dist/default/detailGallery.js +129 -0
- package/dist/default/detailGallery.js.map +1 -1
- package/dist/default/detailRhythm.d.ts +90 -0
- package/dist/default/detailRhythm.d.ts.map +1 -0
- package/dist/default/detailRhythm.js +51 -0
- package/dist/default/detailRhythm.js.map +1 -0
- package/dist/default/icons.d.ts +13 -0
- package/dist/default/icons.d.ts.map +1 -1
- package/dist/default/icons.js +15 -0
- package/dist/default/icons.js.map +1 -1
- package/dist/default/index.d.ts +9 -5
- package/dist/default/index.d.ts.map +1 -1
- package/dist/default/index.js +13 -4
- package/dist/default/index.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +9 -0
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/keys.d.ts +23 -0
- package/dist/i18n/keys.d.ts.map +1 -1
- package/dist/i18n/keys.js +32 -0
- package/dist/i18n/keys.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +9 -0
- package/dist/i18n/ru.js.map +1 -1
- package/llms.txt +3 -2
- package/manifest.json +28 -1
- package/nav-manifest.json +1 -1
- package/package.json +4 -4
- package/src/analytics/generated/events.json +1 -1
- package/src/default/CardBadges.tsx +65 -4
- package/src/default/ListingDetailPane.tsx +501 -55
- package/src/default/ListingRelated.tsx +154 -0
- package/src/default/ListingSpecList.tsx +64 -1
- package/src/default/condensedBar.ts +74 -0
- package/src/default/detailGallery.ts +141 -0
- package/src/default/detailRhythm.ts +107 -0
- package/src/default/icons.tsx +32 -0
- package/src/default/index.ts +46 -2
- package/src/i18n/es.ts +9 -0
- package/src/i18n/keys.ts +32 -0
- package/src/i18n/ru.ts +9 -0
|
@@ -1,43 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HOW THE LISTING PAGE LAYS OUT ITS PHOTOGRAPHS — and why the answer is a
|
|
3
|
-
* class and a prop rather than an inline `display`.
|
|
4
|
-
*
|
|
5
|
-
* ── The defect a container was carrying ───────────────────────────────────
|
|
6
|
-
*
|
|
7
|
-
* The gallery is an element-width grid (`repeat(auto-fit, minmax(14rem,
|
|
8
|
-
* 1fr))`), which on a 390px phone resolves to ONE column: a listing with three
|
|
9
|
-
* pictures pushes its own title and price nearly three screens down, and the
|
|
10
|
-
* first thing a person sees after tapping a search result is a photograph with
|
|
11
|
-
* nothing beside it. A phone lays photographs out as a snap-scrolling STRIP —
|
|
12
|
-
* one visible with the next peeking, title and price directly under it.
|
|
13
|
-
*
|
|
14
|
-
* That is layout, and layout is the container's to decide. But the pane wrote
|
|
15
|
-
* `display: grid` INLINE, and an inline declaration is beaten by nothing that
|
|
16
|
-
* is not `!important` — so a live storefront carried
|
|
17
|
-
* `[data-testid="listings-detail-gallery"] { display: flex !important }`
|
|
18
|
-
* against a pair's own geometry, named by a test id, to say a thing the pair
|
|
19
|
-
* offered no way to say (a client storefront's own stylesheet, §2).
|
|
20
|
-
*
|
|
21
|
-
* ── The seam ──────────────────────────────────────────────────────────────
|
|
22
|
-
*
|
|
23
|
-
* Two halves, and both matter:
|
|
24
|
-
*
|
|
25
|
-
* 1. `<ListingDetailPane galleryLayout>` — the pane ships BOTH layouts and
|
|
26
|
-
* the host names one, exactly as it already names `layout="split"` and
|
|
27
|
-
* `gutter`. The host is the side that knows the viewport it granted;
|
|
28
|
-
* a media query guessed in a leaf is the thing this package does not do.
|
|
29
|
-
* 2. `display` and the track are no longer inline. They live on this
|
|
30
|
-
* stylesheet, at one class plus one attribute, so a host that wants
|
|
31
|
-
* something neither arm offers can still write CSS for it at its own
|
|
32
|
-
* breakpoints — and needs no `!important` to be heard, only a selector of
|
|
33
|
-
* its own (`[data-testid="listings-detail-gallery"][data-gallery-layout]`
|
|
34
|
-
* ties; add any third condition and it wins).
|
|
35
|
-
*
|
|
36
|
-
* What stays inline is what nobody overrides and what a stylesheet would make
|
|
37
|
-
* worse: the `gap` (the page's own responsive gutter token, D418 — a var, so
|
|
38
|
-
* a resize reflows it) and `position: relative`, which is the containing block
|
|
39
|
-
* the `actionsPlacement="gallery"` overlay is pinned to.
|
|
40
|
-
*/
|
|
41
1
|
/**
|
|
42
2
|
* The narrowest a gallery tile may get before the grid drops a column. A
|
|
43
3
|
* measure rather than a pixel: the tiles then fill whatever the ELEMENT is,
|
|
@@ -56,6 +16,19 @@ export type ListingGalleryLayout = "grid" | "strip";
|
|
|
56
16
|
export declare const LISTINGS_GALLERY_CLASS = "stapel-listings-detail-gallery";
|
|
57
17
|
/** The `href` the hoisted gallery stylesheet is deduplicated by. */
|
|
58
18
|
export declare const LISTINGS_GALLERY_STYLE_HREF = "stapel-listings-detail-gallery";
|
|
19
|
+
/** The class the strip's "3 of 16" pill carries. */
|
|
20
|
+
export declare const LISTINGS_GALLERY_COUNTER_CLASS = "stapel-listings-detail-count";
|
|
21
|
+
/**
|
|
22
|
+
* The class on the box that HOLDS the strip and its counter.
|
|
23
|
+
*
|
|
24
|
+
* A frame rather than the gallery itself, and the reason is mechanical: in the
|
|
25
|
+
* strip arm the gallery element IS the scroll container, and an absolutely
|
|
26
|
+
* positioned child of a scroller is laid out against its padding box — it
|
|
27
|
+
* scrolls away with the third photograph. It also cannot be a child of the
|
|
28
|
+
* strip at all, because `> *` makes every child a slide. So the counter is a
|
|
29
|
+
* sibling of the strip inside a box that does not scroll.
|
|
30
|
+
*/
|
|
31
|
+
export declare const LISTINGS_GALLERY_FRAME_CLASS = "stapel-listings-detail-gallery-frame";
|
|
59
32
|
/**
|
|
60
33
|
* How much of the strip's width ONE photograph takes.
|
|
61
34
|
*
|
|
@@ -65,6 +38,33 @@ export declare const LISTINGS_GALLERY_STYLE_HREF = "stapel-listings-detail-galle
|
|
|
65
38
|
* of a screenshot.
|
|
66
39
|
*/
|
|
67
40
|
export declare const LISTINGS_GALLERY_STRIP_BASIS = "86%";
|
|
41
|
+
/**
|
|
42
|
+
* The index of the child whose leading edge is nearest the box's.
|
|
43
|
+
*
|
|
44
|
+
* Exported because it is the whole claim of {@link useGalleryPosition} and a
|
|
45
|
+
* test can put rectangles in front of it without a layout engine.
|
|
46
|
+
*/
|
|
47
|
+
export declare function nearestPhotoIndex(box: HTMLElement): number;
|
|
48
|
+
/** What the gallery box is handed back — see {@link useGalleryPosition}. */
|
|
49
|
+
export interface GalleryPosition {
|
|
50
|
+
/** The photograph on screen, 0-based. */
|
|
51
|
+
readonly active: number;
|
|
52
|
+
/** Attach to the scrolling box. */
|
|
53
|
+
readonly ref: (node: HTMLElement | null) => (() => void) | undefined;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* WHICH PHOTOGRAPH THE STRIP IS SHOWING — read off the strip itself.
|
|
57
|
+
*
|
|
58
|
+
* `enabled` is false for the grid arm and for a single photograph: a grid does
|
|
59
|
+
* not scroll horizontally and a lone picture has no position, so neither pays
|
|
60
|
+
* for a listener. The ref then attaches nothing at all.
|
|
61
|
+
*
|
|
62
|
+
* The measurement is throttled to one per animation frame, because a momentum
|
|
63
|
+
* scroll fires dozens of `scroll` events per frame and each measurement is a
|
|
64
|
+
* layout flush. The state write is guarded on a CHANGE, so a scroll across one
|
|
65
|
+
* photograph costs one render rather than sixty.
|
|
66
|
+
*/
|
|
67
|
+
export declare function useGalleryPosition(enabled: boolean): GalleryPosition;
|
|
68
68
|
/**
|
|
69
69
|
* The gallery's layout rules, for the hoisted `<style>`.
|
|
70
70
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detailGallery.d.ts","sourceRoot":"","sources":["../../src/default/detailGallery.ts"],"names":[],"mappings":"
|
|
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,CAkCzC"}
|
|
@@ -37,7 +37,29 @@
|
|
|
37
37
|
* worse: the `gap` (the page's own responsive gutter token, D418 — a var, so
|
|
38
38
|
* a resize reflows it) and `position: relative`, which is the containing block
|
|
39
39
|
* the `actionsPlacement="gallery"` overlay is pinned to.
|
|
40
|
+
*
|
|
41
|
+
* ── WHERE THE STRIP IS, and why a tap could not answer it ─────────────────
|
|
42
|
+
*
|
|
43
|
+
* The strip arm is a native scroll container: a finger moves it, a fling
|
|
44
|
+
* settles it on a snap point, and neither of those is an event this package
|
|
45
|
+
* fires. So the page carried a strip that scrolled correctly and a "1 of 7"
|
|
46
|
+
* that did not move — measured on the reference walk (§20b: `scrollLeft`
|
|
47
|
+
* driven a full slide, the indicator still reading the first photograph).
|
|
48
|
+
* Anything keyed off a TAP is the wrong instrument here, because the gesture
|
|
49
|
+
* that changes the photograph is not a tap.
|
|
50
|
+
*
|
|
51
|
+
* {@link useGalleryPosition} is the answer, and it is the strip's own
|
|
52
|
+
* `scroll` event throttled to one measurement per animation frame — the same
|
|
53
|
+
* shape `SkinCarousel` already uses for the card's dots, written here because
|
|
54
|
+
* the detail gallery is this package's own element and mounts no carousel.
|
|
55
|
+
* `scrollend` is deliberately NOT the trigger: Safari has no such event, and
|
|
56
|
+
* an indicator that only settles is an indicator that lies for the length of
|
|
57
|
+
* a fling. The index is read from live rectangles rather than from
|
|
58
|
+
* `scrollLeft / slideWidth`, for the reason `nearestSlideIndex` gives: the
|
|
59
|
+
* arithmetic version has to know the gap, the peek and the writing direction.
|
|
40
60
|
*/
|
|
61
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
62
|
+
import { fontSize, radii, spacing } from "@stapel/tokens";
|
|
41
63
|
/**
|
|
42
64
|
* The narrowest a gallery tile may get before the grid drops a column. A
|
|
43
65
|
* measure rather than a pixel: the tiles then fill whatever the ELEMENT is,
|
|
@@ -54,6 +76,19 @@ export const DETAIL_PHOTO_MIN = "14rem";
|
|
|
54
76
|
export const LISTINGS_GALLERY_CLASS = "stapel-listings-detail-gallery";
|
|
55
77
|
/** The `href` the hoisted gallery stylesheet is deduplicated by. */
|
|
56
78
|
export const LISTINGS_GALLERY_STYLE_HREF = "stapel-listings-detail-gallery";
|
|
79
|
+
/** The class the strip's "3 of 16" pill carries. */
|
|
80
|
+
export const LISTINGS_GALLERY_COUNTER_CLASS = "stapel-listings-detail-count";
|
|
81
|
+
/**
|
|
82
|
+
* The class on the box that HOLDS the strip and its counter.
|
|
83
|
+
*
|
|
84
|
+
* A frame rather than the gallery itself, and the reason is mechanical: in the
|
|
85
|
+
* strip arm the gallery element IS the scroll container, and an absolutely
|
|
86
|
+
* positioned child of a scroller is laid out against its padding box — it
|
|
87
|
+
* scrolls away with the third photograph. It also cannot be a child of the
|
|
88
|
+
* strip at all, because `> *` makes every child a slide. So the counter is a
|
|
89
|
+
* sibling of the strip inside a box that does not scroll.
|
|
90
|
+
*/
|
|
91
|
+
export const LISTINGS_GALLERY_FRAME_CLASS = "stapel-listings-detail-gallery-frame";
|
|
57
92
|
/**
|
|
58
93
|
* How much of the strip's width ONE photograph takes.
|
|
59
94
|
*
|
|
@@ -63,6 +98,82 @@ export const LISTINGS_GALLERY_STYLE_HREF = "stapel-listings-detail-gallery";
|
|
|
63
98
|
* of a screenshot.
|
|
64
99
|
*/
|
|
65
100
|
export const LISTINGS_GALLERY_STRIP_BASIS = "86%";
|
|
101
|
+
/**
|
|
102
|
+
* The index of the child whose leading edge is nearest the box's.
|
|
103
|
+
*
|
|
104
|
+
* Exported because it is the whole claim of {@link useGalleryPosition} and a
|
|
105
|
+
* test can put rectangles in front of it without a layout engine.
|
|
106
|
+
*/
|
|
107
|
+
export function nearestPhotoIndex(box) {
|
|
108
|
+
const origin = box.getBoundingClientRect().left;
|
|
109
|
+
let best = 0;
|
|
110
|
+
let bestDistance = Number.POSITIVE_INFINITY;
|
|
111
|
+
for (let i = 0; i < box.children.length; i += 1) {
|
|
112
|
+
const child = box.children.item(i);
|
|
113
|
+
if (child === null)
|
|
114
|
+
continue;
|
|
115
|
+
const distance = Math.abs(child.getBoundingClientRect().left - origin);
|
|
116
|
+
if (distance < bestDistance) {
|
|
117
|
+
bestDistance = distance;
|
|
118
|
+
best = i;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return best;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* WHICH PHOTOGRAPH THE STRIP IS SHOWING — read off the strip itself.
|
|
125
|
+
*
|
|
126
|
+
* `enabled` is false for the grid arm and for a single photograph: a grid does
|
|
127
|
+
* not scroll horizontally and a lone picture has no position, so neither pays
|
|
128
|
+
* for a listener. The ref then attaches nothing at all.
|
|
129
|
+
*
|
|
130
|
+
* The measurement is throttled to one per animation frame, because a momentum
|
|
131
|
+
* scroll fires dozens of `scroll` events per frame and each measurement is a
|
|
132
|
+
* layout flush. The state write is guarded on a CHANGE, so a scroll across one
|
|
133
|
+
* photograph costs one render rather than sixty.
|
|
134
|
+
*/
|
|
135
|
+
export function useGalleryPosition(enabled) {
|
|
136
|
+
const [active, setActive] = useState(0);
|
|
137
|
+
const frame = useRef(null);
|
|
138
|
+
// Reset when the arm goes away, so a host toggling `galleryLayout` does not
|
|
139
|
+
// keep a stale index for a grid nobody can scroll back.
|
|
140
|
+
useEffect(() => {
|
|
141
|
+
if (!enabled)
|
|
142
|
+
setActive(0);
|
|
143
|
+
}, [enabled]);
|
|
144
|
+
const ref = useCallback((node) => {
|
|
145
|
+
if (node === null || !enabled)
|
|
146
|
+
return undefined;
|
|
147
|
+
const read = () => {
|
|
148
|
+
frame.current = null;
|
|
149
|
+
setActive(nearestPhotoIndex(node));
|
|
150
|
+
};
|
|
151
|
+
const onScroll = () => {
|
|
152
|
+
if (frame.current !== null)
|
|
153
|
+
return;
|
|
154
|
+
// No rAF (an old jsdom, a server-side shim): measure straight away.
|
|
155
|
+
// A throttle that cannot be scheduled is not a reason to stop
|
|
156
|
+
// reporting where the strip is.
|
|
157
|
+
if (typeof requestAnimationFrame !== "function") {
|
|
158
|
+
read();
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
frame.current = requestAnimationFrame(read);
|
|
162
|
+
};
|
|
163
|
+
// A strip can mount already scrolled (a restored position), so the
|
|
164
|
+
// indicator opens truthful rather than at 1.
|
|
165
|
+
read();
|
|
166
|
+
node.addEventListener("scroll", onScroll, { passive: true });
|
|
167
|
+
return () => {
|
|
168
|
+
node.removeEventListener("scroll", onScroll);
|
|
169
|
+
if (frame.current !== null && typeof cancelAnimationFrame === "function") {
|
|
170
|
+
cancelAnimationFrame(frame.current);
|
|
171
|
+
}
|
|
172
|
+
frame.current = null;
|
|
173
|
+
};
|
|
174
|
+
}, [enabled]);
|
|
175
|
+
return { active, ref };
|
|
176
|
+
}
|
|
66
177
|
/**
|
|
67
178
|
* The gallery's layout rules, for the hoisted `<style>`.
|
|
68
179
|
*
|
|
@@ -86,6 +197,24 @@ export function detailGalleryCss() {
|
|
|
86
197
|
flex: 0 0 ${LISTINGS_GALLERY_STRIP_BASIS};
|
|
87
198
|
scroll-snap-align: start;
|
|
88
199
|
}
|
|
200
|
+
.${LISTINGS_GALLERY_FRAME_CLASS} {
|
|
201
|
+
position: relative;
|
|
202
|
+
min-inline-size: 0;
|
|
203
|
+
}
|
|
204
|
+
.${LISTINGS_GALLERY_COUNTER_CLASS} {
|
|
205
|
+
position: absolute;
|
|
206
|
+
inset-block-end: ${String(spacing[2])}px;
|
|
207
|
+
inset-inline-end: ${String(spacing[2])}px;
|
|
208
|
+
z-index: 1;
|
|
209
|
+
pointer-events: none;
|
|
210
|
+
padding: ${String(spacing[1] / 2)}px ${String(spacing[2])}px;
|
|
211
|
+
border-radius: ${String(radii.full)}px;
|
|
212
|
+
background: rgba(0, 0, 0, 0.55);
|
|
213
|
+
color: #fff;
|
|
214
|
+
font-size: ${String(fontSize.xs.fontSize)}px;
|
|
215
|
+
line-height: ${String(fontSize.xs.lineHeight)}px;
|
|
216
|
+
font-variant-numeric: tabular-nums;
|
|
217
|
+
}
|
|
89
218
|
`.trim();
|
|
90
219
|
}
|
|
91
220
|
//# sourceMappingURL=detailGallery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detailGallery.js","sourceRoot":"","sources":["../../src/default/detailGallery.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"detailGallery.js","sourceRoot":"","sources":["../../src/default/detailGallery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE GAP BETWEEN THE LISTING PAGE'S BLOCKS, AND THE PANE IS THE ONE WHO SAYS
|
|
3
|
+
* IT.
|
|
4
|
+
*
|
|
5
|
+
* ── What was on screen ────────────────────────────────────────────────────
|
|
6
|
+
*
|
|
7
|
+
* `<ListingDetailPane>` stacks its blocks in a `<Flex vertical gap>` and
|
|
8
|
+
* declares 16px (12px in the buy column). Measured on the stand by the
|
|
9
|
+
* tidiness probe at 1440 and 390, the gaps INSIDE that flex were 111.05,
|
|
10
|
+
* 53.59, 42.39, 29 and 27 pixels. Five distances, none of them 16, none of
|
|
11
|
+
* them chosen by anybody.
|
|
12
|
+
*
|
|
13
|
+
* The cause is not the gap. It is that a flex `gap` governs only the space a
|
|
14
|
+
* container puts BETWEEN its children, and half the children here are antd
|
|
15
|
+
* components carrying outer margins of their own:
|
|
16
|
+
*
|
|
17
|
+
* `<Divider>` 24px above and 24px below, from antd's own sheet, so
|
|
18
|
+
* one horizontal rule inside a 16px column costs 40 +
|
|
19
|
+
* 40;
|
|
20
|
+
* `<Typography.Title>` a margin-block-start proportional to its level, which
|
|
21
|
+
* is right for prose in a document flow and is a second
|
|
22
|
+
* opinion inside a container that already spaces its
|
|
23
|
+
* children;
|
|
24
|
+
* `<Typography.Paragraph>` a bottom margin of about one line.
|
|
25
|
+
*
|
|
26
|
+
* A margin and a gap ADD. So the page's rhythm was the sum of two systems,
|
|
27
|
+
* and reading either one of them told you nothing about what was drawn.
|
|
28
|
+
*
|
|
29
|
+
* ── The rule ──────────────────────────────────────────────────────────────
|
|
30
|
+
*
|
|
31
|
+
* `margin-block: 0` on every direct child of the pane's block columns —
|
|
32
|
+
* the same three-line answer `@stapel/categories-react`'s `blockRhythm.ts`
|
|
33
|
+
* gives for a catalogue page, and deliberately spelled the same way: a block's
|
|
34
|
+
* own outer margin is a second opinion about a distance the container already
|
|
35
|
+
* decided.
|
|
36
|
+
*
|
|
37
|
+
* It is a SHEET and not an inline style for the reason every other rule in
|
|
38
|
+
* this package is: it addresses CHILDREN this component renders but does not
|
|
39
|
+
* own, and an inline style cannot reach one.
|
|
40
|
+
*
|
|
41
|
+
* ── The divider keeps a spacing, because it is not a block ────────────────
|
|
42
|
+
*
|
|
43
|
+
* A horizontal rule is a SECTION BREAK: it needs more air than the space
|
|
44
|
+
* between two blocks, or it reads as another row in the stack. So it is not
|
|
45
|
+
* zeroed with the rest — it gets {@link DETAIL_RULE_CLASS}, one token step on
|
|
46
|
+
* each side, which lands the break at `gap + step` and makes the number a
|
|
47
|
+
* decision instead of whatever antd's 24 happened to sum to. The class beats
|
|
48
|
+
* the reset on specificity (`.col > .rule` over `.col > *`) without an
|
|
49
|
+
* `!important`, and a host can out-specify it with one more condition.
|
|
50
|
+
*/
|
|
51
|
+
import type { CSSProperties } from "react";
|
|
52
|
+
/** The class the pane's block columns carry. */
|
|
53
|
+
export declare const DETAIL_RHYTHM_CLASS = "stapel-listings-detail-column";
|
|
54
|
+
/** The class the pane's horizontal rule carries. */
|
|
55
|
+
export declare const DETAIL_RULE_CLASS = "stapel-listings-detail-rule";
|
|
56
|
+
/** The `href` the hoisted rhythm sheet is deduplicated by. */
|
|
57
|
+
export declare const DETAIL_RHYTHM_STYLE_HREF = "stapel-listings-detail-rhythm";
|
|
58
|
+
/**
|
|
59
|
+
* ONE TOKEN STEP of extra air on each side of the section rule — see the file
|
|
60
|
+
* header. Exported so a test reads the decision rather than a literal, and so
|
|
61
|
+
* a container laying out beside the rule measures against the same number.
|
|
62
|
+
*/
|
|
63
|
+
export declare const DETAIL_RULE_SPACE: number;
|
|
64
|
+
/**
|
|
65
|
+
* THE ONE BLOCK THE SHEET CANNOT REACH: A HEADING.
|
|
66
|
+
*
|
|
67
|
+
* `${column}>*` is one class and no element — specificity (0,1,0). antd writes
|
|
68
|
+
* its heading margins as `h2.ant-typography` — one class AND one element,
|
|
69
|
+
* (0,1,1) — so a `<Typography.Title>` keeps its own `margin-block` no matter
|
|
70
|
+
* what the column's reset says, and it is the only child of the pane that
|
|
71
|
+
* does. Measured on the stand with the reset already live: 29px between the
|
|
72
|
+
* price and the actions at 1440 and 27 at 390 where the buy column declares
|
|
73
|
+
* 12, and 42.4 / 53.6 where the reading column declares 16. Five distances,
|
|
74
|
+
* none of them the gap, all of them a heading's margin added to it.
|
|
75
|
+
*
|
|
76
|
+
* Raising the sheet's specificity would mean naming antd's class in this
|
|
77
|
+
* package's stylesheet or doubling the column's own class to out-rank it —
|
|
78
|
+
* a selector that says nothing about the decision. An INLINE declaration is
|
|
79
|
+
* beaten by nothing short of `!important`, it travels with the heading it
|
|
80
|
+
* belongs to, and it says the same thing the sheet says: the container owns
|
|
81
|
+
* the distance between its blocks.
|
|
82
|
+
*
|
|
83
|
+
* Both ends, because both are the same second opinion — a heading after a
|
|
84
|
+
* paragraph takes antd's `margin-top` as well, which is what made the reading
|
|
85
|
+
* column's two distances differ from each other.
|
|
86
|
+
*/
|
|
87
|
+
export declare const DETAIL_TITLE_RESET: CSSProperties;
|
|
88
|
+
/** The rhythm's two rules. */
|
|
89
|
+
export declare function detailRhythmCss(): string;
|
|
90
|
+
//# sourceMappingURL=detailRhythm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailRhythm.d.ts","sourceRoot":"","sources":["../../src/default/detailRhythm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,gDAAgD;AAChD,eAAO,MAAM,mBAAmB,kCAAkC,CAAC;AAEnE,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAE/D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAmB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAGhC,CAAC;AAEF,8BAA8B;AAC9B,wBAAgB,eAAe,IAAI,MAAM,CAQxC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { spacing } from "@stapel/tokens";
|
|
2
|
+
/** The class the pane's block columns carry. */
|
|
3
|
+
export const DETAIL_RHYTHM_CLASS = "stapel-listings-detail-column";
|
|
4
|
+
/** The class the pane's horizontal rule carries. */
|
|
5
|
+
export const DETAIL_RULE_CLASS = "stapel-listings-detail-rule";
|
|
6
|
+
/** The `href` the hoisted rhythm sheet is deduplicated by. */
|
|
7
|
+
export const DETAIL_RHYTHM_STYLE_HREF = "stapel-listings-detail-rhythm";
|
|
8
|
+
/**
|
|
9
|
+
* ONE TOKEN STEP of extra air on each side of the section rule — see the file
|
|
10
|
+
* header. Exported so a test reads the decision rather than a literal, and so
|
|
11
|
+
* a container laying out beside the rule measures against the same number.
|
|
12
|
+
*/
|
|
13
|
+
export const DETAIL_RULE_SPACE = spacing[2];
|
|
14
|
+
/**
|
|
15
|
+
* THE ONE BLOCK THE SHEET CANNOT REACH: A HEADING.
|
|
16
|
+
*
|
|
17
|
+
* `${column}>*` is one class and no element — specificity (0,1,0). antd writes
|
|
18
|
+
* its heading margins as `h2.ant-typography` — one class AND one element,
|
|
19
|
+
* (0,1,1) — so a `<Typography.Title>` keeps its own `margin-block` no matter
|
|
20
|
+
* what the column's reset says, and it is the only child of the pane that
|
|
21
|
+
* does. Measured on the stand with the reset already live: 29px between the
|
|
22
|
+
* price and the actions at 1440 and 27 at 390 where the buy column declares
|
|
23
|
+
* 12, and 42.4 / 53.6 where the reading column declares 16. Five distances,
|
|
24
|
+
* none of them the gap, all of them a heading's margin added to it.
|
|
25
|
+
*
|
|
26
|
+
* Raising the sheet's specificity would mean naming antd's class in this
|
|
27
|
+
* package's stylesheet or doubling the column's own class to out-rank it —
|
|
28
|
+
* a selector that says nothing about the decision. An INLINE declaration is
|
|
29
|
+
* beaten by nothing short of `!important`, it travels with the heading it
|
|
30
|
+
* belongs to, and it says the same thing the sheet says: the container owns
|
|
31
|
+
* the distance between its blocks.
|
|
32
|
+
*
|
|
33
|
+
* Both ends, because both are the same second opinion — a heading after a
|
|
34
|
+
* paragraph takes antd's `margin-top` as well, which is what made the reading
|
|
35
|
+
* column's two distances differ from each other.
|
|
36
|
+
*/
|
|
37
|
+
export const DETAIL_TITLE_RESET = {
|
|
38
|
+
marginBlockStart: 0,
|
|
39
|
+
marginBlockEnd: 0,
|
|
40
|
+
};
|
|
41
|
+
/** The rhythm's two rules. */
|
|
42
|
+
export function detailRhythmCss() {
|
|
43
|
+
const column = `.${DETAIL_RHYTHM_CLASS}`;
|
|
44
|
+
return [
|
|
45
|
+
// A block's own outer margin is a second opinion about the same distance.
|
|
46
|
+
`${column}>*{margin-block:0}`,
|
|
47
|
+
// …except the section rule, which is a break and not a block.
|
|
48
|
+
`${column}>.${DETAIL_RULE_CLASS}{margin-block:${String(DETAIL_RULE_SPACE)}px}`,
|
|
49
|
+
].join("");
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=detailRhythm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailRhythm.js","sourceRoot":"","sources":["../../src/default/detailRhythm.ts"],"names":[],"mappings":"AAmDA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,gDAAgD;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAEnE,oDAAoD;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAE/D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;AAExE;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC/C,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,8BAA8B;AAC9B,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;IACzC,OAAO;QACL,0EAA0E;QAC1E,GAAG,MAAM,oBAAoB;QAC7B,8DAA8D;QAC9D,GAAG,MAAM,KAAK,iBAAiB,iBAAiB,MAAM,CAAC,iBAAiB,CAAC,KAAK;KAC/E,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC"}
|
package/dist/default/icons.d.ts
CHANGED
|
@@ -60,4 +60,17 @@ export declare function PriceTrendIcon(props: {
|
|
|
60
60
|
direction: "down" | "up";
|
|
61
61
|
label: string;
|
|
62
62
|
}): ReactElement;
|
|
63
|
+
/**
|
|
64
|
+
* The condensed bar's back arrow.
|
|
65
|
+
*
|
|
66
|
+
* `aria-hidden`, like the heart and the share glyph: the control around it
|
|
67
|
+
* carries "Back" as its accessible name, and a glyph announced beside its own
|
|
68
|
+
* label reads the action twice.
|
|
69
|
+
*
|
|
70
|
+
* Drawn with the logical writing direction in mind only as far as a library
|
|
71
|
+
* honestly can: the shape points at the INLINE START, and a right-to-left host
|
|
72
|
+
* flips it with one `transform` against this package's own class rather than
|
|
73
|
+
* getting a mirrored copy nobody can name.
|
|
74
|
+
*/
|
|
75
|
+
export declare function BackIcon(): ReactElement;
|
|
63
76
|
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/default/icons.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B;uEACmE;IACnE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CAkB7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAqBxC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,YAAY,CAkBvC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,YAAY,CAmBf"}
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/default/icons.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B;uEACmE;IACnE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CAkB7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,IAAI,YAAY,CAqBxC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,YAAY,CAkBvC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,YAAY,CAmBf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,IAAI,YAAY,CAkBvC"}
|
package/dist/default/icons.js
CHANGED
|
@@ -38,4 +38,19 @@ export function PriceTrendIcon(props) {
|
|
|
38
38
|
const down = props.direction === "down";
|
|
39
39
|
return (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", role: "img", "aria-label": props.label, children: [_jsx("path", { d: down ? "M12 5v14" : "M12 19V5" }), _jsx("path", { d: down ? "M6 13l6 6 6-6" : "M6 11l6-6 6 6" })] }));
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* The condensed bar's back arrow.
|
|
43
|
+
*
|
|
44
|
+
* `aria-hidden`, like the heart and the share glyph: the control around it
|
|
45
|
+
* carries "Back" as its accessible name, and a glyph announced beside its own
|
|
46
|
+
* label reads the action twice.
|
|
47
|
+
*
|
|
48
|
+
* Drawn with the logical writing direction in mind only as far as a library
|
|
49
|
+
* honestly can: the shape points at the INLINE START, and a right-to-left host
|
|
50
|
+
* flips it with one `transform` against this package's own class rather than
|
|
51
|
+
* getting a mirrored copy nobody can name.
|
|
52
|
+
*/
|
|
53
|
+
export function BackIcon() {
|
|
54
|
+
return (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", role: "img", "aria-hidden": "true", children: [_jsx("path", { d: "M19 12H5" }), _jsx("path", { d: "M12 19l-7-7 7-7" })] }));
|
|
55
|
+
}
|
|
41
56
|
//# sourceMappingURL=icons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/default/icons.tsx"],"names":[],"mappings":";AAgCA,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC;IAC5C,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EACnC,MAAM,EAAE,KAAK,EACb,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,IAAI,EAAC,KAAK,iBACE,MAAM,YAElB,eAAM,CAAC,EAAC,kHAAkH,GAAG,GACzH,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,IAAI,EAAC,KAAK,iBACE,MAAM,aAElB,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,GAAG,EAC/B,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAC/B,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAChC,eAAM,CAAC,EAAC,oBAAoB,GAAG,EAC/B,eAAM,CAAC,EAAC,qBAAqB,GAAG,IAC5B,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,IAAI,EAAC,KAAK,iBACE,MAAM,aAElB,eAAM,CAAC,EAAC,mDAAmD,GAAG,EAC9D,eAAM,CAAC,EAAC,oDAAoD,GAAG,IAC3D,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAG9B;IACC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC;IACxC,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,IAAI,EAAC,KAAK,gBACE,KAAK,CAAC,KAAK,aAEvB,eAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAI,EAC3C,eAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,GAAI,IACjD,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/default/icons.tsx"],"names":[],"mappings":"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"}
|
package/dist/default/index.d.ts
CHANGED
|
@@ -41,10 +41,14 @@ export { ListingFeedCard } from "./ListingFeedCard.js";
|
|
|
41
41
|
export type { ListingFeedCardProps, ListingFeedCardBaseProps, } from "./ListingFeedCard.js";
|
|
42
42
|
export { FeedGrid, FEED_GRID_COLUMNS } from "./FeedGrid.js";
|
|
43
43
|
export type { FeedGridProps } from "./FeedGrid.js";
|
|
44
|
-
export { ListingDetailPane, DETAIL_MEASURE, DETAIL_SPLIT_MEASURE, DETAIL_SPLIT_ASIDE, DETAIL_PHOTO_MIN, DETAIL_GALLERY_GUTTER, } from "./ListingDetailPane.js";
|
|
44
|
+
export { ListingDetailPane, DETAIL_MEASURE, QUICK_QUESTIONS_MAX, DETAIL_SPLIT_MEASURE, DETAIL_SPLIT_ASIDE, DETAIL_PHOTO_MIN, DETAIL_GALLERY_GUTTER, } from "./ListingDetailPane.js";
|
|
45
45
|
export type { ListingDetailPaneProps, ListingActionsPlacement, } from "./ListingDetailPane.js";
|
|
46
|
-
export { LISTINGS_GALLERY_CLASS, LISTINGS_GALLERY_STYLE_HREF, LISTINGS_GALLERY_STRIP_BASIS, detailGalleryCss, } from "./detailGallery.js";
|
|
47
|
-
export type { ListingGalleryLayout } from "./detailGallery.js";
|
|
46
|
+
export { LISTINGS_GALLERY_CLASS, LISTINGS_GALLERY_COUNTER_CLASS, LISTINGS_GALLERY_FRAME_CLASS, LISTINGS_GALLERY_STYLE_HREF, LISTINGS_GALLERY_STRIP_BASIS, detailGalleryCss, nearestPhotoIndex, useGalleryPosition, } from "./detailGallery.js";
|
|
47
|
+
export type { GalleryPosition, ListingGalleryLayout } from "./detailGallery.js";
|
|
48
|
+
export { DETAIL_RHYTHM_CLASS, DETAIL_RHYTHM_STYLE_HREF, DETAIL_RULE_CLASS, DETAIL_RULE_SPACE, DETAIL_TITLE_RESET, detailRhythmCss, } from "./detailRhythm.js";
|
|
49
|
+
export { CONDENSED_BAR_CLASS, CONDENSED_BAR_STYLE_HREF, CONDENSED_TITLE_CLASS, condensedBarCss, } from "./condensedBar.js";
|
|
50
|
+
export { ListingRelatedStrip, RELATED_CARD_BASIS, RELATED_STRIP_CLASS, RELATED_STYLE_HREF, relatedStripCss, } from "./ListingRelated.js";
|
|
51
|
+
export type { ListingRelatedContext, ListingRelatedStripProps, } from "./ListingRelated.js";
|
|
48
52
|
export { ListingComposerPage, COMPOSER_DETAILS_PLACEMENT, COMPOSER_MEASURE, composerFieldId, } from "./ListingComposerPage.js";
|
|
49
53
|
export type { ListingComposerPageProps, ComposerCategorySlot, ComposerCurrencySlot, ComposerLocationSlot, ComposerLocationValue, ComposerLocationPickerProps, } from "./ListingComposerPage.js";
|
|
50
54
|
export { MyListingsPane } from "./MyListingsPane.js";
|
|
@@ -55,9 +59,9 @@ export { LifecycleTag, ListingStatusBlock, ModerationNote } from "./StatusTags.j
|
|
|
55
59
|
export type { ListingStatusProps } from "./StatusTags.js";
|
|
56
60
|
export { ListingPhoto, ListingPhotoStrip, LISTING_PHOTO_ASPECT, } from "./ListingPhoto.js";
|
|
57
61
|
export type { ListingPhotoProps } from "./ListingPhoto.js";
|
|
58
|
-
export { ListingSpecColumns, ListingSpecList, specListCss, } from "./ListingSpecList.js";
|
|
62
|
+
export { ListingSpecColumns, ListingSpecList, SPEC_FOLD_MIN_HIDDEN, specListCss, } from "./ListingSpecList.js";
|
|
59
63
|
export type { ListingSpecListProps } from "./ListingSpecList.js";
|
|
60
|
-
export { CardBadges, CardSpecLine } from "./CardBadges.js";
|
|
64
|
+
export { CardBadges, CardSpecLine, CARD_SPEC_LINE_CLASS, CARD_SPEC_STYLE_HREF, CARD_SPEC_TEXT_CLASS, cardSpecLineCss, } from "./CardBadges.js";
|
|
61
65
|
export type { CardBadgesProps } from "./CardBadges.js";
|
|
62
66
|
export { SWIPE_AXIS_RATIO, SWIPE_MIN_PX, cardGalleryCss, hasFinePointer, segmentIndex, swipeStep, useCardGallery, } from "./cardGallery.js";
|
|
63
67
|
export type { CardGallery } from "./cardGallery.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/default/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EACL,WAAW,EAGX,oBAAoB,EACpB,sBAAsB,EAGtB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,cAAc,
|
|
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
|
@@ -43,22 +43,31 @@ CARD_VIEWED_CLASS, LISTING_VIEWED_OPACITY, } from "./ListingCard.js";
|
|
|
43
43
|
export { ListingSerpCard } from "./ListingSerpCard.js";
|
|
44
44
|
export { ListingFeedCard } from "./ListingFeedCard.js";
|
|
45
45
|
export { FeedGrid, FEED_GRID_COLUMNS } from "./FeedGrid.js";
|
|
46
|
-
export { ListingDetailPane, DETAIL_MEASURE,
|
|
46
|
+
export { ListingDetailPane, DETAIL_MEASURE, QUICK_QUESTIONS_MAX,
|
|
47
47
|
// The split layout's two geometry constants, for a container laying out
|
|
48
48
|
// against the same tracks (and for a test that measures them).
|
|
49
49
|
DETAIL_SPLIT_MEASURE, DETAIL_SPLIT_ASIDE, DETAIL_PHOTO_MIN, DETAIL_GALLERY_GUTTER, } from "./ListingDetailPane.js";
|
|
50
50
|
// The gallery's two shapes, its class and the stylesheet behind them — a host
|
|
51
51
|
// that wants a third writes CSS against these rather than `!important` over an
|
|
52
52
|
// inline `display`.
|
|
53
|
-
export { LISTINGS_GALLERY_CLASS, LISTINGS_GALLERY_STYLE_HREF, LISTINGS_GALLERY_STRIP_BASIS, detailGalleryCss, } from "./detailGallery.js";
|
|
53
|
+
export { LISTINGS_GALLERY_CLASS, LISTINGS_GALLERY_COUNTER_CLASS, LISTINGS_GALLERY_FRAME_CLASS, LISTINGS_GALLERY_STYLE_HREF, LISTINGS_GALLERY_STRIP_BASIS, detailGalleryCss, nearestPhotoIndex, useGalleryPosition, } from "./detailGallery.js";
|
|
54
|
+
// The listing page's block rhythm: the reset that keeps a child's own margin
|
|
55
|
+
// out of the column's gap, and the section rule's own token spacing.
|
|
56
|
+
export { DETAIL_RHYTHM_CLASS, DETAIL_RHYTHM_STYLE_HREF, DETAIL_RULE_CLASS, DETAIL_RULE_SPACE, DETAIL_TITLE_RESET, detailRhythmCss, } from "./detailRhythm.js";
|
|
57
|
+
// The condensed top bar the pane draws for `actionsPlacement="condensed-top"`
|
|
58
|
+
// — its classes and sheet, so a container retunes the geometry with a selector
|
|
59
|
+
// rather than `!important` over a pair's own.
|
|
60
|
+
export { CONDENSED_BAR_CLASS, CONDENSED_BAR_STYLE_HREF, CONDENSED_TITLE_CLASS, condensedBarCss, } from "./condensedBar.js";
|
|
61
|
+
// The two "find more" strips, for a host composing them itself.
|
|
62
|
+
export { ListingRelatedStrip, RELATED_CARD_BASIS, RELATED_STRIP_CLASS, RELATED_STYLE_HREF, relatedStripCss, } from "./ListingRelated.js";
|
|
54
63
|
export { ListingComposerPage, COMPOSER_DETAILS_PLACEMENT, COMPOSER_MEASURE, composerFieldId, } from "./ListingComposerPage.js";
|
|
55
64
|
export { MyListingsPane } from "./MyListingsPane.js";
|
|
56
65
|
export { FavoritesPane, FAVORITES_CARD_MIN } from "./FavoritesPane.js";
|
|
57
66
|
export { LifecycleTag, ListingStatusBlock, ModerationNote } from "./StatusTags.js";
|
|
58
67
|
export { ListingPhoto, ListingPhotoStrip, LISTING_PHOTO_ASPECT, } from "./ListingPhoto.js";
|
|
59
68
|
// ── the listing page's characteristics, and a card's badge line ──────────────
|
|
60
|
-
export { ListingSpecColumns, ListingSpecList, specListCss, } from "./ListingSpecList.js";
|
|
61
|
-
export { CardBadges, CardSpecLine } from "./CardBadges.js";
|
|
69
|
+
export { ListingSpecColumns, ListingSpecList, SPEC_FOLD_MIN_HIDDEN, specListCss, } from "./ListingSpecList.js";
|
|
70
|
+
export { CardBadges, CardSpecLine, CARD_SPEC_LINE_CLASS, CARD_SPEC_STYLE_HREF, CARD_SPEC_TEXT_CLASS, cardSpecLineCss, } from "./CardBadges.js";
|
|
62
71
|
// ── the card gallery's two gestures ─────────────────────────────────────────
|
|
63
72
|
export { SWIPE_AXIS_RATIO, SWIPE_MIN_PX, cardGalleryCss, hasFinePointer, segmentIndex, swipeStep, useCardGallery, } from "./cardGallery.js";
|
|
64
73
|
// ── the reader's two actions: save it, or send it to somebody ───────────────
|
|
@@ -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;
|
|
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"}
|
package/dist/i18n/es.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../src/i18n/es.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../src/i18n/es.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,EAAE,cA2OlC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAG7D"}
|
package/dist/i18n/es.js
CHANGED
|
@@ -90,6 +90,15 @@ export const listingsI18nBundleEs = {
|
|
|
90
90
|
"listings.detail.views": "Visitas",
|
|
91
91
|
"listings.detail.edit": "Editar el anuncio",
|
|
92
92
|
"listings.detail.take_down": "Retirarlo",
|
|
93
|
+
"listings.detail.back": "Atrás",
|
|
94
|
+
"listings.detail.ask_seller": "Pregunta al vendedor",
|
|
95
|
+
"listings.detail.question_available": "¿Sigue disponible?",
|
|
96
|
+
"listings.detail.question_price": "¿El precio es negociable?",
|
|
97
|
+
"listings.detail.question_viewing": "¿Puedo verlo en persona?",
|
|
98
|
+
"listings.detail.question_delivery": "¿Hacen envíos?",
|
|
99
|
+
"listings.detail.similar": "Anuncios similares",
|
|
100
|
+
"listings.detail.from_seller": "Más de este vendedor",
|
|
101
|
+
"listings.detail.show_all": "Ver todo",
|
|
93
102
|
"listings.compose.new_title": "Anuncio nuevo",
|
|
94
103
|
"listings.compose.edit_title": "Editar el anuncio",
|
|
95
104
|
"listings.compose.category": "Categoría",
|
package/dist/i18n/es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.js","sourceRoot":"","sources":["../../src/i18n/es.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,GAAG,qBAAqB;IAExB,4EAA4E;IAC5E,EAAE;IACF,qEAAqE;IACrE,4EAA4E;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,0CAA0C;IAC1C,EAAE;IACF,yEAAyE;IACzE,4EAA4E;IAC5E,4CAA4C;IAE5C,wBAAwB,EAAE,iCAAiC;IAE3D,uBAAuB,EAAE,UAAU;IACnC,yBAAyB,EAAE,aAAa;IACxC,2BAA2B,EAAE,WAAW;IACxC,wBAAwB,EAAE,UAAU;IACpC,yBAAyB,EAAE,UAAU;IACrC,sBAAsB,EAAE,SAAS;IACjC,0BAA0B,EAAE,WAAW;IACvC,yBAAyB,EAAE,UAAU;IACrC,0BAA0B,EAAE,WAAW;IAEvC,kCAAkC,EAChC,uEAAuE;IACzE,uCAAuC,EACrC,yFAAyF;IAC3F,qCAAqC,EACnC,iEAAiE;IACnE,kCAAkC,EAChC,sCAAsC;IACxC,uCAAuC,EACrC,4DAA4D;IAC9D,8BAA8B,EAC5B,iEAAiE;IACnE,yCAAyC,EACvC,sEAAsE;IAExE,wBAAwB,EAAE,UAAU;IACpC,iCAAiC,EAAE,oBAAoB;IACvD,4BAA4B,EAAE,wBAAwB;IACtD,4BAA4B,EAAE,sBAAsB;IACpD,+BAA+B,EAAE,qBAAqB;IACtD,wBAAwB,EAAE,oBAAoB;IAC9C,uBAAuB,EAAE,gBAAgB;IACzC,sBAAsB,EAAE,uBAAuB;IAC/C,6BAA6B,EAAE,oBAAoB;IACnD,yBAAyB,EAAE,OAAO;IAClC,6BAA6B,EAAE,qBAAqB;IACpD,4BAA4B,EAAE,qBAAqB;IAEnD,uBAAuB,EAAE,WAAW;IACpC,qBAAqB,EAAE,eAAe;IACtC,uBAAuB,EAAE,gBAAgB;IACzC,4BAA4B,EAC1B,kEAAkE;IACpE,yBAAyB,EAAE,UAAU;IACrC,yBAAyB,EAAE,UAAU;IACrC,mBAAmB,EAAE,IAAI;IACzB,yBAAyB,EAAE,qBAAqB;IAChD,2BAA2B,EAAE,sBAAsB;IACnD,yBAAyB,EAAE,yBAAyB;IAEpD,yBAAyB,EAAE,sBAAsB;IACjD,6BAA6B,EAAE,gCAAgC;IAC/D,uBAAuB,EAAE,YAAY;IACrC,2BAA2B,EAAE,yCAAyC;IACtE,yBAAyB,EAAE,4BAA4B;IACvD,2BAA2B,EAAE,mCAAmC;IAChE,+BAA+B,EAC7B,sFAAsF;IACxF,iCAAiC,EAC/B,8CAA8C;IAChD,6BAA6B,EAAE,aAAa;IAC5C,uBAAuB,EAAE,UAAU;IACnC,0BAA0B,EAAE,oCAAoC;IAChE,qCAAqC,EACnC,iDAAiD;IACnD,oCAAoC,EAClC,yEAAyE;IAC3E,2BAA2B,EAAE,yBAAyB;IACtD,8BAA8B,EAAE,qBAAqB;IACrD,4BAA4B,EAAE,4BAA4B;IAC1D,uBAAuB,EAAE,aAAa;IACtC,uBAAuB,EAAE,SAAS;IAClC,sBAAsB,EAAE,mBAAmB;IAC3C,2BAA2B,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"es.js","sourceRoot":"","sources":["../../src/i18n/es.ts"],"names":[],"mappings":"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"}
|