@bicharts/chart-host 0.5.77 → 0.5.79

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/dist/index.mjs CHANGED
@@ -805,7 +805,9 @@ function computeQualifyFilterView(groups, term) {
805
805
  };
806
806
  }
807
807
  function qualifyFilterCountText(view) {
808
- return view.tier === "all" ? String(view.total) : `${view.matched} of ${view.total}`;
808
+ if (view.tier === "all") return String(view.total);
809
+ const below = typeof view.refusalMatched === "number" && view.refusalMatched > 0 ? ` (+${view.refusalMatched})` : "";
810
+ return `${view.matched} of ${view.total}${below}`;
809
811
  }
810
812
  function inlineFilterGate(rowCount) {
811
813
  return rowCount >= INLINE_FILTER_MIN_ROWS ? { show: true, why: "shown" } : { show: false, why: "no-overflow" };
@@ -275,14 +275,40 @@ export interface QualifyFilterView<E> {
275
275
  * groups were built, so a host writing them in sequence cannot reorder anything by accident.
276
276
  */
277
277
  export declare function computeQualifyFilterView<E>(groups: readonly QualifyFilterGroup<E>[], term: string | null | undefined): QualifyFilterView<E>;
278
- /** The counter beside the box: "12 of 137" while filtering, the plain total otherwise.
278
+ /**
279
+ * The counter beside the box: "12 of 137" while filtering, the plain total otherwise - and
280
+ * "0 of 19 (+1)" when the term also reached the refusal block.
281
+ *
282
+ * Digits only, assembled here so both hosts show the same shape of number - the words around it
283
+ * (there are none today) would be the host's business, the arithmetic is not.
284
+ *
285
+ * THE PARENTHESISED COUNT IS THE SAME DEFECT THE NOTE WAS ALREADY FIXED FOR, one control over.
279
286
  *
280
- * Digits only, assembled here so both hosts show the same shape of number - the words around it
281
- * (there are none today) would be the host's business, the arithmetic is not. */
287
+ * Genesis (2026-09-06): a card with six rows and one measure
288
+ * bound, "box" typed. `Box plot` was on screen under "Poor fit for these fields" carrying the
289
+ * gate's own sentence, the note said where it had gone - and the counter beside the input read
290
+ * "0 of 19". That was TRUE of the fitting list, which is all this function had ever been given,
291
+ * and it is read as a claim about the DIALOG: a reader who takes the number and stops has been
292
+ * told nothing was found, three lines above the row they asked for. The same shape of error as
293
+ * the `descAndRefusalName` note (a weaker scope silencing a stronger one), and the count it
294
+ * needed was already being computed for the log and simply never reached the screen.
295
+ *
296
+ * IT FIRES ON EVERY FILTERED TERM WITH A REFUSAL MATCH, not only when the fitting list came back
297
+ * empty - and that is deliberate, because the collapsed case is the one with no other signal at
298
+ * all. When `openRefusals` is true the reader can see the row and the note explains it; when the
299
+ * fitting list answered by name the block stays shut and the note stays silent (correctly - a
300
+ * section forced open on every shared word would be noise), so this "(+1)" is the ONLY thing
301
+ * telling them the checkbox below has something of theirs behind it.
302
+ *
303
+ * NEVER FOLDED INTO `matched`. "0 of 19" and the "(+1)" count two different populations - 19 is
304
+ * the types that FIT, and the catalogue behind the checkbox is not in that denominator. Adding
305
+ * them would produce a ratio that is true of no list on screen.
306
+ */
282
307
  export declare function qualifyFilterCountText(view: {
283
308
  tier: QualifyFilterTier;
284
309
  matched: number;
285
310
  total: number;
311
+ refusalMatched?: number;
286
312
  }): string;
287
313
  /**
288
314
  * The same question for a host whose chooser is an INLINE, SCROLLING PANEL - and it has no size
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bicharts/chart-host",
3
- "version": "0.5.77",
3
+ "version": "0.5.79",
4
4
  "description": "Run a BIC-generated D3 chart in any web host: compiles the generated render() function, applies the shared option defaults, resolves mark clicks (through tooltip overlays), owns the selection affordance, and translates row indices between cross-filtered charts. The same contract the BIC Power BI visual implements, minus Power BI. React bindings at @bicharts/chart-host/react.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",