@stapel/search-react 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/MODULE.md +12 -0
  3. package/README.md +84 -6
  4. package/dist/api/types.d.ts +13 -0
  5. package/dist/api/types.d.ts.map +1 -1
  6. package/dist/api/types.js.map +1 -1
  7. package/dist/default/FacetGroupControl.d.ts +22 -4
  8. package/dist/default/FacetGroupControl.d.ts.map +1 -1
  9. package/dist/default/FacetGroupControl.js +85 -9
  10. package/dist/default/FacetGroupControl.js.map +1 -1
  11. package/dist/default/FacetPanelPane.d.ts +41 -0
  12. package/dist/default/FacetPanelPane.d.ts.map +1 -1
  13. package/dist/default/FacetPanelPane.js +72 -18
  14. package/dist/default/FacetPanelPane.js.map +1 -1
  15. package/dist/default/FilterChips.d.ts.map +1 -1
  16. package/dist/default/FilterChips.js +2 -2
  17. package/dist/default/FilterChips.js.map +1 -1
  18. package/dist/default/PartitionChips.d.ts +14 -0
  19. package/dist/default/PartitionChips.d.ts.map +1 -1
  20. package/dist/default/PartitionChips.js +30 -4
  21. package/dist/default/PartitionChips.js.map +1 -1
  22. package/dist/default/RangeFilterRow.d.ts.map +1 -1
  23. package/dist/default/RangeFilterRow.js +65 -11
  24. package/dist/default/RangeFilterRow.js.map +1 -1
  25. package/dist/default/SearchPage.d.ts +49 -0
  26. package/dist/default/SearchPage.d.ts.map +1 -1
  27. package/dist/default/SearchPage.js +43 -2
  28. package/dist/default/SearchPage.js.map +1 -1
  29. package/dist/default/index.d.ts +2 -2
  30. package/dist/default/index.d.ts.map +1 -1
  31. package/dist/default/index.js +2 -2
  32. package/dist/default/index.js.map +1 -1
  33. package/dist/i18n/es.d.ts.map +1 -1
  34. package/dist/i18n/es.js +3 -0
  35. package/dist/i18n/es.js.map +1 -1
  36. package/dist/i18n/keys.d.ts +22 -0
  37. package/dist/i18n/keys.d.ts.map +1 -1
  38. package/dist/i18n/keys.js +25 -0
  39. package/dist/i18n/keys.js.map +1 -1
  40. package/dist/i18n/ru.d.ts.map +1 -1
  41. package/dist/i18n/ru.js +3 -0
  42. package/dist/i18n/ru.js.map +1 -1
  43. package/dist/index.d.ts +2 -2
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +2 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/state/facets.d.ts +64 -0
  48. package/dist/state/facets.d.ts.map +1 -1
  49. package/dist/state/facets.js +144 -0
  50. package/dist/state/facets.js.map +1 -1
  51. package/dist/state/ranges.d.ts +22 -0
  52. package/dist/state/ranges.d.ts.map +1 -1
  53. package/dist/state/ranges.js +30 -0
  54. package/dist/state/ranges.js.map +1 -1
  55. package/llms.txt +1 -1
  56. package/manifest.json +8 -1
  57. package/nav-manifest.json +1 -1
  58. package/package.json +7 -7
  59. package/src/analytics/generated/events.json +1 -1
  60. package/src/api/types.ts +13 -0
  61. package/src/default/FacetGroupControl.tsx +139 -14
  62. package/src/default/FacetPanelPane.tsx +131 -19
  63. package/src/default/FilterChips.tsx +5 -2
  64. package/src/default/PartitionChips.tsx +47 -4
  65. package/src/default/RangeFilterRow.tsx +116 -1
  66. package/src/default/SearchPage.tsx +61 -2
  67. package/src/default/index.ts +12 -2
  68. package/src/i18n/es.ts +3 -0
  69. package/src/i18n/keys.ts +25 -0
  70. package/src/i18n/ru.ts +3 -0
  71. package/src/index.ts +4 -0
  72. package/src/state/facets.ts +152 -0
  73. package/src/state/ranges.ts +44 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,96 @@
1
1
  # @stapel/search-react
2
2
 
