@stapel/search-react 0.33.1 → 0.35.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 CHANGED
@@ -1,5 +1,104 @@
1
1
  # @stapel/search-react
2
2
 
3
+ ## 0.35.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 7a46d91: search: the rail is drawn ONCE, in the shape the schema gives it (p41)
8
+
9
+ A plain cold load of `/c/transport-avtomobili` at 1440 read **0.0586 CLS** with
10
+ `facet-group-make` moving 152px and `facet-group-model` 76px, `search-results`
11
+ among the sources, on four storefront heads across 0.33.1 and 0.34.0. Every
12
+ other route is ≤0.006 and a partition press is 0.005 — which is the reading
13
+ 0.34.0 was cut for, and it is why nothing in 0.34.0 touches this one:
14
+ `FacetPanelBag.refreshing` is never `true` on a first load, so the floor each
15
+ group stands on while an answer is in flight **does not exist in the one pass a
16
+ cold load is made of**.
17
+
18
+ **What moves the rail is not a late answer, it is a late SCHEMA.** On a
19
+ category page the feature list is a separate read from the search — a different
20
+ service, a different arrival time — and `categoryFeatures: undefined` says two
21
+ different things: "this category hangs no schema" and "the read has not
22
+ answered yet". The panel cannot tell them apart, so it draws the rail the
23
+ moment the answer lands, with no schema, and draws it AGAIN when the schema
24
+ arrives. Both halves of a group's geometry are functions of that schema.
25
+ Measured here against the live cars answer, same envelope, schema on and off:
26
+
27
+ | axis | no schema | schema |
28
+ | ------------------- | ---------------- | -------------------------- |
29
+ | `make_ref_select` | checkbox, 3 rows | **dictionary** — one field |
30
+ | `model` | checkbox, 3 rows | **dictionary** — one field |
31
+ | `accident`, `color` | checkbox rows | **segmented** pills |
32
+ | the order | evidence | schema-required first |
33
+
34
+ Three shapes and two orders, one frame apart, on every cold load. Three parts
35
+ close it, and the first is the one the reading is about:
36
+
37
+ - **`<SearchPage categoryFeaturesPending>` / `<FacetPanelPane
38
+ categoryFeaturesPending>`** — the third state `categoryFeatures` never had. A
39
+ host passes its schema query's own pending flag; the panel then keeps the box
40
+ it _already_ reserves for a load in flight (`data-facets-schema="pending"` on
41
+ the rail) instead of drawing a rail it is about to re-shape and re-order.
42
+ Default `false`: a surface that never had a schema to wait for is byte-for-byte
43
+ unchanged.
44
+ - **every group stands on a DECLARED box from the frame it mounts in** —
45
+ `facetGroupReservedHeight` states a height per SHAPE (a dictionary's closed
46
+ face is one field however many values the vocabulary holds; a checkbox group
47
+ is one line per shown row; a segmented group is a wrapping row of pills), and
48
+ it is deliberately a shade under what the skin draws, because the reservation
49
+ is a `min-block-size` floor: under is invisible, over is a hole nothing fills.
50
+ The measured height 0.34.0 introduced is still preferred, and still only
51
+ while an answer is in flight — `data-reserved-source` says which of the two a
52
+ box is standing on.
53
+ - **`<SearchPage filtersHeaderReserve>`** — the host's own band above the rail,
54
+ in flow from the first frame. A category page's partition row is two chained
55
+ catalogue reads behind the search answer, so it used to drop in over groups
56
+ that were already drawn; with a declared height the row lands INTO its box.
57
+ The pair never guesses the number: the height of a control it does not own is
58
+ not the pair's to know.
59
+
60
+ A storefront closes p41 by passing the flag it already has — its features
61
+ query's `isPending` — beside the `categoryFeatures` it already passes.
62
+
63
+ ## 0.34.0
64
+
65
+ ### Minor Changes
66
+
67
+ - 723b1bb: search: the rail holds its ground while the next facet answer lands (p43)
68
+
69
+ **CLS 0.0586 on a partition press.** The rail itself survives — the pair has run
70
+ `placeholderData: keepPreviousData` for three releases, so nothing unmounts —
71
+ and what the reading measured is the window after it: `facet-group-make` and
72
+ `facet-group-model` changing size as the new axis's facets arrive, each taking
73
+ every group under it along.
74
+
75
+ The panel could not tell a skin that the answer in hand was the previous one, so
76
+ nothing could hold still. Now it can:
77
+
78
+ - `useFacetPanel` reads its envelope with
79
+ `loadStateFromQuery(query, { keepPrevious: true })` (`@stapel/core` 0.26.0),
80
+ and `FacetPanelBag` carries **`refreshing`** — `true` exactly while a newer
81
+ answer is in flight over an older one, never on a first load;
82
+ - `<FacetPanelPane>` declares **`data-facets-refreshing`** on the rail
83
+ (`search-facets`), always `"true"` or `"false"` so a host's rule has one
84
+ attribute to hang on instead of racing the pair's queries to work it out;
85
+ - every facet group **stands on the height it was last settled at** while that
86
+ is on: its own last measurement, taken in an effect and held in a ref, applied
87
+ as a `min-block-size` floor and published as `data-reserved`. A floor and never
88
+ a cap — a group that needs more room still takes it — and it is released with
89
+ the answer, so no group is permanently stuck at the tallest it has ever been.
90
+ Nothing is measured, and nothing reserved, while refreshing: a reserved box
91
+ would otherwise remember its own reservation and the floor could only ratchet
92
+ up.
93
+
94
+ `<FacetGroupControl>` takes the same `refreshing` prop, defaulted off, so a host
95
+ mounting one directly is unchanged.
96
+
97
+ The `@stapel/core` peer floor moves to `>=0.26.0` for the `keepPrevious` option.
98
+
99
+ Measured with dependencies held constant, this package's src before and after:
100
+ `dist/default` 31.43 → 31.51 KB (80 B), limit 31.5 → 31.75 KB.
101
+
3
102
  ## 0.33.1
