@homebound/beam 4.45.0 → 4.45.2

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.cjs CHANGED
@@ -8538,9 +8538,18 @@ var RowState = class {
8538
8538
  }
8539
8539
  /** This row's share of `TableState.selectedLeafRowCount`, see `GridDataRow.childrenCount`. */
8540
8540
  get selectedLeafRowCount() {
8541
- if (this.isReservedKind || !this.selected) return 0;
8541
+ if (this.isReservedKind) return 0;
8542
+ const { childrenCount } = this.row;
8543
+ if (childrenCount !== void 0 && this.isSelected) return this.isCountedByParent ? 0 : childrenCount;
8544
+ if (!this.selected) return 0;
8542
8545
  if (this.children?.some((c) => c.row.selectable !== false)) return 0;
8543
- return this.row.childrenCount ?? 1;
8546
+ return this.isCountedByParent ? 0 : 1;
8547
+ }
8548
+ /** Whether a checked ancestor's `childrenCount` already includes this row. */
8549
+ get isCountedByParent() {
8550
+ const { parent } = this;
8551
+ if (!parent || this.removed) return false;
8552
+ return parent.row.childrenCount !== void 0 && parent.isSelected || parent.isCountedByParent;
8544
8553
  }
8545
8554
  /** The UI state for checked/unchecked + "partially checked" for parents. */
8546
8555
  get selectedState() {
@@ -27326,10 +27335,7 @@ function useScrollPinnedViewportBounds(anchorRef, enabled, getPinTopPx) {
27326
27335
  const pinTopPx = getPinTopPxRef.current(el);
27327
27336
  const isPinned = rect.top <= pinTopPx + 1;
27328
27337
  const topPx = isPinned ? pinTopPx : Math.round(rect.top);
27329
- const heightPx = Math.max(0, Math.round(window.innerHeight - topPx));
27330
- setBounds(
27331
- (prev) => prev?.topPx === topPx && prev?.heightPx === heightPx && prev?.isPinned === isPinned ? prev : { topPx, heightPx, isPinned }
27332
- );
27338
+ setBounds((prev) => prev?.topPx === topPx && prev?.isPinned === isPinned ? prev : { topPx, isPinned });
27333
27339
  }, [anchorRef]);
27334
27340
  (0, import_react127.useLayoutEffect)(() => {
27335
27341
  getPinTopPxRef.current = getPinTopPx;
@@ -27504,13 +27510,9 @@ function DocumentScrollRightPane({
27504
27510
  current: null
27505
27511
  };
27506
27512
  const paneBounds = useScrollPinnedViewportBounds(isFixedOverlay ? anchor : paneRef, paneLayoutActive && isFixedOverlay, stickyTableHeaderOffsetPx);
27507
- const paneStyle = mobile ? {
27508
- top: bannerHeightPx
27509
- } : paneBounds ? {
27510
- top: paneBounds.topPx,
27511
- height: paneBounds.heightPx,
27512
- maxHeight: paneBounds.heightPx
27513
- } : void 0;
27513
+ const paneStyle = {
27514
+ top: mobile ? bannerHeightPx : paneBounds?.topPx
27515
+ };
27514
27516
  const pane = /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(import_framer_motion3.AnimatePresence, { children: isRightPaneOpen && /* @__PURE__ */ (0, import_jsx_runtime199.jsx)(
27515
27517
  import_framer_motion3.motion.div,
27516
27518
  {
@@ -27534,6 +27536,7 @@ function DocumentScrollRightPane({
27534
27536
  } : {
27535
27537
  position: "fixed",
27536
27538
  right: "r_0",
27539
+ bottom: "bot_0",
27537
27540
  overflowY: "oya",
27538
27541
  width: ["w_var", {
27539
27542
  "--width": (0, import_runtime129.maybeCssVar)(__maybeInc20(paneWidthCss))
@@ -27550,7 +27553,7 @@ function DocumentScrollRightPane({
27550
27553
  "--borderColor": "var(--b-surface-separator)"
27551
27554
  }],
27552
27555
  ...!!paneBounds?.isPinned ? {
27553
- transition: "tsn_top_200ms_cubic_bezier_0_4_0_0_2_1_height_200ms_cubic_bezier_0_4_0_0_2_1"
27556
+ transition: "transitionTop"
27554
27557
  } : {}
27555
27558
  }),
27556
27559
  initial: {