3
+ ## 0.23.0
4
+
5
+ ### Minor Changes
6
+
7
+ - e8d7744: search: the rail is the category's own form, and the axes a seller had to fill are the ones a buyer sees first
8
+
9
+ A walk of a live classified's desktop cars page reported three things in one
10
+ breath, and they turned out to be four faults with one shape: the panel was
11
+ answering questions the _answer_ had asked, not the ones the _category_ asks.
12
+
13
+ **The rail is in SCHEMA order, required first.** It ranked by evidence — the
14
+ sum of an axis's counts — which is the right question for a phone chip row
15
+ with room for four and the wrong one for the column a person narrows a
16
+ catalogue in. On three listings the busiest axis is whichever three values
17
+ happen to be counted, so the rail opened on condition and colour while the
18
+ make, the model and the year — the three fields the category marks `mandatory`,
19
+ i.e. the three every seller had to fill — sat below them. `orderFacetGroupsBySchema`
20
+ puts pinned slugs first, then the required features in the schema's own order,
21
+ then the rest in schema order, then what the schema does not name at all in
22
+ evidence order, because with no schema there is no other order to have. Stable
23
+ under a click, which a rail that reshuffles as you tick is not. Past
24
+ `visibleGroups` (default 8) the tail folds under one **All filters (K)**
25
+ control — never a group you have already chosen a value in, because the control
26
+ that removes a filter is the one you came back for. `<SearchPage>` gains
27
+ `partition` (drawn above the price: which half of one template a page is about
28
+ is not a filter among filters) and `pinnedFacets`.
29
+
30
+ **Why the make could vanish.** `facetGroupIsDrawable` is now the one predicate
31
+ the rail and the chip row share, and it says what the old duplicated
32
+ `options.length > 0` said without saying WHY: a group with nothing under it is
33
+ a heading over nothing. The catalogue's `make`, `model`, `generation` and
34
+ `body_type` are `ref_select` features whose config is a bare `optionsRef`
35
+ pointer — no option table in the schema and there never will be — so the moment
36
+ the server's plan does not count one, there is nothing on either side to
37
+ enumerate and the group leaves the page, while every `select`-typed comfort
38
+ option (steering side, power steering, heating) draws its own schema table and
39
+ stays. That is the exact set the walker saw and did not see. The drop is still
40
+ right — a dead heading helps nobody — and it is no longer SILENT: outside
41
+ production one `console.warn` names the axis, says which side is missing
42
+ (uncounted, or a schema that does not define it), and says when the schema
43
+ calls the axis **required**. Both owners of that wiring fault can now see it
44
+ from the page. The regression is pinned against the live answer itself, saved
45
+ as a fixture (`test/liveCars.ts`, captured 2026-09-04): an axis with evidence
46
+ buckets survives the parent node's EMPTY feature list and a def that names it
47
+ without typing it.
48
+
49
+ **A dictionary outranks the pills, and on desktop it is a FIELD.** The live
50
+ make axis is `maxSelected: 1` over a 418-value vocabulary, so "pick one" won
51
+ the shape contest and the control it produced was four hundred pills in a 280px
52
+ rail — a wall with a different border radius. `facetGroupShape` now asks
53
+ "dictionary?" before "single-choice?". And on the rail
54
+ (`dictionaryMode="field"`, which `<SearchPage>` sets for the column layout) a
55
+ dictionary closes into a select-style field reading its chosen values or _Any_,
56
+ which opens the searchable list you already had: a real `role="combobox"`
57
+ button, ArrowDown to open, Escape to close. The phone sheet keeps the list
58
+ inline — the sheet is already the disclosure.
59
+
60
+ **A bounded integer is a picker, not a bare number.** The year was two empty
61
+ number fields; it is `int` with `min: 1900, max: 2027`, which is 128 values and
62
+ therefore a list. `RangeGroup.picker` carries it (newest first — a year picker
63
+ that opens on 1900 is a picker nobody uses) for any `int` feature whose schema
64
+ declares both bounds and spans at most `RANGE_PICKER_MAX_VALUES` (300), and
65
+ `<RangeFilterRow>` draws two from/to selects. Typing still works and carries
66
+ the bounds: a valid in-range number narrows the list, anything else brings the
67
+ whole list back with the bounds said in words, because a year below the
68
+ catalogue's floor otherwise does nothing at all, silently. A mileage
69
+ (`1..1000000`) and the core price stay two typed fields.
70
+
71
+ **The rail's scrollbar is in the gutter, not on the filters.**
72
+ `scrollbar-width: thin` and `scrollbar-gutter: stable` are the standard half
73
+ and they are not enough: on every overlay-scrollbar platform — a Mac by
74
+ default, every iOS browser — the bar is painted OVER the content and the gutter
75
+ reserves nothing, which is why it lay across the checkbox labels. The rail now
76
+ also declares a classic bar through the WebKit pseudo-elements, with a real
77
+ width so it displaces rather than overlaps, and every colour a `--stapel-*`
78
+ custom property so it is the panel's own hairline in both themes rather than a
79
+ grey that glows in the dark one. `railScrollbarCss()` and `RAIL_CLASS` are
80
+ exported for a host that lays out its own column.
81
+
82
+ **`<PartitionChips variant="segmented">`** is the desktop rail's shape of the
83
+ same choice: one joined control under its own label instead of a wrapping pill
84
+ row, which in a 280px column is two ragged lines. The SEMANTICS do not vary
85
+ with the variant — the same `radiogroup`, the same roving tabindex, the same
86
+ arrow keys — because a segmented look is a border-radius decision, and swapping
87
+ in a component that draws joined cells by giving up "exactly one of these is
88
+ true" would trade the accessible half of the control for the visible half.
89
+
90
+ Also: `FacetLabels.label_translatable` is typed. The live answer sends it
91
+ beside every group label and the pinned `schema.json` does not describe it, so
92
+ a fixture captured from the wire was a type error.
93
+
3
94
  ## 0.22.0