4
103
 
5
104
  ### Patch Changes
@@ -132,7 +132,52 @@ export interface FacetGroupControlProps {
132
132
  * only `dictionaryMode: "sheet"` reads it.
133
133
  */
134
134
  readonly onSetValues?: (slug: string, values: readonly string[]) => void;
135
+ /**
136
+ * A newer facet answer is in flight and what is drawn is the previous one —
137
+ * `FacetPanelBag.refreshing`.
138
+ *
139
+ * The group then RESERVES the height it was last measured at
140
+ * (`min-block-size`), so that whatever changes under it while the answer
141
+ * settles — an option count, a label the host's vocabulary resolved, an axis
142
+ * arriving with the category schema — cannot move the groups below it. It is
143
+ * a floor and never a cap: a group that needs more room still takes it.
144
+ *
145
+ * Off (the default), nothing is reserved and nothing is measured.
146
+ */
147
+ readonly refreshing?: boolean;
135
148
  }
149
+ /** One option row: antd's checkbox line, without the gap between rows. */
150
+ export declare const FACET_OPTION_ROW_HEIGHT = 24;
151
+ /** One row of `size="small"` pills in a segmented group. */
152
+ export declare const FACET_PILL_ROW_HEIGHT = 24;
153
+ /** How many pills a 280px rail fits across before the row wraps. A stated
154
+ * estimate — the row is `wrap`, so the true count is a function of the labels
155
+ * — and it is used only to floor the box, never to cap it. */
156
+ export declare const FACET_PILLS_PER_ROW = 3;
157
+ /** The group's own heading line, and the same for the fold's link button. */
158
+ export declare const FACET_HEADING_HEIGHT = 22;
159
+ /**
160
+ * The box a group declares for itself — heading, rows, fold — in CSS pixels.
161
+ *
162
+ * Stated per SHAPE, because the shapes are not variations of one control: a
163
+ * dictionary's closed face is one field however many values the vocabulary
164
+ * holds, a segmented group is a wrapping row of pills, and a checkbox group is
165
+ * one line per shown option.
166
+ *
167
+ * Exported so a host (and this package's own tests) can assert the number the
168
+ * rail reserves rather than discovering it from a screenshot.
169
+ */
170
+ export declare function facetGroupReservedHeight(input: {
171
+ readonly shape: FacetGroupShape;
172
+ /** How many option rows are actually drawn — after the fold, not before. */
173
+ readonly rows: number;
174
+ /** Is the group's heading drawn at all? */
175
+ readonly heading: boolean;
176
+ /** Is the group open? A closed disclosure is its header and nothing else. */
177
+ readonly open: boolean;
178
+ /** Is the "Show all (N)" button drawn under the rows? */
179
+ readonly folded: boolean;
180
+ }): number;
136
181
  /**
137
182
  * Is this group a HEADING WITH NOTHING UNDER IT?
138
183
  *
@@ -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;AASzD,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;AAiGD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAS5D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAQlE;AAWD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,eAAe,EAAE,CAkC9E;AA2XD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAwOnC,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;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACvD;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;CAC1E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAEnE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,GAC5B,YAAY,GAAG,IAAI,CA6IrB"}
1
+ {"version":3,"file":"FacetGroupControl.d.ts","sourceRoot":"","sources":["../../src/default/FacetGroupControl.tsx"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AASzD,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;AAiGD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAS5D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAQlE;AAWD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,eAAe,EAAE,CAkC9E;AA2XD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAwOnC,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;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACvD;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IACzE;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAkBD,0EAA0E;AAC1E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;8DAE8D;AAC9D,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GAAG,MAAM,CAsBT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAEnE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,GAC5B,YAAY,GAAG,IAAI,CA8NrB"}
@@ -63,7 +63,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
63
63
  * them visible as before: folding everything would leave a heading over
64
64
  * nothing. Chosen options are always visible, wherever their count went.
65
65
  */
