@stapel/search-react 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +138 -0
- package/README.md +65 -2
- package/dist/api/generated/schema.d.ts +96 -4
- package/dist/api/generated/schema.d.ts.map +1 -1
- package/dist/api/types.d.ts +68 -6
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/default/FacetGroupControl.d.ts +34 -4
- package/dist/default/FacetGroupControl.d.ts.map +1 -1
- package/dist/default/FacetGroupControl.js +112 -7
- package/dist/default/FacetGroupControl.js.map +1 -1
- package/dist/default/FacetPanelPane.d.ts.map +1 -1
- package/dist/default/FacetPanelPane.js +27 -1
- package/dist/default/FacetPanelPane.js.map +1 -1
- package/dist/default/LocationSummaryLine.d.ts +3 -0
- package/dist/default/LocationSummaryLine.d.ts.map +1 -1
- package/dist/default/LocationSummaryLine.js +55 -8
- package/dist/default/LocationSummaryLine.js.map +1 -1
- package/dist/default/PartitionChips.d.ts +23 -0
- package/dist/default/PartitionChips.d.ts.map +1 -0
- package/dist/default/PartitionChips.js +94 -0
- package/dist/default/PartitionChips.js.map +1 -0
- package/dist/default/PopularValues.d.ts +58 -0
- package/dist/default/PopularValues.d.ts.map +1 -0
- package/dist/default/PopularValues.js +46 -0
- package/dist/default/PopularValues.js.map +1 -0
- package/dist/default/SearchPage.d.ts.map +1 -1
- package/dist/default/SearchPage.js +5 -0
- package/dist/default/SearchPage.js.map +1 -1
- package/dist/default/index.d.ts +5 -1
- package/dist/default/index.d.ts.map +1 -1
- package/dist/default/index.js +6 -1
- package/dist/default/index.js.map +1 -1
- package/dist/headless/FacetPanel.d.ts +29 -1
- package/dist/headless/FacetPanel.d.ts.map +1 -1
- package/dist/headless/FacetPanel.js +14 -0
- package/dist/headless/FacetPanel.js.map +1 -1
- package/dist/headless/SearchStateProvider.d.ts +15 -0
- package/dist/headless/SearchStateProvider.d.ts.map +1 -1
- package/dist/headless/SearchStateProvider.js +38 -3
- package/dist/headless/SearchStateProvider.js.map +1 -1
- package/dist/headless/useFacetLabels.js +7 -7
- package/dist/headless/useFacetLabels.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +12 -0
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/keys.d.ts +72 -0
- package/dist/i18n/keys.d.ts.map +1 -1
- package/dist/i18n/keys.js +86 -0
- package/dist/i18n/keys.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +14 -0
- package/dist/i18n/ru.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/state/degradations.d.ts +9 -0
- package/dist/state/degradations.d.ts.map +1 -1
- package/dist/state/degradations.js +13 -0
- package/dist/state/degradations.js.map +1 -1
- package/dist/state/facets.d.ts +29 -6
- package/dist/state/facets.d.ts.map +1 -1
- package/dist/state/facets.js +120 -16
- package/dist/state/facets.js.map +1 -1
- package/dist/state/translit.d.ts +58 -0
- package/dist/state/translit.d.ts.map +1 -0
- package/dist/state/translit.js +115 -0
- package/dist/state/translit.js.map +1 -0
- package/dist/state/urlState.d.ts +26 -1
- package/dist/state/urlState.d.ts.map +1 -1
- package/dist/state/urlState.js +43 -17
- package/dist/state/urlState.js.map +1 -1
- package/llms.txt +4 -2
- package/manifest.json +49 -2
- package/nav-manifest.json +1 -1
- package/package.json +8 -8
- package/src/analytics/generated/events.json +1 -1
- package/src/api/generated/schema.ts +96 -4
- package/src/api/types.ts +77 -5
- package/src/default/FacetGroupControl.tsx +213 -8
- package/src/default/FacetPanelPane.tsx +36 -1
- package/src/default/LocationSummaryLine.tsx +114 -53
- package/src/default/PartitionChips.tsx +161 -0
- package/src/default/PopularValues.tsx +151 -0
- package/src/default/SearchPage.tsx +5 -0
- package/src/default/index.ts +15 -0
- package/src/headless/FacetPanel.tsx +49 -1
- package/src/headless/SearchStateProvider.tsx +59 -3
- package/src/headless/useFacetLabels.ts +7 -7
- package/src/i18n/es.ts +16 -0
- package/src/i18n/keys.ts +91 -0
- package/src/i18n/ru.ts +20 -0
- package/src/index.ts +12 -0
- package/src/state/degradations.ts +14 -0
- package/src/state/facets.ts +154 -28
- package/src/state/translit.ts +113 -0
- package/src/state/urlState.ts +72 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,143 @@
|
|
|
1
1
|
# @stapel/search-react
|
|
2
2
|
|
|
3
|
+
## 0.22.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 65e0c9f: search: headings come from the server, a vocabulary becomes a dictionary, and two browse surfaces for a category page
|
|
8
|
+
|
|
9
|
+
**A heading is named, or it is marked.** Group headings and option captions now
|
|
10
|
+
resolve in one stated order — `facet_labels` from the answer, then the category
|
|
11
|
+
feature definition, then the raw slug. The slug arm is not a fallback anyone may
|
|
12
|
+
ship: it renders, because a heading a person cannot read still beats options
|
|
13
|
+
with no heading at all, and it renders MARKED — `labelSource: "none"` on the
|
|
14
|
+
group and the option, `data-label-source` on the drawn control, and one
|
|
15
|
+
`console.warn` per slug outside production, so a storefront's own test fails on
|
|
16
|
+
it. Measured on a live classified's cars branch the page passed an empty feature
|
|
17
|
+
list and the whole rail was raw index slugs: the make group was on screen,
|
|
18
|
+
unlabelled, and the complaint that came back was "I cannot pick a make".
|
|
19
|
+
`FacetGroup` and `FacetOption` both carry `labelSource`
|
|
20
|
+
(`"server" | "schema" | "host" | "none"`) — "did anybody actually name this?" is
|
|
21
|
+
a question two surfaces have to answer and neither can answer by reading the
|
|
22
|
+
string.
|
|
23
|
+
|
|
24
|
+
**A vocabulary level is a DICTIONARY.** Past eight counted buckets a
|
|
25
|
+
`ref_select` group — or an untyped group that long, which is the live case where
|
|
26
|
+
no schema was threaded through — stops being eight checkboxes plus a
|
|
27
|
+
`Show all (418)` and becomes the busiest values, a search box over the rest, and
|
|
28
|
+
the chosen values pinned above it where a filter cannot go invisible. The box
|
|
29
|
+
matches ACROSS ALPHABETS: `тойота` finds `Toyota`, `тимберленд` finds
|
|
30
|
+
`Timberland`, `ровер` finds `Land Rover`. That is a prefix rule over two keys
|
|
31
|
+
per word — a transliteration, and its consonant skeleton, because the two
|
|
32
|
+
scripts disagree exactly on the vowels of a borrowed name (`timberlend` vs
|
|
33
|
+
`timberland`, both `tmbrlnd`). Table-driven and dependency-free, and local: the
|
|
34
|
+
buckets are already in the answer, so nothing is requested per keystroke.
|
|
35
|
+
`facetGroupShape` gains a `"dictionary"` arm beside `segmented`/`nested`/
|
|
36
|
+
`checkbox`, and the threshold counts EVIDENCE buckets — a zero-filled option
|
|
37
|
+
table or a schema-only tail is still a list a person can read.
|
|
38
|
+
|
|
39
|
+
**`<PopularValues>`** prints the busiest values of one group as a multi-column
|
|
40
|
+
`Toyota 802` block that applies the filter on click — a table of contents for a
|
|
41
|
+
category, drawn from the same drill-down counts the panel shows, so a value
|
|
42
|
+
cannot read `802` in one place and `93` in the other. `hidden` is a PROP rather
|
|
43
|
+
than a media query inside: whether a 390px screen has room for forty links is a
|
|
44
|
+
fact about the page, and the page is the storefront's.
|
|
45
|
+
|
|
46
|
+
**`<PartitionChips>`** is the single-select row a `chips` category draws instead
|
|
47
|
+
of a tile grid: `Все | child…` from `{id, path, name}`, controlled — the choice
|
|
48
|
+
is a `category` in the URL, not state in a chip row. It is a real `radiogroup`
|
|
49
|
+
with roving tabindex and arrow keys, because exactly one of them is true at a
|
|
50
|
+
time and a row of `aria-pressed` toggles announces the opposite: independent
|
|
51
|
+
switches, with no reason why pressing one released another.
|
|
52
|
+
|
|
53
|
+
## 0.21.0
|
|
54
|
+
|
|
55
|
+
### Minor Changes
|
|
56
|
+
|
|
57
|
+
- 3059411: The location control is one control, it says how the search got there, and a radius in the URL means something
|
|
58
|
+
|
|
59
|
+
Three measurements on a live results page, and each one is a different way of
|
|
60
|
+
the same line not saying what is true.
|
|
61
|
+
|
|
62
|
+
- **Two red links at opposite ends of a 992px strip.** "Searching everywhere"
|
|
63
|
+
sat at x=370 and "Near me · Within 25 km" at x=776, both in the brand colour,
|
|
64
|
+
with 400px of air between them and nothing saying they were about the same
|
|
65
|
+
thing. They now share one bordered box at the leading edge, split by a
|
|
66
|
+
hairline; the place half is ordinary type because it is a STATEMENT, and the
|
|
67
|
+
offer keeps the colour because it is the action. The offer states its radius
|
|
68
|
+
compactly (`search.geo.radius_km_short`) — at 390px the long form made the
|
|
69
|
+
control 272px wide against 231px of room, so it was cut by the group's own
|
|
70
|
+
clip and the filters door overlapped it by 52px.
|
|
71
|
+
- **"A chosen place on the map", said to somebody who pressed a button.**
|
|
72
|
+
`SearchStateBag.geoIsOffer` is the provider reporting PROVENANCE — the one
|
|
73
|
+
fact a summary line cannot infer, because every way of arriving at a centre
|
|
74
|
+
produces the same three numbers.
|
|
75
|
+
- **`?radius_km=300` with no place.** The search that ran was the honest one (a
|
|
76
|
+
radius with no centre narrows nothing) and the control went on advertising
|
|
77
|
+
its own 25, with nothing on screen saying which number the page had used —
|
|
78
|
+
and pressing the offer then wrote 25 over the 300 the person had typed, the
|
|
79
|
+
one place the URL was rewritten behind a visitor. The codec now reports
|
|
80
|
+
`radius_without_place` through the same notice every other unreadable
|
|
81
|
+
parameter goes through, and the offer CARRIES that radius: what the link
|
|
82
|
+
asked for, what the button says, and what pressing it does are one number.
|
|
83
|
+
|
|
84
|
+
The `index` and `default` size caps move to 11.5 KB and 22.5 KB, and the
|
|
85
|
+
measurement is the reason rather than the aftermath. Re-measured on a clean
|
|
86
|
+
tree, this package's own `src` reverted to the previous commit with every
|
|
87
|
+
dependency held constant: `index` 10.70 -> 11.14 KB, `default` 21.64 -> 22.27
|
|
88
|
+
KB. Both were already through the old 11/22 caps before the caps were touched.
|
|
89
|
+
|
|
90
|
+
The ~250 B of new i18n sentences is not what did it. Collapsing all six new
|
|
91
|
+
English strings to a single character — the floor of what shrinking the copy
|
|
92
|
+
could ever buy — leaves `index` at 11.04 and `default` at 22.14, both still
|
|
93
|
+
over. The copy is worth ~100 B and ~130 B brotlied; the rest is the facet plan
|
|
94
|
+
reading `facet_meta`, the location control's one-box rewrite and the widened
|
|
95
|
+
response types. So the caps move, and the sentences keep their words.
|
|
96
|
+
|
|
97
|
+
### Patch Changes
|
|
98
|
+
|
|
99
|
+
- 5604f1a: A facet group nothing in the result set carries is not drawn
|
|
100
|
+
|
|
101
|
+
Measured on the deployed phones leaf: `sim_config`, `device_history` and `set`
|
|
102
|
+
are authored `select` features that no listing in the leaf fills. All three
|
|
103
|
+
were drawn as full groups — a heading in the rail, a chip on a 390px row, and
|
|
104
|
+
between them seven checkboxes each guaranteed to return nothing. A buyer can
|
|
105
|
+
tap every one of them.
|
|
106
|
+
|
|
107
|
+
They are not a counting bug. The server's `fill_zero_options` creates the slug
|
|
108
|
+
and zero-fills every authored option on purpose, and the coverage floor that
|
|
109
|
+
would have withheld them (`FACET_MIN_COVERAGE`) governs only the slugs an
|
|
110
|
+
evidence plan BORROWED from sibling leaves — a slug the queried category
|
|
111
|
+
authored is exempt, because "a closed option set answering with its zeros is a
|
|
112
|
+
shipped decision". That is right about an OPTION and wrong about a GROUP: a
|
|
113
|
+
size chart showing `XL — 0` beside `M — 12` is telling the truth about a shape
|
|
114
|
+
worth seeing whole, while a group whose every option is 0 is not a shape at
|
|
115
|
+
all. Nothing on the wire separates the two — the client has to sum the buckets
|
|
116
|
+
itself, which is what `facetCoverage` already does for the chip row's order
|
|
117
|
+
and the rail's disclosures.
|
|
118
|
+
|
|
119
|
+
So `buildFacetGroups` now drops a group that is COUNTED and sums to zero, by
|
|
120
|
+
that same measure — the module already refuses to emit an empty group, on the
|
|
121
|
+
stated grounds that an empty group is still a heading and still a chip, and
|
|
122
|
+
this is the same defect with checkboxes in it. Three exemptions, each with a
|
|
123
|
+
test:
|
|
124
|
+
|
|
125
|
+
- an UNCOUNTED group sums to zero for the opposite reason — its options carry
|
|
126
|
+
`count: null`, nobody looked, and `/query` accepts `f.<slug>` regardless.
|
|
127
|
+
Dropping on that is the regression the `MAX_FACET_FIELDS` branch exists to
|
|
128
|
+
prevent (a live cars leaf: 26 facetable features declared, 12 counted).
|
|
129
|
+
- a group the reader has already filtered on, whatever its counts say, or the
|
|
130
|
+
URL narrows the search with no control left to widen it.
|
|
131
|
+
- a zero option beside a live one, which is drill-down working as designed.
|
|
132
|
+
|
|
133
|
+
A counted group that came back with no buckets at all (`video_file_url: {}` on
|
|
134
|
+
that same leaf) is dropped by the same rule rather than by each skin filtering
|
|
135
|
+
the model's output again downstream.
|
|
136
|
+
|
|
137
|
+
This does not fix the catalogue. A leaf declaring three features that nothing
|
|
138
|
+
in it fills is a category-authoring defect; this stops it reaching a buyer as
|
|
139
|
+
a dead control, on every leaf and every host, and it needs no server release.
|
|
140
|
+
|
|
3
141
|
## 0.20.0
|
|
4
142
|
|
|
5
143
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -141,6 +141,69 @@ the raw value; a value nobody names keeps printing itself. `renderCategoryFilter
|
|
|
141
141
|
also becomes the leading chip of the phone filter row, which is where the
|
|
142
142
|
catalogue's deeper levels are chosen on a result list.
|
|
143
143
|
|
|
144
|
+
## A heading is named by the server, or it is marked
|
|
145
|
+
|
|
146
|
+
Group headings and option captions resolve in one order and one only:
|
|
147
|
+
`facet_labels` from the answer → the category feature definition → the raw
|
|
148
|
+
slug. The last arm is not a fallback anyone ships: it renders (a heading a
|
|
149
|
+
person cannot read still beats options with no heading), and it renders
|
|
150
|
+
**marked** — `labelSource: "none"` on the group, `data-label-source="none"` on
|
|
151
|
+
the drawn control, and one `console.warn` per slug outside production. A
|
|
152
|
+
storefront's own test asserts on that attribute; measured on a live cars branch
|
|
153
|
+
the whole rail was raw slugs and the complaint that came back was "I cannot
|
|
154
|
+
pick a make".
|
|
155
|
+
|
|
156
|
+
Every `FacetGroup` and every `FacetOption` carries `labelSource:
|
|
157
|
+
"server" | "schema" | "host" | "none"`, so "did anybody actually name this?" is
|
|
158
|
+
answerable without looking at the string.
|
|
159
|
+
|
|
160
|
+
## A vocabulary is a dictionary, not a checkbox list
|
|
161
|
+
|
|
162
|
+
Past eight **evidence buckets** a `ref_select` group (or an untyped group that
|
|
163
|
+
long — the live case, where no schema was threaded through) stops being a list
|
|
164
|
+
and becomes a dictionary: the busiest values, a search box that filters them
|
|
165
|
+
locally, and the chosen values pinned above the box so a filter is never
|
|
166
|
+
invisible. The box matches **across alphabets** — `тойота` finds `Toyota`,
|
|
167
|
+
`тимберленд` finds `Timberland`, `ровер` finds `Land Rover` — by a prefix rule
|
|
168
|
+
over two keys per word, a transliteration and its consonant skeleton
|
|
169
|
+
(`translitPrefixMatch`, `translitKey`, `consonantKey`; table-driven, no
|
|
170
|
+
dependency). No request per keystroke: the whole bucket list is already in the
|
|
171
|
+
answer — stapel-search caps a vocabulary-backed group at
|
|
172
|
+
`MAX_FACET_VALUES_VOCABULARY` (1000, raised from the shared 200 for exactly
|
|
173
|
+
this), so a 418-term make dictionary arrives whole and the box has everything
|
|
174
|
+
it filters.
|
|
175
|
+
|
|
176
|
+
```tsx
|
|
177
|
+
facetGroupShape(group) // "segmented" | "nested" | "checkbox" | "dictionary"
|
|
178
|
+
isDictionaryFacet(group) // > FACET_DICTIONARY_THRESHOLD counted buckets
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Two browse surfaces the page places
|
|
182
|
+
|
|
183
|
+
Both are exported from `./default` and neither lays itself out — where they
|
|
184
|
+
belong on a category page is the storefront's decision.
|
|
185
|
+
|
|
186
|
+
`<PopularValues>` prints the busiest values of one group as a multi-column
|
|
187
|
+
`Toyota 802` list that applies the filter on click — a table of contents for a
|
|
188
|
+
category, from the same drill-down counts the panel shows. `hidden` is a prop,
|
|
189
|
+
not a media query: whether a 390px screen has room is a fact about the page.
|
|
190
|
+
|
|
191
|
+
```tsx
|
|
192
|
+
<PopularValues group={firstRefSelect} onApply={toggle} hidden={isPhone}
|
|
193
|
+
onShowAll={openPanel} />
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
`<PartitionChips>` is the single-select row a `chips` category draws instead of
|
|
197
|
+
a tile grid: `Все | child…` from `{id, path, name}`, controlled (the choice is
|
|
198
|
+
a `category` in the URL), a real `radiogroup` with roving tabindex and arrow
|
|
199
|
+
keys — because exactly one of them is true at a time, and `aria-pressed`
|
|
200
|
+
toggles say the opposite.
|
|
201
|
+
|
|
202
|
+
```tsx
|
|
203
|
+
<PartitionChips items={children} value={state.category ?? null}
|
|
204
|
+
onChange={(path) => patch({ category: path })} />
|
|
205
|
+
```
|
|
206
|
+
|
|
144
207
|
## What the server admits, the screen repeats
|
|
145
208
|
|
|
146
209
|
| The envelope says | The page says |
|
|
@@ -191,10 +254,10 @@ the configured engine cannot evaluate.
|
|
|
191
254
|
| Layer | Exports |
|
|
192
255
|
|---|---|
|
|
193
256
|
| api | `createSearchApi`, `searchQueryParams`, `SEARCH_SORTS`, wire types |
|
|
194
|
-
| state (pure) | `parseSearchState`, `writeSearchState`, `patchSearchState`, `toggleFilterValue`, `setFilterValues`, `setRangeValue`, `clearFilters`, `activeFilterCount`, `parseDegradations`, `countIsEstimate`, `buildFacetGroups`, `facetOptionLabel` |
|
|
257
|
+
| state (pure) | `parseSearchState`, `writeSearchState`, `patchSearchState`, `toggleFilterValue`, `setFilterValues`, `setRangeValue`, `clearFilters`, `activeFilterCount`, `parseDegradations`, `countIsEstimate`, `buildFacetGroups`, `facetOptionLabel`, `translitPrefixMatch`, `translitKey`, `consonantKey` |
|
|
195
258
|
| model | `createSearchRuntime`, `searchQueryKeys`, `useSearchQuery`, `useRankingDisclosure` |
|
|
196
259
|
| headless | `SearchProvider`, `SearchStateProvider`/`useSearchState`, `SearchResults`, `FacetPanel`, `RankingDisclosure` |
|
|
197
|
-
| `./default` | `SearchPage`, `SearchResultsPane`, `FacetPanelPane`, `RankingDisclosurePane`, `SearchBox`, `SortSelect`, `PageSizeSelect`, `LanguageSelect`, `SearchResultCard`, `RangeFilterRow`, `DegradationNotice`, `UrlIssueNotice` (the skin themes itself through `SkinTheme` from `@stapel/tokens-antd/skin`; the pair's own `SearchSkinTheme` is gone as of 0.6.0) |
|
|
260
|
+
| `./default` | `SearchPage`, `SearchResultsPane`, `FacetPanelPane`, `RankingDisclosurePane`, `SearchBox`, `SortSelect`, `PageSizeSelect`, `LanguageSelect`, `SearchResultCard`, `RangeFilterRow`, `DegradationNotice`, `UrlIssueNotice`, `PopularValues`, `PartitionChips`, `facetGroupShape`, `isDictionaryFacet` (the skin themes itself through `SkinTheme` from `@stapel/tokens-antd/skin`; the pair's own `SearchSkinTheme` is gone as of 0.6.0) |
|
|
198
261
|
| `./router` | `useRouterSearchParams` |
|
|
199
262
|
| i18n | `registerSearchI18n` (+ `./i18n/ru`, `./i18n/es`) |
|
|
200
263
|
| errors | `SEARCH_ERRORS`, `explainSearchError`, `SEARCH_WINDOW_EXCEEDED`, `SEARCH_BACKEND_UNAVAILABLE` |
|
|
@@ -132,6 +132,19 @@ export interface paths {
|
|
|
132
132
|
export type webhooks = Record<string, never>;
|
|
133
133
|
export interface components {
|
|
134
134
|
schemas: {
|
|
135
|
+
/** @description One partition of the answer — a heading, never a filter over it. */
|
|
136
|
+
BandSummary: {
|
|
137
|
+
id: components["schemas"]["IdEnum"];
|
|
138
|
+
/** @description How many rows are in this band. `null` when the engine cannot say. The two counts add up to the top-level `count`, which is the machine-checkable form of 'nothing is hidden by distance'. */
|
|
139
|
+
count: number | null;
|
|
140
|
+
/** @description True when `count` is a floor (a capped count). Render 'N+'. */
|
|
141
|
+
count_is_lower_bound: boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Format: double
|
|
144
|
+
* @description Present on `nearby` only: the edge, in km, the band was cut at. `all` has no edge — it is everything else, which is the promise.
|
|
145
|
+
*/
|
|
146
|
+
radius_km?: number;
|
|
147
|
+
};
|
|
135
148
|
/** @description One destination in the dropdown, ready to render and ready to follow. */
|
|
136
149
|
CategorySuggestion: {
|
|
137
150
|
/** @description Category id. A `listings`-graded row derives it from the path's leaf segment. */
|
|
@@ -146,6 +159,17 @@ export interface components {
|
|
|
146
159
|
category: string;
|
|
147
160
|
/** @description Live listings a buyer would see under this category, descendants included — the same number the SERP reports for it. On a `listings`-graded row: how many of them match the typed query, which is the count a `?q=…&category=…` tap will show. */
|
|
148
161
|
count: number;
|
|
162
|
+
/**
|
|
163
|
+
* @description What `count` counted. `category`: everything live under this category, the typed text ignored — the row is a PLACE. `query_in_category`: only the documents matching the typed text, which is what a `listings`-graded row is about. The two are different numbers about different pages, which is why the row says which one it is instead of leaving a storefront to guess.
|
|
164
|
+
*
|
|
165
|
+
* * `category` - category
|
|
166
|
+
* * `query_in_category` - query_in_category
|
|
167
|
+
*/
|
|
168
|
+
count_scope: components["schemas"]["CountScopeEnum"];
|
|
169
|
+
/** @description The /query parameters this row's `count` was computed for — send them VERBATIM (plus your own `type`/`lang`/paging) when the buyer follows the row. Always carries `category`; carries `q` only when `count_scope` is `query_in_category`. Assembling these yourself re-opens the defect this field exists to close: a place row followed with the typed text opens an empty page while its count promised stock. */
|
|
170
|
+
query: {
|
|
171
|
+
[key: string]: string;
|
|
172
|
+
};
|
|
149
173
|
/** @description Number of segments in `path`. */
|
|
150
174
|
depth: number;
|
|
151
175
|
/**
|
|
@@ -160,6 +184,28 @@ export interface components {
|
|
|
160
184
|
*/
|
|
161
185
|
match: components["schemas"]["MatchEnum"];
|
|
162
186
|
};
|
|
187
|
+
/**
|
|
188
|
+
* @description * `category` - category
|
|
189
|
+
* * `query_in_category` - query_in_category
|
|
190
|
+
* @enum {string}
|
|
191
|
+
*/
|
|
192
|
+
CountScopeEnum: "category" | "query_in_category";
|
|
193
|
+
/** @description One filter the query's own words produced, ready to be replayed. */
|
|
194
|
+
ExtractedFilter: {
|
|
195
|
+
slug: string;
|
|
196
|
+
value: string;
|
|
197
|
+
label: string;
|
|
198
|
+
value_label: string;
|
|
199
|
+
method: components["schemas"]["MethodEnum"];
|
|
200
|
+
/** Format: double */
|
|
201
|
+
confidence: number;
|
|
202
|
+
/** @description `[start, end)` into the RAW query, so a UI can underline the words that became this chip. */
|
|
203
|
+
span: number[];
|
|
204
|
+
/** @description The literal query parameter this filter IS — e.g. `f.color=krasnyy`. Re-send it verbatim to KEEP the chip, omit it to remove it, and send `qu=off` alongside so the server does not extract it again. Nothing about extraction is remembered server-side, which is why the parameter has to be complete. */
|
|
205
|
+
param: string;
|
|
206
|
+
/** @description True when this filter actually narrowed the answer. A false one still contributed to each row's `match_count`. */
|
|
207
|
+
applied: boolean;
|
|
208
|
+
};
|
|
163
209
|
/** @description Captions for one slug's option codes. */
|
|
164
210
|
FacetLabels: {
|
|
165
211
|
/** @description True when `values` holds translation KEYS to run through the catalogue; false when it holds literal captions. The reader cannot tell by looking — `b.apple` and `Б/у` are both strings. */
|
|
@@ -180,6 +226,16 @@ export interface components {
|
|
|
180
226
|
dropped_filters: string[];
|
|
181
227
|
/** @description Range slugs that address a core document column rather than an attribute (`r.price`). Offer them as filters unconditionally: they exist for every document in every category, which is why they are not in the category's own plan. */
|
|
182
228
|
core_ranges: string[];
|
|
229
|
+
/** @description Where the plan came from. `category` — the queried category's own authored schema. `evidence` — the categories the CANDIDATE SET actually contains, used when that schema did not fill MAX_FACET_FIELDS, which is every branch category and every text query (`categories.features` resolves own + ANCESTOR-inherited features, so a branch owns no axes; its leaves do). */
|
|
230
|
+
plan: string;
|
|
231
|
+
/** @description `{slug, coverage, candidates}` for groups that were counted and then withheld because they describe too little of the result set (FACET_MIN_COVERAGE). Present so a panel can say «3 filters apply to too few of these» instead of «no filters» — the second is false whenever this list is not empty. Only slugs the evidence plan borrowed from another category are ever here, and never one the reader has already filtered on. */
|
|
232
|
+
withheld: {
|
|
233
|
+
[key: string]: unknown;
|
|
234
|
+
}[];
|
|
235
|
+
/** @description `{category, count}` — the categories this answer's candidate set is made of, busiest first, `category` being the same slash-joined id path the `category` filter takes. The evidence the plan was drawn from, and what a panel needs to offer the CATEGORY itself as the first filter on a text search. Empty when the plan is the queried category's own. */
|
|
236
|
+
categories: {
|
|
237
|
+
[key: string]: unknown;
|
|
238
|
+
}[];
|
|
183
239
|
};
|
|
184
240
|
HealthResponse: {
|
|
185
241
|
backend: string;
|
|
@@ -193,6 +249,12 @@ export interface components {
|
|
|
193
249
|
lag_seconds?: number | null;
|
|
194
250
|
stale_reason?: string;
|
|
195
251
|
};
|
|
252
|
+
/**
|
|
253
|
+
* @description * `nearby` - nearby
|
|
254
|
+
* * `all` - all
|
|
255
|
+
* @enum {string}
|
|
256
|
+
*/
|
|
257
|
+
IdEnum: "nearby" | "all";
|
|
196
258
|
/**
|
|
197
259
|
* @description * `exact` - exact
|
|
198
260
|
* * `prefix` - prefix
|
|
@@ -203,6 +265,24 @@ export interface components {
|
|
|
203
265
|
* @enum {string}
|
|
204
266
|
*/
|
|
205
267
|
MatchEnum: "exact" | "prefix" | "word" | "substring" | "listings" | "vector";
|
|
268
|
+
/**
|
|
269
|
+
* @description * `exact` - exact
|
|
270
|
+
* * `translit` - translit
|
|
271
|
+
* * `alias` - alias
|
|
272
|
+
* * `vector` - vector
|
|
273
|
+
* @enum {string}
|
|
274
|
+
*/
|
|
275
|
+
MethodEnum: "exact" | "translit" | "alias" | "vector";
|
|
276
|
+
/** @description What a free-text query turned out to be ABOUT, beside its words. */
|
|
277
|
+
QueryUnderstanding: {
|
|
278
|
+
filters: components["schemas"]["ExtractedFilter"][];
|
|
279
|
+
category_path: string[];
|
|
280
|
+
/** Format: double */
|
|
281
|
+
category_confidence: number;
|
|
282
|
+
/** @description The query with every extracted span removed — the text the engine still had to match. Empty is normal and correct: «красный» is entirely a filter, and the answer is then the filters' set. */
|
|
283
|
+
residual: string;
|
|
284
|
+
degraded: string[];
|
|
285
|
+
};
|
|
206
286
|
/** @description The P2B Art. 5 disclosure, generated from the scorer registry. */
|
|
207
287
|
RankingResponse: {
|
|
208
288
|
doc_type: string;
|
|
@@ -249,10 +329,14 @@ export interface components {
|
|
|
249
329
|
promoted: boolean;
|
|
250
330
|
/**
|
|
251
331
|
* Format: double
|
|
252
|
-
* @description Great-circle distance from the searched centre.
|
|
332
|
+
* @description Great-circle distance from the searched centre, in km. For an ANONYMOUS reader it is measured from the same ~1.1km grid point the card publishes and floored to that grid's quantum (the cell's diagonal, ~1.574km): a distance finer than the position it came from is the position, three requests away. The listing's own owner, staff and the service transport get the exact number. Coarse is enough for what it drives — a card saying «12 км» does not need metres — and it never overstates proximity, being floored rather than rounded.
|
|
253
333
|
*/
|
|
254
334
|
distance_km: number | null;
|
|
255
|
-
/** @description
|
|
335
|
+
/** @description `nearby` | `all` | `""`. Which partition this row sits in, present only under `geo_mode=rank`. A LABEL, never a filter: `all` carries every remaining row, including rows with no coordinates at all, so a query never returns fewer results because of distance. `""` means the request ranked by proximity but gave no centre, which is not an error. */
|
|
336
|
+
band?: string;
|
|
337
|
+
/** @description How many of the filters the QUERY's own words produced this row satisfies — including the soft ones that were not applied as filters. Orders rows within a band, strongest first. Present only when the query produced signals. */
|
|
338
|
+
match_count?: number;
|
|
339
|
+
/** @description Stored row fields, so a result page costs one query. For an ANONYMOUS reader the card never carries full-precision coordinates, on every path and whatever the flags: a key naming half a pair (`lat`, `latitude`, `lon`, `lng`, `*_lat`…) is rewritten onto the ~1.1km public grid from the row's own columns, and a key carrying a position this module cannot turn into an area (`geohash`, `location`, `coordinates`…) is removed rather than truncated — two differently-aligned areas around one point intersect down to a sliver. `geo_precision_km` says how wide the area is: draw a CIRCLE, never a marker. Under `geo_mode=rank` the pair is ADDED even to a card that carried no position at all. */
|
|
256
340
|
card: {
|
|
257
341
|
[key: string]: unknown;
|
|
258
342
|
};
|
|
@@ -260,6 +344,10 @@ export interface components {
|
|
|
260
344
|
/** @description The query envelope: AnchorPagination's keys, plus what search owes. */
|
|
261
345
|
SearchResponse: {
|
|
262
346
|
items: components["schemas"]["SearchItem"][];
|
|
347
|
+
/** @description Per-band counts in render order — `nearby` («Объявления поблизости») then `all` («Все объявления»). Present only under `geo_mode=rank`; empty when no centre was given. The rows themselves carry `band`; this is the summary a heading needs. The top-level `count` remains the WHOLE matching total, never the nearby one. */
|
|
348
|
+
bands?: components["schemas"]["BandSummary"][];
|
|
349
|
+
/** @description What the query's words became. Absent entirely while QUERY_UNDERSTANDING is off or `qu=off` was sent. */
|
|
350
|
+
query_understanding?: components["schemas"]["QueryUnderstanding"];
|
|
263
351
|
/** @description {slug: {value: count}}, counted with the slug's own filter removed. */
|
|
264
352
|
facets: {
|
|
265
353
|
[key: string]: {
|
|
@@ -335,7 +423,7 @@ export interface operations {
|
|
|
335
423
|
query: {
|
|
336
424
|
/** @description Opaque keyset cursor from a previous answer. */
|
|
337
425
|
anchor?: string;
|
|
338
|
-
/** @description minLat,minLon,maxLat,maxLon. minLon > maxLon means the box crosses +/-180. */
|
|
426
|
+
/** @description minLat,minLon,maxLat,maxLon. minLon > maxLon means the box crosses +/-180. For an anonymous caller the rectangle is grown OUTWARD to whole ~1.1km cells of the public geo grid, so it can only ever ask about the area a public card publishes: a box EXCLUDES rows, and halving one around a listing would otherwise converge on the seller's pin in a few dozen requests. */
|
|
339
427
|
bbox?: string;
|
|
340
428
|
/** @description root/leaf path; a prefix filter, so a parent finds its descendants. */
|
|
341
429
|
category?: string;
|
|
@@ -345,6 +433,8 @@ export interface operations {
|
|
|
345
433
|
"f.<slug>"?: string;
|
|
346
434
|
/** @description on | off | comma-separated slugs. Default is the category's plan. */
|
|
347
435
|
facets?: string;
|
|
436
|
+
/** @description rank | filter. What `radius_km` means. `rank` PARTITIONS: the answer comes back as `nearby` (inside the radius) then `all` (every remaining row), nothing is withheld, and `count` stays the whole matching total — a query can never come back empty because of distance. `filter` is the historical hard cut, for a caller that genuinely wants only what is within N km. `rank` is the default inside the feature; while STAPEL_SEARCH['GEO_BANDS'] is off this parameter is inert and `radius_km` filters as it always has. */
|
|
437
|
+
geo_mode?: string;
|
|
348
438
|
/** @description Language of the query: selects the analyzer AND narrows the corpus. Omit it and only the analyzer is chosen (from Accept-Language) — a header must not hide a catalogue. */
|
|
349
439
|
lang?: string;
|
|
350
440
|
/** @description Centre latitude (with lon). */
|
|
@@ -356,9 +446,11 @@ export interface operations {
|
|
|
356
446
|
owner?: string;
|
|
357
447
|
/** @description Free text. Dictionary-normalized here; morphology belongs to the engine. */
|
|
358
448
|
q?: string;
|
|
449
|
+
/** @description auto | off. Whether the query's own words may become filters. `auto` (the default while QUERY_UNDERSTANDING is on) extracts and reports what it extracted under `query_understanding`; each filter carries the literal `param` to replay. Send `qu=off` with those replayed params afterwards — extraction is stateless, so without it a removed chip comes straight back. */
|
|
450
|
+
qu?: string;
|
|
359
451
|
/** @description Range filter, `from..to`; either end may be omitted. */
|
|
360
452
|
"r.<slug>"?: string;
|
|
361
|
-
/** @description
|
|
453
|
+
/** @description Distance around the centre, in km. Its MEANING is `geo_mode`'s: under `rank` it is the edge of the `nearby` band and excludes nothing; under `filter` it is a hard cut. Defaults to NEAR_BAND_RADIUS_KM under `rank`. */
|
|
362
454
|
radius_km?: number;
|
|
363
455
|
/** @description relevance | newest | price_asc | price_desc | distance. An explicit sort never receives a promotional boost. */
|
|
364
456
|
sort?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/api/generated/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/api/generated/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/api/types.d.ts
CHANGED
|
@@ -11,15 +11,73 @@
|
|
|
11
11
|
import type { components } from "./generated/schema.js";
|
|
12
12
|
/** The generated schema table — the one source of truth for wire shapes. */
|
|
13
13
|
export type Schemas = components["schemas"];
|
|
14
|
-
/**
|
|
15
|
-
|
|
14
|
+
/**
|
|
15
|
+
* One slug's captions: the GROUP's own name, and the words for its values.
|
|
16
|
+
*
|
|
17
|
+
* `label` is the group heading the server resolved from the category's
|
|
18
|
+
* feature definition, in the request's own language. It is the only source
|
|
19
|
+
* that always exists — `categoryFeatures` is an optional slot a live
|
|
20
|
+
* classified board never filled, and without it every heading in the panel
|
|
21
|
+
* was the raw index slug. `null` is the server saying it has no name for the
|
|
22
|
+
* slug either; ABSENT is a server too old to send one, and both read the same
|
|
23
|
+
* way here (fall through to the schema).
|
|
24
|
+
*
|
|
25
|
+
* WHAT THE GENERATOR LOST: the field is newer than this pair's pinned
|
|
26
|
+
* `schema.json`, so it is declared here as optional-and-nullable rather than
|
|
27
|
+
* regenerated into a shape a deployed older server does not send.
|
|
28
|
+
*/
|
|
29
|
+
export type FacetLabels = Schemas["FacetLabels"] & {
|
|
30
|
+
readonly label?: string | null;
|
|
31
|
+
};
|
|
32
|
+
/** `facet_labels` as a whole: `{slug: {label, translatable, values}}`. */
|
|
33
|
+
export type FacetLabelsMap = Readonly<Record<string, FacetLabels>>;
|
|
34
|
+
/** `GET /query` 200 — the whole envelope. Corrected in two places: see
|
|
35
|
+
* {@link FacetMeta} and {@link FacetLabels}. */
|
|
36
|
+
export type SearchResponse = Omit<Schemas["SearchResponse"], "facet_meta" | "facet_labels"> & {
|
|
37
|
+
readonly facet_meta: FacetMeta;
|
|
38
|
+
readonly facet_labels: FacetLabelsMap;
|
|
39
|
+
};
|
|
16
40
|
/** One result row. `promoted` is present on EVERY item under EVERY sort — a
|
|
17
41
|
* mandatory marking (DSA Art. 26), not an optional field, which is why the
|
|
18
42
|
* card slot's contract carries it and why the default skin renders it. */
|
|
19
43
|
export type SearchItem = Schemas["SearchItem"];
|
|
20
|
-
/**
|
|
21
|
-
*
|
|
22
|
-
|
|
44
|
+
/**
|
|
45
|
+
* One group the counter COUNTED and then held back, because its buckets
|
|
46
|
+
* describe too little of the result set (`FACET_MIN_COVERAGE`).
|
|
47
|
+
*
|
|
48
|
+
* The existence of this list is what makes "this search offers no filters"
|
|
49
|
+
* a false sentence whenever it is not empty (D175).
|
|
50
|
+
*/
|
|
51
|
+
export interface FacetWithheldGroup {
|
|
52
|
+
readonly slug: string;
|
|
53
|
+
/** Sum of that group's bucket counts — how much of the set it describes. */
|
|
54
|
+
readonly coverage: number;
|
|
55
|
+
/** Size of the candidate set `coverage` is a fraction of. */
|
|
56
|
+
readonly candidates: number;
|
|
57
|
+
}
|
|
58
|
+
/** One category the candidate set is made of. */
|
|
59
|
+
export interface FacetCategoryCount {
|
|
60
|
+
/** The slash-joined id path (`"32/149/163"`) — the SAME string the
|
|
61
|
+
* `category` filter and `SearchQueryState.category` already take, so a
|
|
62
|
+
* panel can offer it as a filter without translating anything. */
|
|
63
|
+
readonly category: string;
|
|
64
|
+
readonly count: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* The honesty block beside the counts: `approximate`, `candidates`,
|
|
68
|
+
* `counted`, `skipped`, and (stapel-search 0.12.0+) where the facet plan came
|
|
69
|
+
* from. Rendered, never swallowed (spec §4.2).
|
|
70
|
+
*
|
|
71
|
+
* WHAT THE GENERATOR LOST: drf-spectacular describes `withheld` and
|
|
72
|
+
* `categories` as bare `object` arrays, so the generated members are
|
|
73
|
+
* `{[key: string]: unknown}[]` — the two fields a panel has to read
|
|
74
|
+
* field-by-field are the two it cannot. Both are corrected here to the
|
|
75
|
+
* documented row shapes; nothing else about `FacetMeta` is hand-written.
|
|
76
|
+
*/
|
|
77
|
+
export type FacetMeta = Omit<Schemas["FacetMeta"], "withheld" | "categories"> & {
|
|
78
|
+
readonly withheld: readonly FacetWithheldGroup[];
|
|
79
|
+
readonly categories: readonly FacetCategoryCount[];
|
|
80
|
+
};
|
|
23
81
|
/** `GET /suggest` 200, as the CURRENT generated schema describes it. */
|
|
24
82
|
export type SuggestResponse = Schemas["SuggestResponse"];
|
|
25
83
|
/**
|
|
@@ -223,7 +281,11 @@ export interface SuggestParams {
|
|
|
223
281
|
* can arrive twice; {@link SearchDegradation} values are de-duplicated by
|
|
224
282
|
* `raw` when parsed.
|
|
225
283
|
*/
|
|
226
|
-
export type SearchDegradationKind = "typo_tolerance" | "phrase_synonyms" | "exact_total" | "exact_facet_counts" | "category_rollup"
|
|
284
|
+
export type SearchDegradationKind = "typo_tolerance" | "phrase_synonyms" | "exact_total" | "exact_facet_counts" | "category_rollup"
|
|
285
|
+
/** The engine has no `category_counts` verb, so the categories the result
|
|
286
|
+
* set is made of are unknown and no evidence facet plan could be drawn.
|
|
287
|
+
* An empty filter panel then means "we do not know", not "there are none". */
|
|
288
|
+
| "facet_plan_evidence" | "scorer" | "unknown";
|
|
227
289
|
export interface SearchDegradation {
|
|
228
290
|
readonly kind: SearchDegradationKind;
|
|
229
291
|
/** The literal the server sent — shown for an `unknown` kind, because a
|
package/dist/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,4EAA4E;AAC5E,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AAE5C,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
|
package/dist/api/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAoLA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,MAAiC;IAC5D,OAAO,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;AAC9C,CAAC;AAQD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,WAAW;IACX,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,UAAU;CACX,CAAC"}
|
|
@@ -9,8 +9,14 @@ import type { FacetGroup, FacetOption } from "../state/facets.js";
|
|
|
9
9
|
* leaves a group of seven whole rather than truncated by one row.
|
|
10
10
|
*/
|
|
11
11
|
export declare const FACET_VISIBLE_OPTIONS = 8;
|
|
12
|
-
/**
|
|
13
|
-
|
|
12
|
+
/**
|
|
13
|
+
* From how many values a group stops being a list and becomes a DICTIONARY —
|
|
14
|
+
* the same eight, because it is the same fold: past it the group is drawn as
|
|
15
|
+
* its busiest values plus a box that searches the rest.
|
|
16
|
+
*/
|
|
17
|
+
export declare const FACET_DICTIONARY_THRESHOLD: number;
|
|
18
|
+
/** The four shapes a facet group takes. */
|
|
19
|
+
export type FacetGroupShape = "segmented" | "nested" | "checkbox" | "dictionary";
|
|
14
20
|
/** The option rows of a group, already nested where the schema nests them. */
|
|
15
21
|
export interface FacetOptionNode {
|
|
16
22
|
readonly option: FacetOption;
|
|
@@ -18,10 +24,34 @@ export interface FacetOptionNode {
|
|
|
18
24
|
readonly depth: number;
|
|
19
25
|
}
|
|
20
26
|
/**
|
|
21
|
-
*
|
|
27
|
+
* Is this group a DICTIONARY — a vocabulary's level, too long to scroll?
|
|
28
|
+
*
|
|
29
|
+
* Two ways to be one, because the schema is an optional slot and the live
|
|
30
|
+
* case is the one where it is empty:
|
|
31
|
+
*
|
|
32
|
+
* - the def types the slug `ref_select`/`ref_hierarchical_select`, i.e. its
|
|
33
|
+
* config is a POINTER into a vocabulary and there was never an option
|
|
34
|
+
* table to draw;
|
|
35
|
+
* - there is NO def at all and the answer came back with more values than a
|
|
36
|
+
* fold. At a live classified's cars branch the storefront passed an empty
|
|
37
|
+
* feature list, so the 418 makes arrived as an unnamed, untyped group of
|
|
38
|
+
* 418 checkboxes behind "Show all (418)". A box is the only control that
|
|
39
|
+
* answers that, and refusing to draw one because the schema is missing
|
|
40
|
+
* punishes the buyer for the wiring.
|
|
41
|
+
*
|
|
42
|
+
* Either way it takes more than {@link FACET_DICTIONARY_THRESHOLD} EVIDENCE
|
|
43
|
+
* buckets — values the answer actually counted. A zero-filled option table or
|
|
44
|
+
* a schema-only tail is a list a person can already read, and a box over it
|
|
45
|
+
* would search for values no document carries.
|
|
46
|
+
*/
|
|
47
|
+
export declare function isDictionaryFacet(group: FacetGroup): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Which of the four shapes a group takes.
|
|
22
50
|
*
|
|
23
51
|
* Order matters: a hierarchical facet is nested even when it is single-choice,
|
|
24
|
-
* because losing the tree costs more than losing the pills
|
|
52
|
+
* because losing the tree costs more than losing the pills; and a dictionary
|
|
53
|
+
* is a dictionary before it is a checkbox list, because the checkbox list is
|
|
54
|
+
* the shape it was drawn as when nobody could pick a make.
|
|
25
55
|
*/
|
|
26
56
|
export declare function facetGroupShape(group: FacetGroup): FacetGroupShape;
|
|
27
57
|
/** The group's options in render order, carrying the depth the schema gives. */
|