4
95
 
5
96
  ### Minor Changes
package/MODULE.md CHANGED
@@ -207,6 +207,18 @@ Set on `<SearchPage>`, it reaches both filter surfaces: the desktop panel and
207
207
  the phone chip row read one `useFacetPanel`, so they cannot print two words for
208
208
  one value.
209
209
 
210
+ **The gap the seam does not close: EXISTENCE.** `resolveFacetLabels` names
211
+ values; it does not enumerate them. A `ref_select` group the server did not
212
+ count therefore has no options from either side — the answer counted nothing,
213
+ the schema holds a pointer — and `facetGroupIsDrawable` refuses to draw a
214
+ heading over nothing. Measured on a live cars leaf, that is exactly the set a
215
+ buyer misses (make, model, generation, body type) while every `select`-typed
216
+ option keeps its schema table. The client cannot invent the values, so the fix
217
+ is on the other side — the facet plan must count a required vocabulary axis —
218
+ and until it does, the disappearance is reported: one `console.warn` per slug
219
+ outside production, naming the axis, the missing side, and whether the schema
220
+ marks it required.
221
+
210
222
  ## The chip row's order is the row's product
211
223
 
212
224
  At 390px about four chips fit before the fold. On a live phone category the
package/README.md CHANGED
@@ -157,6 +157,46 @@ Every `FacetGroup` and every `FacetOption` carries `labelSource:
157
157
  "server" | "schema" | "host" | "none"`, so "did anybody actually name this?" is
158
158
  answerable without looking at the string.
159
159
 
160
+ ## The rail is in schema order, required first
161
+
162
+ The panel used to rank its groups by **evidence** — the sum of an axis's
163
+ counts. That is the right question for a phone chip row with room for four and
164
+ the wrong one for the column a person narrows a catalogue in: on a live cars
165
+ page it opened on *condition* and *colour*, because with three listings the
166
+ busiest axis is whichever three values happen to be counted, while *make*,
167
+ *model* and *year* — the three fields the category marks `mandatory`, i.e. the
168
+ three every seller had to fill — sat below them.
169
+
170
+ The rail now follows the **category's own order**, in four bands: pinned slugs,
171
+ then `mandatory` features in schema order, then the rest in schema order, then
172
+ whatever the schema does not name at all (evidence order among themselves —
173
+ with no schema there is no other order to have). Stable under a click, which a
174
+ rail that reshuffles as you tick is not.
175
+
176
+ ```tsx
177
+ <SearchPage
178
+ partition={<PartitionChips variant="segmented" items={children} … />}
179
+ pinnedFacets={["body_type_ref_select"]}
180
+ />
181
+ orderFacetGroupsBySchema({ groups, categoryFeatures, pinned })
182
+ ```
183
+
184
+ Past `visibleGroups` (default `FACET_VISIBLE_GROUPS`, 8) the tail folds under
185
+ one **All filters (K)** control — except a group you have already chosen a
186
+ value in, which is never folded away: the control that removes a filter is the
187
+ one you came back for. The phone sheet passes `visibleGroups={null}`; a surface
188
+ devoted to filtering has the room.
189
+
190
+ `facetGroupIsDrawable(group)` is the one rule the rail and the chip row share
191
+ for "is there anything to draw here". A group with no options is a heading over
192
+ nothing — after `buildFacetGroups` learned to read the schema, what is left in
193
+ that state is a `ref_select` whose config is a bare `optionsRef` pointer and
194
+ which the server did not count, so there is nothing to enumerate from either
195
+ side. It is not drawn, and outside production it is **named**: a
196
+ `console.warn` says which axis went, why, and whether the schema calls it
197
+ required. That is the fault that took *make* off a live cars rail while every
198
+ `select`-typed comfort option drew its own table and stayed.
199
+
160
200
  ## A vocabulary is a dictionary, not a checkbox list
161
201
 
162
202
  Past eight **evidence buckets** a `ref_select` group (or an untyped group that
@@ -173,11 +213,46 @@ answer — stapel-search caps a vocabulary-backed group at
173
213
  this), so a 418-term make dictionary arrives whole and the box has everything
174
214
  it filters.
175
215
 
216
+ A dictionary outranks the pills, too: the live `make` axis is `maxSelected: 1`
217
+ over a 418-value vocabulary, so "pick one" used to win and the control it drew
218
+ was four hundred pills in a 280px rail.
219
+
220
+ On the **desktop rail** a dictionary is a select-style FIELD
221
+ (`dictionaryMode="field"`, which `<SearchPage>` sets for the column layout):
222
+ closed it reads the chosen values or *Any*, and it opens the searchable list —
223
+ a real `role="combobox"` button, Enter/Space to open, ArrowDown to open,
224
+ Escape to close. The phone sheet keeps the list inline, because the sheet is
225
+ already the disclosure.
226
+
176
227
  ```tsx
177
228
  facetGroupShape(group) // "segmented" | "nested" | "checkbox" | "dictionary"
178
229
  isDictionaryFacet(group) // > FACET_DICTIONARY_THRESHOLD counted buckets
179
230
  ```