66
- import { useMemo, useState } from "react";
66
+ import { useEffect, useMemo, useRef, useState } from "react";
67
67
  import { Button, Checkbox, Flex, Input, Typography } from "antd";
68
68
  import { useT } from "@stapel/core";
69
69
  import { SkinPickerSheet } from "@stapel/tokens-antd/skin";
@@ -646,6 +646,68 @@ function DictionaryControl(props) {
646
646
  }
647
647
  return (_jsx(DictionaryBody, { group: props.group, onToggle: props.onToggle, visible: props.visible }));
648
648
  }
649
+ /* ── THE DECLARED BOX (p41) ───────────────────────────────────────────────
650
+ *
651
+ * What a group's box is worth BEFORE anything has been measured. Four stated
652
+ * numbers, deliberately a shade UNDER what the skin draws: the reservation is
653
+ * a `min-block-size` floor, so a number below the real one is a no-op the
654
+ * moment content exists, while a number above it is a hole nothing fills.
655
+ *
656
+ * They exist because the p43 reserve — the height a group was last measured at
657
+ * — is only available from the SECOND answer onwards (`FacetPanelBag.
658
+ * refreshing` is never true on a first load), and the first mount is precisely
659
+ * the pass with nothing to stand on: the group renders at content height, and
660
+ * every fact that lands after it (a label the host's vocabulary resolved, a
661
+ * count, a dependent axis's options arriving with the next answer) re-lays the
662
+ * column under the reader's eye.
663
+ */
664
+ /** One option row: antd's checkbox line, without the gap between rows. */
665
+ export const FACET_OPTION_ROW_HEIGHT = 24;
666
+ /** One row of `size="small"` pills in a segmented group. */
667
+ export const FACET_PILL_ROW_HEIGHT = 24;
668
+ /** How many pills a 280px rail fits across before the row wraps. A stated
669
+ * estimate — the row is `wrap`, so the true count is a function of the labels
670
+ * — and it is used only to floor the box, never to cap it. */
671
+ export const FACET_PILLS_PER_ROW = 3;
672
+ /** The group's own heading line, and the same for the fold's link button. */
673
+ export const FACET_HEADING_HEIGHT = 22;
674
+ /**
675
+ * The box a group declares for itself — heading, rows, fold — in CSS pixels.
676
+ *
677
+ * Stated per SHAPE, because the shapes are not variations of one control: a
678
+ * dictionary's closed face is one field however many values the vocabulary
679
+ * holds, a segmented group is a wrapping row of pills, and a checkbox group is
680
+ * one line per shown option.
681
+ *
682
+ * Exported so a host (and this package's own tests) can assert the number the
683
+ * rail reserves rather than discovering it from a screenshot.
684
+ */
685
+ export function facetGroupReservedHeight(input) {
686
+ const gap = input.shape === "segmented" ? spacing[2] : spacing[1];
687
+ const parts = [];
688
+ if (input.heading)
689
+ parts.push(FACET_HEADING_HEIGHT);
690
+ if (input.open) {
691
+ if (input.shape === "dictionary") {
692
+ parts.push(controls.height);
693
+ }
694
+ else if (input.shape === "segmented") {
695
+ parts.push(Math.ceil(Math.max(input.rows, 1) / FACET_PILLS_PER_ROW) *
696
+ FACET_PILL_ROW_HEIGHT);
697
+ }
698
+ else {
699
+ for (let row = 0; row < input.rows; row += 1) {
700
+ parts.push(FACET_OPTION_ROW_HEIGHT);
701
+ }
702
+ }
703
+ if (input.folded)
704
+ parts.push(FACET_HEADING_HEIGHT);
705
+ }
706
+ if (parts.length === 0)
707
+ return 0;
708
+ const gaps = (parts.length - 1) * gap;
709
+ return parts.reduce((total, part) => total + part, 0) + gaps;
710
+ }
649
711
  /**
650
712
  * Is this group a HEADING WITH NOTHING UNDER IT?
651
713
  *
@@ -672,6 +734,47 @@ export function FacetGroupControl(props) {
672
734
  const [openState, setOpenState] = useState(props.defaultOpen !== false);
673
735
  const shape = facetGroupShape(group);
674
736
  const nodes = facetOptionNodes(group);
737
+ /*
738
+ * THE GROUP'S OWN FLOOR WHILE AN ANSWER IS IN FLIGHT (p43).
739
+ *
740
+ * The rail keeps the previous answer's groups on screen while the next one
741
+ * loads — `FacetPanelBag.refreshing` — and the shift it was measured at is
742
+ * what happens INSIDE that window: a group whose option count changes resizes
743
+ * and takes every group under it with it.
744
+ *
745
+ * So each group remembers the height it was last SETTLED at and stands on it
746
+ * until the answer lands. Its own last height and never a guess: the whole
747
+ * point is that this box was that tall a moment ago, on this deployment, at
748
+ * this width, with this category's options in it.
749
+ *
750
+ * Measured in an effect and held in a ref: nothing is written during a
751
+ * render, and the measurement is deliberately not taken while refreshing —
752
+ * a reserved box would otherwise remember its own reservation and the floor
753
+ * could only ever ratchet upwards.
754
+ *
755
+ * ── AND THE FIRST MOUNT, WHICH HAD NOTHING (p41) ─────────────────────────
756
+ *
757
+ * A measurement is only available from the second answer onwards, so the
758
+ * paragraph above covers every pass but the one a cold load is made of. Until
759
+ * a box has been measured the group stands on the box it DECLARES — see
760
+ * {@link facetGroupReservedHeight} — which is a stated number per shape and
761
+ * row count rather than whatever the content happened to lay out to. A floor
762
+ * under the real height is invisible; what it buys is that the box exists at
763
+ * all in the frames where a label, a count or a dependent axis's options have
764
+ * not landed yet.
765
+ */
766
+ const boxRef = useRef(null);
767
+ const settledHeight = useRef(undefined);
768
+ const refreshing = props.refreshing === true;
769
+ useEffect(() => {
770
+ if (refreshing)
771
+ return;
772
+ const node = boxRef.current;
773
+ // `offsetHeight` is 0 in a layout-free environment (jsdom, a server
774
+ // render): a floor of zero is not a reservation, so nothing is remembered.
775
+ if (node !== null && node.offsetHeight > 0)
776
+ settledHeight.current = node.offsetHeight;
777
+ });
675
778
  const disclosure = props.collapsible === true && props.heading !== false;
