@ai-matrx/records-ui 0.93.86 → 0.93.87

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,10 @@
1
1
  # Changelog — @ai-matrx/records-ui
2
2
 
3
+ ## 0.93.87
4
+ ### Unreleased
5
+
6
+ - **Fold 4 is asked at every fold, and the look's reserved place asks for no width** (merged-grid leftovers, 2026-09-30): dragged straight from wide to its smallest size, a table window sat at fold 2 (the layout's toolbar had already folded itself, so fold 3 saved nothing) and the table menu's button was cut again; and the invisible "Your look" place was counted at its full 85 px although it shrinks first. `toolbarFold` now asks the fixed-pieces question whatever fold the row is at, and a piece marked `data-toolbar-fit-gives` counts only its gap. Proof: `toolbarFit.test.tsx` ("the layout's toolbar folded itself before the row reached fold 3"), red on 0.93.86. Consumer action: none.
7
+
3
8
  ## 0.93.86
4
9
  ### Unreleased
5
10
 
package/dist/index.cjs CHANGED
@@ -31603,9 +31603,9 @@ function toolbarFold(input) {
31603
31603
  if (fits >= 0) return stages[fits];
31604
31604
  const least = Math.min(...needs);
31605
31605
  const most = stages[needs.findIndex((need) => need <= least + 0.5)];
31606
- if (most < 3 || !input.tools || !input.share) return most;
31606
+ if (!input.tools || !input.share) return most;
31607
31607
  const fixed = pieces.reduce((sum, p) => sum + withGap(p.stage === 3 ? SLOT_MIN : widthAt(p, 3)), base + shareOn);
31608
- return fixed > available + 0.5 ? 4 : 3;
31608
+ return fixed > available + 0.5 ? 4 : most;
31609
31609
  }
31610
31610
  function naturalWidth(el) {
31611
31611
  const html = el;
@@ -31628,7 +31628,7 @@ function rowNeeds(row) {
31628
31628
  const innerStyle = typeof getComputedStyle === "undefined" ? null : getComputedStyle(piece);
31629
31629
  const innerGap = innerStyle ? parseFloat(innerStyle.columnGap || "0") || 0 : 0;
31630
31630
  needs += inner.reduce((sum, c) => sum + naturalWidth(c), 0) + innerGap * Math.max(0, inner.length - 1);
31631
- } else {
31631
+ } else if (!piece.hasAttribute("data-toolbar-fit-gives")) {
31632
31632
  needs += naturalWidth(piece);
31633
31633
  }
31634
31634
  }
@@ -32500,7 +32500,7 @@ function TablePage({
32500
32500
  ] }) }) : !lookShowing && main === "records" && view && !phone && !controlsInSheet ? (
32501
32501
  /* The reserved place gives way first when the row is narrow (a chat artifact, the
32502
32502
  smallest window): it holds nothing, so it shrinks before a real control is cut. */
32503
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { "aria-hidden": "true", className: "invisible flex min-w-0 shrink items-center overflow-hidden", "data-view-look-place": "", children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(import_design_system96.Button, { size: "sm", variant: "outline", className: "h-8 gap-1.5 px-2 text-xs", tabIndex: -1, children: [
32503
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { "aria-hidden": "true", className: "invisible flex min-w-0 shrink items-center overflow-hidden", "data-view-look-place": "", "data-toolbar-fit-gives": "", children: /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(import_design_system96.Button, { size: "sm", variant: "outline", className: "h-8 gap-1.5 px-2 text-xs", tabIndex: -1, children: [
32504
32504
  /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { className: "h-1.5 w-1.5 shrink-0 rounded-full" }),
32505
32505
  LOOK_WORDS.folded
32506
32506
  ] }) })