180
231
 
232
+ ## A bounded integer is a picker, not a bare number
233
+
234
+ A year is not a quantity a person computes, it is one of a hundred-odd values,
235
+ and on a live cars page it was two empty number fields. An `int` feature whose
236
+ schema declares both bounds and spans at most `RANGE_PICKER_MAX_VALUES` (300)
237
+ gets `RangeGroup.picker` — the value list, newest first — and
238
+ `<RangeFilterRow>` draws two from/to selects over it. Typing still works and
239
+ carries the bounds: a valid in-range number narrows the list, anything else
240
+ brings the whole list back **with the bounds said in words** ("from 1900 to
241
+ 2027"), because a year below the catalogue's floor otherwise does nothing at
242
+ all, silently. A mileage (`1..1000000`) and the core price stay two typed
243
+ fields.
244
+
245
+ ## The rail's scrollbar is in the gutter, not on the filters
246
+
247
+ The rail scrolls on its own when it outgrows the window. `scrollbar-width:
248
+ thin` plus `scrollbar-gutter: stable` is the standard half and it is not
249
+ enough: on every overlay-scrollbar platform (a Mac by default, every iOS
250
+ browser) the bar is drawn OVER the content and the gutter reserves nothing. So
251
+ the rail also declares a classic bar through the WebKit pseudo-elements, with a
252
+ real width and every colour a `--stapel-*` custom property, so it is the
253
+ panel's own hairline in both themes. `railScrollbarCss()` and `RAIL_CLASS` are
254
+ exported for a host that lays out its own column.
255
+
181
256
  ## Two browse surfaces the page places
182
257
 
183
258
  Both are exported from `./default` and neither lays itself out — where they
@@ -194,13 +269,16 @@ not a media query: whether a 390px screen has room is a fact about the page.
194
269
  ```
195
270
 
196
271
  `<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.
272
+ a tile grid: an "all" cell plus one per child, from `{id, path, name}`,
273
+ controlled (the choice is a `category` in the URL), a real `radiogroup` with
274
+ roving tabindex and arrow keys — because exactly one of them is true at a time,
275
+ and `aria-pressed` toggles say the opposite. `variant="segmented"` is the
276
+ desktop rail's shape (one joined control under its own label); the semantics do
277
+ not vary with it.
201
278
 
202
279
  ```tsx
203
280
  <PartitionChips items={children} value={state.category ?? null}
281
+ variant={isPhone ? "chips" : "segmented"}
204
282
  onChange={(path) => patch({ category: path })} />
205
283
  ```
206
284
 
@@ -254,10 +332,10 @@ the configured engine cannot evaluate.
254
332
  | Layer | Exports |
255
333
  |---|---|
256
334
  | api | `createSearchApi`, `searchQueryParams`, `SEARCH_SORTS`, wire types |
257
- | state (pure) | `parseSearchState`, `writeSearchState`, `patchSearchState`, `toggleFilterValue`, `setFilterValues`, `setRangeValue`, `clearFilters`, `activeFilterCount`, `parseDegradations`, `countIsEstimate`, `buildFacetGroups`, `facetOptionLabel`, `translitPrefixMatch`, `translitKey`, `consonantKey` |
335
+ | state (pure) | `parseSearchState`, `writeSearchState`, `patchSearchState`, `toggleFilterValue`, `setFilterValues`, `setRangeValue`, `clearFilters`, `activeFilterCount`, `parseDegradations`, `countIsEstimate`, `buildFacetGroups`, `orderFacetGroupsBySchema`, `facetGroupIsDrawable`, `facetGroupHasEvidence`, `facetOptionLabel`, `translitPrefixMatch`, `translitKey`, `consonantKey` |
258
336
  | model | `createSearchRuntime`, `searchQueryKeys`, `useSearchQuery`, `useRankingDisclosure` |
259
337
  | headless | `SearchProvider`, `SearchStateProvider`/`useSearchState`, `SearchResults`, `FacetPanel`, `RankingDisclosure` |
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) |
338
+ | `./default` | `SearchPage`, `SearchResultsPane`, `FacetPanelPane`, `RankingDisclosurePane`, `SearchBox`, `SortSelect`, `PageSizeSelect`, `LanguageSelect`, `SearchResultCard`, `RangeFilterRow`, `DegradationNotice`, `UrlIssueNotice`, `PopularValues`, `PartitionChips`, `facetGroupShape`, `isDictionaryFacet`, `railScrollbarCss`, `RAIL_CLASS`, `FACET_VISIBLE_GROUPS` (the skin themes itself through `SkinTheme` from `@stapel/tokens-antd/skin`; the pair's own `SearchSkinTheme` is gone as of 0.6.0) |
261
339
  | `./router` | `useRouterSearchParams` |
262
340
  | i18n | `registerSearchI18n` (+ `./i18n/ru`, `./i18n/es`) |
263
341
  | errors | `SEARCH_ERRORS`, `explainSearchError`, `SEARCH_WINDOW_EXCEEDED`, `SEARCH_BACKEND_UNAVAILABLE` |
@@ -28,6 +28,19 @@ export type Schemas = components["schemas"];
28
28
  */
29
29
  export type FacetLabels = Schemas["FacetLabels"] & {
30
30
  readonly label?: string | null;
31
+ /**
32
+ * Whether {@link label} is a translation KEY rather than a caption, the way
33
+ * `translatable` says it for the values.
34
+ *
35
+ * Measured on a live answer (`category=141/151`, 2026-09-04): the server
36
+ * sends it beside every label — a make caption with
37
+ * `label_translatable: false`, a condition caption with `true` — and the
38
+ * describe it. Declared, not consumed: this pair passes the group heading
39
+ * through its translator either way, and a caption that is not a key comes
40
+ * back unchanged (`translate()` keeps a key it cannot resolve). Typed so a
41
+ * fixture captured from the wire is not a type error.
42
+ */
43
+ readonly label_translatable?: boolean;
31
44
  };
32
45
  /** `facet_labels` as a whole: `{slug: {label, translatable, values}}`. */
33
46
  export type FacetLabelsMap = Readonly<Record<string, FacetLabels>>;
@@ -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;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAEnE;gDACgD;AAChD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,OAAO,CAAC,gBAAgB,CAAC,EACzB,YAAY,GAAG,cAAc,CAC9B,GAAG;IACF,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;CACvC,CAAC;AAEF;;0EAE0E;AAC1E,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,iDAAiD;AACjD,MAAM,WAAW,kBAAkB;IACjC;;sEAEkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,CAC1B,OAAO,CAAC,WAAW,CAAC,EACpB,UAAU,GAAG,YAAY,CAC1B,GAAG;IACF,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACjD,qCAAqC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;mEAC+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;8CAC0C;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,yBAAyB,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAEjF;AAED,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEzD,+CAA+C;AAC/C,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAMzC,CAAC;AAEF;0CAC0C;AAC1C,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,MAAM,EAAE,CAAC;AAE9D;+DAC+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;oDACoD;AACpD,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,YAAY,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;qEACiE;IACjE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9D,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;0BAC0B;AAC1B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,iBAAiB,GACjB,aAAa,GACb,oBAAoB,GACpB,iBAAiB;AACnB;;8EAE8E;GAC5E,qBAAqB,GACrB,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC;4EACwE;IACxE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAiMA;;;;;;;;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"}
@@ -48,10 +48,20 @@ export declare function isDictionaryFacet(group: FacetGroup): boolean;
48
48
  /**
49
49
  * Which of the four shapes a group takes.
50
50
  *
51
- * Order matters: a hierarchical facet is nested even when it is single-choice,
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.
51
+ * Order matters, and it changed in one place after a live measurement:
52
+ *
53
+ * - a hierarchical facet is nested even when it is single-choice, because
54
+ * losing the tree costs more than losing the pills;
55
+ * - a DICTIONARY outranks the pills. The make axis on the live cars leaf
56
+ * `maxSelected: 1` over a 418-value vocabulary, so "pick one" won and the
57
+ * control it produced was four hundred pills in a 280px rail — a wall
58
+ * with a different border radius. Above the fold the shape a person needs
59
+ * is a search box, whether or not they may tick two; below it,
60
+ * single-choice still means pills, because `isDictionaryFacet` requires
61
+ * more than {@link FACET_DICTIONARY_THRESHOLD} counted buckets;
62
+ * - and a dictionary is a dictionary before it is a checkbox list, because
63
+ * the checkbox list is the shape it was drawn as when nobody could pick a
64
+ * make.
55
65
  */
56
66
  export declare function facetGroupShape(group: FacetGroup): FacetGroupShape;
57
67
  /** The group's options in render order, carrying the depth the schema gives. */
@@ -75,6 +85,14 @@ export interface FacetGroupControlProps {
75
85
  /** Whether a `collapsible` group STARTS open. Default `true`. The initial
76
86
  * value only — the person owns the state after the first click. */
77
87
  readonly defaultOpen?: boolean;
88
+ /**
89
+ * How a `"dictionary"` group is drawn. `"field"` is the desktop shape — a
90
+ * select-style field reading its chosen values or "Any", which opens the
91
+ * searchable list; `"inline"` (the default) keeps the list open, the shape
92
+ * a phone sheet wants because the sheet is already the disclosure.
93
+ * Meaningless for the other three shapes.
94
+ */
95
+ readonly dictionaryMode?: "field" | "inline";
78
96
  }
79
97
  export declare function FacetGroupControl(props: FacetGroupControlProps): ReactElement;
80
98
  //# sourceMappingURL=FacetGroupControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FacetGroupControl.d.ts","sourceRoot":"","sources":["../../src/default/FacetGroupControl.tsx"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAUzD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAA8B,CAAC;AAExE,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,QAAQ,GACR,UAAU,GACV,YAAY,CAAC;AAEjB,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAwCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAS5D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAOlE;AAWD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,eAAe,EAAE,CAkC9E;AAwRD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD;2EACuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;gFAC4E;IAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;uEACmE;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAmI7E"}
1
+ {"version":3,"file":"FacetGroupControl.d.ts","sourceRoot":"","sources":["../../src/default/FacetGroupControl.tsx"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAUzD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAA8B,CAAC;AAExE,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,QAAQ,GACR,UAAU,GACV,YAAY,CAAC;AAEjB,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAwCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAS5D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAOlE;AAWD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,eAAe,EAAE,CAkC9E;AA2XD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD;2EACuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;gFAC4E;IAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;uEACmE;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC9C;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CA2I7E"}
@@ -66,7 +66,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
66
66
  import { useState } from "react";
67
67
  import { Button, Checkbox, Flex, Input, Typography } from "antd";
68
68
  import { useT } from "@stapel/core";
69
- import { radii, spacing } from "@stapel/tokens";
69
+ import { controls, cssVar, radii, spacing } from "@stapel/tokens";
70
70
  import { VOCABULARY_BACKED_TYPES, featureConfig, featureType, } from "@stapel/attributes-react";
71
71
  import { translitPrefixMatch } from "../state/translit.js";
72
72
  import { SEARCH_I18N_KEYS } from "../i18n/keys.js";
@@ -153,19 +153,29 @@ export function isDictionaryFacet(group) {
153
153
  /**
154
154
  * Which of the four shapes a group takes.
155
155
  *
156
- * Order matters: a hierarchical facet is nested even when it is single-choice,
157
- * because losing the tree costs more than losing the pills; and a dictionary
158
- * is a dictionary before it is a checkbox list, because the checkbox list is
159
- * the shape it was drawn as when nobody could pick a make.
156
+ * Order matters, and it changed in one place after a live measurement:
157
+ *
158
+ * - a hierarchical facet is nested even when it is single-choice, because
159
+ * losing the tree costs more than losing the pills;
160
+ * - a DICTIONARY outranks the pills. The make axis on the live cars leaf
161
+ * `maxSelected: 1` over a 418-value vocabulary, so "pick one" won and the
162
+ * control it produced was four hundred pills in a 280px rail — a wall
163
+ * with a different border radius. Above the fold the shape a person needs
164
+ * is a search box, whether or not they may tick two; below it,
165
+ * single-choice still means pills, because `isDictionaryFacet` requires
166
+ * more than {@link FACET_DICTIONARY_THRESHOLD} counted buckets;
167
+ * - and a dictionary is a dictionary before it is a checkbox list, because
168
+ * the checkbox list is the shape it was drawn as when nobody could pick a
169
+ * make.
160
170
  */
161
171
  export function facetGroupShape(group) {
162
172
  const feature = group.feature;
163
173
  if (feature !== undefined && featureType(feature) === "hierarchical_select") {
164
174
  return "nested";
165
175
  }
166
- if (singleChoice(feature))
167
- return "segmented";
168
- return isDictionaryFacet(group) ? "dictionary" : "checkbox";
176
+ if (isDictionaryFacet(group))
177
+ return "dictionary";
178
+ return singleChoice(feature) ? "segmented" : "checkbox";
169
179
  }
170
180
  /**
171
181
  * Is this node in the group's uncounted tail — an option with no evidence
@@ -339,6 +349,70 @@ function DictionaryBody(props) {
339
349
  ? t(SEARCH_I18N_KEYS.facetsShowLess)
340
350
  : t(SEARCH_I18N_KEYS.facetsShowAll, { count: matched.length }) }))] }));
341
351
  }
352
+ /**
353
+ * The closed face of a dictionary group on DESKTOP: a select-shaped field
354
+ * that reads what is chosen, or "Any".
355
+ *
356
+ * A 418-value vocabulary rendered as a permanently-open box plus a scrolling
357
+ * list is right in a phone sheet, where the sheet IS the disclosure and there
358
+ * is one group on screen. In a 280px rail it is the whole rail: the reference
359
+ * classified draws the make as a field reading "Any" that opens the
360
+ * searchable list, and every axis under it stays reachable at a glance.
361
+ *
362
+ * A native `<button role="combobox">` rather than antd's `Select`, for the
363
+ * same reason the option pills are native buttons: the list underneath is
364
+ * this component's — it carries per-option counts, a chosen block and a fold
365
+ * — and a `Select` that only lends its trigger is a dependency on a popup
366
+ * layer for a border. `aria-expanded` on a real button is the disclosure
367
+ * pattern; Escape closes, and the field keeps focus so the next Tab goes
368
+ * where the person expects.
369
+ */
370
+ const DICTIONARY_FIELD = {
371
+ display: "flex",
372
+ alignItems: "center",
373
+ gap: spacing[1],
374
+ inlineSize: "100%",
375
+ minBlockSize: controls.height,
376
+ paddingInline: spacing[2],
377
+ paddingBlock: spacing[1],
378
+ border: `1px solid ${cssVar("border")}`,
379
+ borderRadius: cssVar("radius-md"),
380
+ background: cssVar("surface"),
381
+ color: "inherit",
382
+ font: "inherit",
383
+ textAlign: "start",
384
+ cursor: "pointer",
385
+ };
386
+ /** The chosen values, or the word for "no constraint on this axis". Never a
387
+ * count: "3 chosen" makes a person open the field to find out which three. */
388
+ const DICTIONARY_FIELD_TEXT = {
389
+ flex: "1 1 auto",
390
+ minInlineSize: 0,
391
+ overflow: "hidden",
392
+ textOverflow: "ellipsis",
393
+ whiteSpace: "nowrap",
394
+ };
395
+ function DictionaryField(props) {
396
+ const t = useT();
397
+ const { group } = props;
398
+ const [open, setOpen] = useState(false);
399
+ const chosen = group.options.filter((option) => option.selected);
400
+ const text = chosen.length > 0
401
+ ? chosen.map((option) => option.label).join(", ")
402
+ : t(SEARCH_I18N_KEYS.facetsDictionaryAny);
403
+ return (_jsxs(Flex, { vertical: true, gap: spacing[1], children: [_jsxs("button", { type: "button", role: "combobox", "aria-expanded": open, "aria-haspopup": "listbox", "aria-label": group.label, style: DICTIONARY_FIELD, "data-testid": `facet-dictionary-field-${group.slug}`, "data-chosen": chosen.length, "data-analytics": "none", "data-analytics-reason": "opening a filter group is a read, not a flow step", onKeyDown: (event) => {
404
+ if (event.key === "Escape" && open) {
405
+ event.preventDefault();
406
+ setOpen(false);
407
+ }
408
+ if (event.key === "ArrowDown" && !open) {
409
+ event.preventDefault();
410
+ setOpen(true);
411
+ }
412
+ }, onClick: () => {
413
+ setOpen((was) => !was);
414
+ }, children: [_jsx("span", { style: DICTIONARY_FIELD_TEXT, children: text }), _jsx(ChevronGlyph, { open: open })] }), open && (_jsx(DictionaryBody, { group: group, onToggle: props.onToggle, visible: props.visible }))] }));
415
+ }
342
416
  export function FacetGroupControl(props) {
343
417
  const t = useT();
344
418
  const { group } = props;
@@ -367,7 +441,9 @@ export function FacetGroupControl(props) {
367
441
  return (_jsxs(Flex, { vertical: true, gap: shape === "segmented" ? spacing[2] : spacing[1], "data-testid": `facet-group-${group.slug}`, "data-counted": group.counted ? "true" : "false", "data-shape": shape, "data-label-source": group.labelSource, children: [props.heading !== false &&
368
442
  (disclosure ? (_jsxs("button", { type: "button", style: DISCLOSURE_HEADER, "aria-expanded": open, "data-testid": `facet-toggle-${group.slug}`, "data-analytics": "none", "data-analytics-reason": "opening a filter group is a read, not a flow step", onClick: () => {
369
443
  setOpenState((was) => !was);
370
- }, children: [_jsx(Typography.Text, { strong: true, children: group.label }), group.selected.length > 0 && (_jsx(Typography.Text, { type: "secondary", "data-testid": `facet-toggle-count-${group.slug}`, children: group.selected.length })), _jsx(ChevronGlyph, { open: open })] })) : (_jsx(Typography.Text, { strong: true, children: group.label }))), open && shape === "dictionary" && (_jsx(DictionaryBody, { group: group, onToggle: props.onToggle, visible: limit ?? FACET_VISIBLE_OPTIONS })), open && shape !== "dictionary" && (_jsxs(_Fragment, { children: [shape === "segmented" ? (_jsx(Flex, { wrap: true, gap: spacing[2], children: shown.map((node) => (_jsx(OptionPill, { group: group, option: node.option, onToggle: props.onToggle }, node.option.value))) })) : (shown.map((node) => (_jsx(CheckboxRow, { group: group, node: node, onToggle: props.onToggle }, node.option.value)))), folded && (_jsx(Button, { type: "link", size: "small", style: { alignSelf: "flex-start", paddingInline: 0 }, "data-testid": `facet-more-${group.slug}`, "data-analytics": "none", "data-analytics-reason": "expanding a filter group is a read, not a flow step", onClick: () => {
444
+ }, children: [_jsx(Typography.Text, { strong: true, children: group.label }), group.selected.length > 0 && (_jsx(Typography.Text, { type: "secondary", "data-testid": `facet-toggle-count-${group.slug}`, children: group.selected.length })), _jsx(ChevronGlyph, { open: open })] })) : (_jsx(Typography.Text, { strong: true, children: group.label }))), open &&
445
+ shape === "dictionary" &&
446
+ (props.dictionaryMode === "field" ? (_jsx(DictionaryField, { group: group, onToggle: props.onToggle, visible: limit ?? FACET_VISIBLE_OPTIONS })) : (_jsx(DictionaryBody, { group: group, onToggle: props.onToggle, visible: limit ?? FACET_VISIBLE_OPTIONS }))), open && shape !== "dictionary" && (_jsxs(_Fragment, { children: [shape === "segmented" ? (_jsx(Flex, { wrap: true, gap: spacing[2], children: shown.map((node) => (_jsx(OptionPill, { group: group, option: node.option, onToggle: props.onToggle }, node.option.value))) })) : (shown.map((node) => (_jsx(CheckboxRow, { group: group, node: node, onToggle: props.onToggle }, node.option.value)))), folded && (_jsx(Button, { type: "link", size: "small", style: { alignSelf: "flex-start", paddingInline: 0 }, "data-testid": `facet-more-${group.slug}`, "data-analytics": "none", "data-analytics-reason": "expanding a filter group is a read, not a flow step", onClick: () => {
371
447
  setExpanded((was) => !was);
372
448
  }, children: expanded
373
449
  ? t(SEARCH_I18N_KEYS.facetsShowLess)
@@ -1 +1 @@
1
- {"version":3,"file":"FacetGroupControl.js","sourceRoot":"","sources":["../../src/default/FacetGroupControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FacetGroupControl.js","sourceRoot":"","sources":["../../src/default/FacetGroupControl.tsx"],"names":[],"mappings":"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"}
@@ -16,6 +16,16 @@ export declare const FACET_OPEN_GROUPS = 5;
16
16
  * leaf had forty.
17
17
  */
18
18
  export declare const FACET_SEARCH_THRESHOLD = 6;
19
+ /**
20
+ * How many groups the rail draws before the rest go behind one control.
21
+ *
22
+ * The reference classified shows a make, a price, a year and a handful of
23
+ * body axes, and then the word "all filters" — eight is the count that fills
24
+ * a 900px rail once the partition row and the price have taken their share,
25
+ * and it is the point past which a person is scanning rather than reading.
26
+ * The tail is not hidden: `facetsAllFilters` names how many are in it.
27
+ */
28
+ export declare const FACET_VISIBLE_GROUPS = 8;
19
29
  /** What a host's category control is handed. */
20
30
  export interface CategoryFilterSlotProps {
21
31
  /** The `root/leaf` path the search is narrowed to, if any. */
@@ -94,6 +104,37 @@ export interface FacetPanelPaneProps extends ThemeModeProp {
94
104
  * count-bearing bar above that one would be the same sentence twice.
95
105
  */
96
106
  readonly footerBar?: boolean;
107
+ /**
108
+ * The partition control, drawn at the TOP of the panel — above the price,
109
+ * above every facet.
110
+ *
111
+ * A partition (`children_as: "chips"`) is not a filter among filters: it is
112
+ * which of one template's halves the page is about, and the reference
113
+ * classified puts it first for that reason (a car-type row: all, used,
114
+ * new). It is a slot rather than a component because the
115
+ * children come from the catalogue tree, which is `categories-react`'s;
116
+ * `<PartitionChips variant="segmented">` is what a host usually puts here.
117
+ */
118
+ readonly partition?: ReactNode;
119
+ /**
120
+ * Slugs pinned above every other group, in the order given — the axis a
121
+ * page has already decided is its subject. See
122
+ * {@link orderFacetGroupsBySchema}.
123
+ */
124
+ readonly pinnedFacets?: readonly string[];
125
+ /**
126
+ * How many groups before the tail folds under "All filters (K)". Default
127
+ * {@link FACET_VISIBLE_GROUPS}; `null` draws every group, which is what a
128
+ * phone sheet devoted to filtering wants.
129
+ */
130
+ readonly visibleGroups?: number | null;
131
+ /**
132
+ * How a DICTIONARY group is drawn. `"field"` is the desktop shape — a
133
+ * select-style field reading its chosen values or "Any", which opens the
134
+ * searchable list; `"inline"` (the default) keeps the list open, which is
135
+ * the phone sheet's shape because a sheet is already a disclosure.
136
+ */
137
+ readonly dictionaryMode?: "field" | "inline";
97
138
  }
98
139
  /**
99
140
  * What a location constraint is called when the host handed down no name.
@@ -1 +1 @@
1
- {"version":3,"file":"FacetPanelPane.d.ts","sourceRoot":"","sources":["../../src/default/FacetPanelPane.tsx"],"names":[],"mappings":"AAuEA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAmBpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAUxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2DhD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAClD;AAED,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD;;sEAEkE;IAClE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;gFAC4E;IAC5E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,SAAS,CAAC;IAC7E,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAsHD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GACzB,MAAM,CAIR;AA8DD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAiSvE"}
1
+ {"version":3,"file":"FacetPanelPane.d.ts","sourceRoot":"","sources":["../../src/default/FacetPanelPane.tsx"],"names":[],"mappings":"AAuEA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAmBpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAcxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2DhD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAClD;AAED,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD;;sEAEkE;IAClE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;gFAC4E;IAC5E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,SAAS,CAAC;IAC7E,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC9C;AAsHD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GACzB,MAAM,CAIR;AA8DD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAmWvE"}