676
779
  const open = !disclosure || openState;
677
780
  // Nothing to narrow by: no heading either. See `facetGroupIsEmptyHeading`.
@@ -696,7 +799,34 @@ export function FacetGroupControl(props) {
696
799
  const shown = folded && !expanded
697
800
  ? nodes.slice(0, Math.min(limit ?? nodes.length, nodes.length - demoted))
698
801
  : nodes;
699
- 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 &&
802
+ /* The floor, and where it comes from. The DECLARED box is the rows this
803
+ group is drawing, so it stands on every render and can never be a hole;
804
+ the MEASURED one — this box, on this deployment, at this width — is added
805
+ on top of it while an answer is in flight, and released with the answer.
806
+ Zero is not a reservation and is never written. */
807
+ const declared = facetGroupReservedHeight({
808
+ shape,
809
+ rows: shown.length,
810
+ heading: props.heading !== false,
811
+ open,
812
+ folded,
813
+ });
814
+ const measured = settledHeight.current;
815
+ /* The declared box stands ALWAYS — it is the rows this group is drawing, so
816
+ it can never be a hole — and the measured one is added only while an
817
+ answer is in flight. That is the difference between the two: the
818
+ declaration is what this group needs, and the measurement is what it
819
+ happened to occupy a moment ago, which is a floor worth holding exactly as
820
+ long as the thing that filled it is being replaced. */
821
+ const reserved = (refreshing ? Math.max(measured ?? 0, declared) : declared) || undefined;
822
+ const reservedSource = reserved === undefined
823
+ ? undefined
824
+ : refreshing && measured !== undefined && measured > declared
825
+ ? "measured"
826
+ : "declared";
827
+ return (_jsxs(Flex, { ref: boxRef, vertical: true, gap: shape === "segmented" ? spacing[2] : spacing[1], ...(reserved !== undefined ? { style: { minBlockSize: reserved } } : {}), "data-testid": `facet-group-${group.slug}`, "data-counted": group.counted ? "true" : "false", "data-shape": shape, ...(refreshing ? { "data-refreshing": "true" } : {}), ...(reserved !== undefined ? { "data-reserved": String(reserved) } : {}), ...(reservedSource !== undefined
828
+ ? { "data-reserved-source": reservedSource }
829
+ : {}), "data-label-source": group.labelSource, children: [props.heading !== false &&
700
830
  (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: () => {
701
831
  setOpenState((was) => !was);
702
832
  }, 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(DictionaryControl, { group: group, mode: props.dictionaryMode, onToggle: props.onToggle, ...(props.onSetValues !== undefined
@@ -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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"}
@@ -50,6 +50,31 @@ export interface FacetPanelPaneProps extends ThemeModeProp {
50
50
  * slugs get a numeric range row, and of which slugs are a filter at all
51
51
  * (`isFacetableFeature`: an `imei` is counted and is not one). */
52
52
  readonly categoryFeatures?: readonly FeatureDef[];
53
+ /**
54
+ * The schema is ON ITS WAY — the third state {@link categoryFeatures} does
55
+ * not have, and the whole of p41.
56
+ *
57
+ * `categoryFeatures: undefined` says two different things today: "this
58
+ * category hangs no schema" and "the read has not answered yet". The panel
59
+ * cannot tell them apart, so on a page whose schema is a SEPARATE read from
60
+ * the search (a category leaf: two requests, two arrival times) it draws the
61
+ * rail the moment the answer lands and then draws it AGAIN, differently, when
62
+ * the schema arrives — because both the SHAPE of every group
63
+ * (`facetGroupShape` reads `maxSelected` and `ref_select` off the feature)
64
+ * and the ORDER of the rail (`orderFacetGroupsBySchema` puts the schema's
65
+ * required axes first) are functions of it. Measured on a live cars leaf: the
66
+ * make and the model went from three-row checkbox lists to one-row dictionary
67
+ * fields, condition and colour from checkboxes to pills, and the order
68
+ * changed under all of them — 0.0586 CLS on a plain cold load, with
69
+ * `facet-group-make` moving 152px and `facet-group-model` 76px (p41).
70
+ *
71
+ * With `categoryFeaturesPending` the panel keeps the box it already reserves
72
+ * for a load in flight until the schema has spoken, and draws the rail ONCE,
73
+ * in the shape and the order it will keep. A host passes its schema query's
74
+ * own pending flag; the default is `false`, so a surface that never had a
75
+ * schema to wait for is unchanged.
76
+ */
77
+ readonly categoryFeaturesPending?: boolean;
53
78
  readonly locale?: string;
54
79
  readonly enabled?: boolean;
55
80
  /**
@@ -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;AA4BpE,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;AAkBxE,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;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,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;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;gFAC4E;IAC5E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,SAAS,CAAC;IAC7E;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,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;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnD;;;;;;;;;;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;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACxD;AAyHD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GACzB,MAAM,CAIR;AAwED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAugBvE"}
1
+ {"version":3,"file":"FacetPanelPane.d.ts","sourceRoot":"","sources":["../../src/default/FacetPanelPane.tsx"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
71
71
  */
72
72
  import { useState } from "react";
73
73
  import { Alert, Button, Divider, Flex, Input, Skeleton, Typography, theme, } from "antd";
74
- import { SlotPlaceholder, actionAvailable, actionBlocked, useT, useTPlural, } from "@stapel/core";
74
+ import { SlotPlaceholder, actionAvailable, actionBlocked, loadLoading, useT, useTPlural, } from "@stapel/core";
75
75
  import { EmptyState, ErrorAlert, GatedButton, LoadList, SkinTheme, } from "@stapel/tokens-antd/skin";
76
76
  import { spacing } from "@stapel/tokens";
77
77
  import { featureName } from "@stapel/attributes-react";
@@ -336,6 +336,16 @@ export function FacetPanelPane(props) {
336
336
  : {}), ...(props.locale !== undefined ? { locale: props.locale } : {}), ...(props.enabled !== undefined ? { enabled: props.enabled } : {}), ...(props.resolveFacetLabels !== undefined
337
337
  ? { resolveFacetLabels: props.resolveFacetLabels }
338
338
  : {}), children: (bag) => {
339
+ /* THE ANSWER THIS PANEL DRAWS FROM, AND WHEN IT IS ALLOWED TO (p41).
340
+ A schema still in flight makes the groups in hand provisional: they
341
+ would be drawn in one shape and one order now and in another the
342
+ moment it lands. `loadLoading()` is the honest state for that — the
343
+ panel already reserves a box for it — and it is the SAME state the
344
+ pane hands every consumer below, so the ranges arm, the empty arm
345
+ and the group list cannot disagree about whether there is an answer
346
+ on screen. See `FacetPanelPaneProps.categoryFeaturesPending`. */
347
+ const schemaPending = props.categoryFeaturesPending === true;
348
+ const answer = schemaPending ? loadLoading() : bag.state;
339
349
  // Built INSIDE the bag, because which axes exist is a property of
340
350
  // the ANSWER now: `facet_meta.core_ranges` names the core columns
341
351
  // this server can actually filter on (`r.price`), and the corpus
@@ -423,13 +433,13 @@ export function FacetPanelPane(props) {
423
433
  * to draw one of those per row.
424
434
  */
425
435
  const rangesApplyButton = (rows) => rows.length === 0 ? null : (_jsx(GatedButton, { gate: rangesApply, type: pending.length > 0 ? "primary" : "default", style: { alignSelf: "flex-start" }, testId: "facet-ranges-apply", "data-pending": pending.length, "data-analytics": "none", "data-analytics-reason": "a filter is a read, not a flow step", onClick: applyRanges, children: t(SEARCH_I18N_KEYS.facetsRangeApply) }));
426
- return (_jsxs(Flex, { vertical: true, gap: spacing[3], "data-testid": "search-facets", children: [_jsxs(Flex, { justify: "space-between", align: "center", wrap: true, gap: spacing[2], "data-testid": "search-facets-head", children: [props.heading === null ? (_jsx("span", {})) : (_jsx(Typography.Title, { level: 5, style: FACET_HEADING, "data-testid": "search-facets-heading", children: props.heading ?? t(SEARCH_I18N_KEYS.facetsTitle) })), bag.activeFilters > 0 && footerBar === "none" && (_jsx(Button, { style: FACET_CLEAR, onClick: bag.clearAll, "data-analytics": "none", "data-analytics-reason": "a filter is a read, not a flow step", "data-testid": "facets-clear-all", children: t(SEARCH_I18N_KEYS.facetsClearAll, { count: bag.activeFilters }) }))] }), props.partition !== undefined && (_jsx("div", { "data-testid": "search-partition", children: props.partition })), props.categoryFilter !== false && (_jsx(CategoryFilter, { ...(props.renderCategoryFilter !== undefined
436
+ return (_jsxs(Flex, { vertical: true, gap: spacing[3], "data-testid": "search-facets", "data-facets-refreshing": bag.refreshing ? "true" : "false", "data-facets-schema": schemaPending ? "pending" : "settled", children: [_jsxs(Flex, { justify: "space-between", align: "center", wrap: true, gap: spacing[2], "data-testid": "search-facets-head", children: [props.heading === null ? (_jsx("span", {})) : (_jsx(Typography.Title, { level: 5, style: FACET_HEADING, "data-testid": "search-facets-heading", children: props.heading ?? t(SEARCH_I18N_KEYS.facetsTitle) })), bag.activeFilters > 0 && footerBar === "none" && (_jsx(Button, { style: FACET_CLEAR, onClick: bag.clearAll, "data-analytics": "none", "data-analytics-reason": "a filter is a read, not a flow step", "data-testid": "facets-clear-all", children: t(SEARCH_I18N_KEYS.facetsClearAll, { count: bag.activeFilters }) }))] }), props.partition !== undefined && (_jsx("div", { "data-testid": "search-partition", children: props.partition })), props.categoryFilter !== false && (_jsx(CategoryFilter, { ...(props.renderCategoryFilter !== undefined
427
437
  ? { render: props.renderCategoryFilter }
428
438
  : {}) })), _jsx(LanguageSelect, { ...(props.languages !== undefined ? { languages: props.languages } : {}) }), bag.approximate && (_jsx(Alert, { type: "info", showIcon: true, "data-testid": "facets-approximate", title: t(SEARCH_I18N_KEYS.facetsApproximate) })), props.skippedNotice === true && bag.skipped.length > 0 && (_jsx(Alert, { type: "warning", showIcon: true, "data-testid": "facets-skipped", title: t(SEARCH_I18N_KEYS.facetsSkipped, {
429
439
  slugs: skippedNames(bag.skipped, props.categoryFeatures, t),
430
- }) })), bag.state.status === "ready" &&
431
- bag.state.data.length === 0 &&
432
- ranges.length > 0 && (_jsxs(Flex, { vertical: true, gap: spacing[3], "data-testid": "search-ranges", children: [ranges.map(rangeRow), rangesApplyButton(ranges)] })), _jsx(LoadList, { state: bag.state, testId: "facets", skeletonRows: 4, loading: _jsxs(Flex, { vertical: true, gap: spacing[3], children: [_jsx(Skeleton, { active: true, paragraph: { rows: 4 } }), _jsx(Divider, { style: { margin: 0 } }), props.categoryFeatures === undefined ? (_jsx("div", { "aria-hidden": "true", "data-testid": "search-ranges-attributes-reserve", style: { minBlockSize: RANGE_ROW_MIN_HEIGHT } })) : (_jsx(Flex, { vertical: true, gap: spacing[3], "data-testid": "search-ranges-attributes", children: Array.from({ length: Math.max(reservedAxes, 1) }, (_, index) => (_jsx(RangeRowSkeleton, {}, index))) }))] }), empty: _jsx(FacetsEmptyArm, { bag: bag, hasOtherDrawable: hasOtherDrawable }), failed: (error) => (_jsx(ErrorAlert, { testId: "facets-failed", thrown: error, message: t(SEARCH_I18N_KEYS.facetsLoadFailed) })), children: (groups) => {
440
+ }) })), answer.status === "ready" &&
441
+ answer.data.length === 0 &&
442
+ ranges.length > 0 && (_jsxs(Flex, { vertical: true, gap: spacing[3], "data-testid": "search-ranges", children: [ranges.map(rangeRow), rangesApplyButton(ranges)] })), _jsx(LoadList, { state: answer, testId: "facets", skeletonRows: 4, loading: _jsxs(Flex, { vertical: true, gap: spacing[3], children: [_jsx(Skeleton, { active: true, paragraph: { rows: 4 } }), _jsx(Divider, { style: { margin: 0 } }), props.categoryFeatures === undefined ? (_jsx("div", { "aria-hidden": "true", "data-testid": "search-ranges-attributes-reserve", style: { minBlockSize: RANGE_ROW_MIN_HEIGHT } })) : (_jsx(Flex, { vertical: true, gap: spacing[3], "data-testid": "search-ranges-attributes", children: Array.from({ length: Math.max(reservedAxes, 1) }, (_, index) => (_jsx(RangeRowSkeleton, {}, index))) }))] }), empty: _jsx(FacetsEmptyArm, { bag: bag, hasOtherDrawable: hasOtherDrawable }), failed: (error) => (_jsx(ErrorAlert, { testId: "facets-failed", thrown: error, message: t(SEARCH_I18N_KEYS.facetsLoadFailed) })), children: (groups) => {
433
443
  // A group with no options is a heading with nothing under
434
444
  // it. What is left in that state after `buildFacetGroups`
435
445
  // learned to read the schema is the genuinely unanswerable
@@ -512,7 +522,11 @@ export function FacetPanelPane(props) {
512
522
  ...(props.pinnedFacets !== undefined
513
523
  ? { pinned: props.pinnedFacets }
514
524
  : {}),
515
- }).map((item) => item.kind === "range" ? (rangeRow(item.range)) : (_jsx(FacetGroupControl, { group: item.group, onToggle: bag.toggle, onSetValues: bag.setValues, collapsible: true, defaultOpen: needle !== "" ||
525
+ }).map((item) => item.kind === "range" ? (rangeRow(item.range)) : (_jsx(FacetGroupControl, { group: item.group, onToggle: bag.toggle, onSetValues: bag.setValues,
526
+ // Its own last height, held until the answer lands,
527
+ // so a group that changes option count does not move
528
+ // the groups under it.
529
+ refreshing: bag.refreshing, collapsible: true, defaultOpen: needle !== "" ||
516
530
  item.group.selected.length > 0 ||
517
531
  openByOrder.has(item.group.slug), ...(props.dictionaryMode !== undefined
518
532
  ? { dictionaryMode: props.dictionaryMode }