@galaxy-io/dls 1.2.1 → 1.2.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/styles.css CHANGED
@@ -159,13 +159,12 @@
159
159
  .s1we9pi1{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}
160
160
  .ezfy353{position:absolute;top:0;left:0;right:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;pointer-events:none;}.ezfy353>*{pointer-events:auto;}
161
161
  .l1pcw3m6{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:var(--l1pcw3m6-0);}.l1pcw3m6>td{border-bottom:0.5px solid var(--l1pcw3m6-1);background-color:var(--l1pcw3m6-2);}
162
- .eo1carc{display:block;width:100%;height:var(--eo1carc-0);pointer-events:none;}
163
- .e8l9d05{display:block;width:100%;height:100%;padding:0;border:none;background:transparent;box-sizing:border-box;}
164
- .e12m9dma{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:30;}
165
- .e1birhg7{position:absolute;top:var(--e1birhg7-0);left:var(--e1birhg7-1);width:var(--e1birhg7-2);display:-ms-grid;display:grid;-ms-grid-columns:44px minmax(0, 1fr);grid-template-columns:44px minmax(0, 1fr);box-sizing:border-box;background-color:var(--e1birhg7-3);border-bottom:var(--e1birhg7-4);overflow:hidden;contain:layout paint;overscroll-behavior:auto;pointer-events:auto;}
166
- .e2tyxoq{background-color:var(--e2tyxoq-0);border-right:0.5px solid var(--e2tyxoq-1);min-width:44px;}
167
- .ew9y6zt{min-width:0;width:100%;border-top:0.5px solid var(--ew9y6zt-0);}
168
- .e2jf90d{width:100%;box-sizing:border-box;overscroll-behavior:auto;}
162
+ .eo1carc{display:block;width:100%;min-width:var(--eo1carc-0);}
163
+ .e8l9d05{display:block;width:100%;padding:0;box-sizing:border-box;background-color:var(--e8l9d05-0);border-bottom:var(--e8l9d05-1);}
164
+ .e12m9dma{position:-webkit-sticky;position:sticky;left:0;width:var(--e12m9dma-0);display:-ms-grid;display:grid;-ms-grid-columns:44px minmax(0, 1fr);grid-template-columns:44px minmax(0, 1fr);box-sizing:border-box;}
165
+ .e1birhg7{background-color:var(--e1birhg7-0);border-right:0.5px solid var(--e1birhg7-1);min-width:44px;}
166
+ .e2tyxoq{min-width:0;width:100%;border-top:0.5px solid var(--e2tyxoq-0);}
167
+ .ew9y6zt{width:100%;box-sizing:border-box;overscroll-behavior:auto;}
169
168
  .c1bx58xl{position:var(--c1bx58xl-0);z-index:var(--c1bx58xl-1);left:var(--c1bx58xl-2);right:var(--c1bx58xl-3);-webkit-flex:var(--c1bx58xl-4);-ms-flex:var(--c1bx58xl-4);flex:var(--c1bx58xl-4);padding:0 12px;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:var(--c1bx58xl-5);-ms-flex-pack:var(--c1bx58xl-5);-webkit-justify-content:var(--c1bx58xl-5);justify-content:var(--c1bx58xl-5);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:var(--c1bx58xl-6);background-color:var(--c1bx58xl-7);border-right:var(--c1bx58xl-8);border-left:var(--c1bx58xl-9);}.c1bx58xl:hover{background-color:var(--c1bx58xl-10);}
170
169
  .sgqglvy{width:6px;height:6px;border-radius:50%;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:6px;background-color:var(--sgqglvy-0);}
171
170
  .ejxsxoj{position:absolute;inset:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 4px;z-index:1;background-color:var(--ejxsxoj-0);border:1.5px solid var(--ejxsxoj-1);border-radius:2px;}
@@ -6,7 +6,7 @@ import Button, { ButtonSize, ButtonVariant } from "../buttons/Button.js";
6
6
  /* empty css */
7
7
  import { styled } from "@linaria/react";
8
8
  import { match } from "ts-pattern";
9
- import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
9
+ import React, { useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
11
  import { CaretDownIcon, CaretRightIcon, CaretUpDownIcon, SortAscendingIcon, SortDescendingIcon } from "@phosphor-icons/react";
12
12
  import { flexRender, getCoreRowModel, getSortedRowModel, useReactTable } from "@tanstack/react-table";
@@ -293,72 +293,59 @@ var LoadingRowWrapper = withTheme(/*#__PURE__*/ styled("tr")({
293
293
  "l1pcw3m6-2": [_exp37()]
294
294
  }
295
295
  }));
296
- var _exp38 = () => ({ $height }) => `${$height}px`;
297
- var ExpandedSpacerRow = /*#__PURE__*/ styled("tr")({
298
- name: "ExpandedSpacerRow",
296
+ var _exp38 = () => ({ $minWidth }) => `${$minWidth}px`;
297
+ var ExpandedRow = /*#__PURE__*/ styled("tr")({
298
+ name: "ExpandedRow",
299
299
  class: "eo1carc",
300
300
  propsAsIs: false,
301
301
  vars: { "eo1carc-0": [_exp38()] }
302
302
  });
303
- var ExpandedSpacerCell = withTheme(/*#__PURE__*/ styled("td")({
304
- name: "ExpandedSpacerCell",
303
+ var _exp39 = () => ({ $variant, theme }) => getVariantBackgroundColor(theme, $variant);
304
+ var _exp40 = () => ({ $isLastRow, theme }) => $isLastRow ? "none" : `0.5px solid ${theme.color.border.primary}`;
305
+ var ExpandedRowCell = withTheme(/*#__PURE__*/ styled("td")({
306
+ name: "ExpandedRowCell",
305
307
  class: "e8l9d05",
306
- propsAsIs: false
307
- }));
308
- var ExpandedOverlayLayer = /*#__PURE__*/ styled("div")({
309
- name: "ExpandedOverlayLayer",
310
- class: "e12m9dma",
311
- propsAsIs: false
312
- });
313
- var _exp39 = () => ({ $top }) => `${$top}px`;
314
- var _exp40 = () => ({ $left }) => `${$left}px`;
315
- var _exp41 = () => ({ $width }) => `${$width}px`;
316
- var _exp43 = () => ({ $variant, theme }) => getVariantBackgroundColor(theme, $variant);
317
- var _exp44 = () => ({ $isLastRow, theme }) => $isLastRow ? "none" : `0.5px solid ${theme.color.border.primary}`;
318
- var ExpandedOverlay = withTheme(/*#__PURE__*/ styled("div")({
319
- name: "ExpandedOverlay",
320
- class: "e1birhg7",
321
308
  propsAsIs: false,
322
309
  vars: {
323
- "e1birhg7-0": [_exp39()],
324
- "e1birhg7-1": [_exp40()],
325
- "e1birhg7-2": [_exp41()],
326
- "e1birhg7-3": [_exp43()],
327
- "e1birhg7-4": [_exp44()]
310
+ "e8l9d05-0": [_exp39()],
311
+ "e8l9d05-1": [_exp40()]
328
312
  }
329
313
  }));
330
- var _exp45 = () => ({ $variant, theme }) => getVariantBackgroundColor(theme, $variant);
331
- var _exp46 = () => ({ theme }) => theme.color.border.primary;
314
+ var _exp41 = () => ({ $width }) => $width !== void 0 ? `${$width}px` : "100%";
315
+ var ExpandedViewport = /*#__PURE__*/ styled("div")({
316
+ name: "ExpandedViewport",
317
+ class: "e12m9dma",
318
+ propsAsIs: false,
319
+ vars: { "e12m9dma-0": [_exp41()] }
320
+ });
321
+ var _exp43 = () => ({ $variant, theme }) => getVariantBackgroundColor(theme, $variant);
322
+ var _exp44 = () => ({ theme }) => theme.color.border.primary;
332
323
  var ExpandedGutter = withTheme(/*#__PURE__*/ styled("div")({
333
324
  name: "ExpandedGutter",
334
- class: "e2tyxoq",
325
+ class: "e1birhg7",
335
326
  propsAsIs: false,
336
327
  vars: {
337
- "e2tyxoq-0": [_exp45()],
338
- "e2tyxoq-1": [_exp46()]
328
+ "e1birhg7-0": [_exp43()],
329
+ "e1birhg7-1": [_exp44()]
339
330
  }
340
331
  }));
341
- var _exp48 = () => ({ theme }) => theme.color.border.primary;
332
+ var _exp46 = () => ({ theme }) => theme.color.border.primary;
342
333
  var ExpandedBody = withTheme(/*#__PURE__*/ styled("div")({
343
334
  name: "ExpandedBody",
344
- class: "ew9y6zt",
335
+ class: "e2tyxoq",
345
336
  propsAsIs: false,
346
- vars: { "ew9y6zt-0": [_exp48()] }
337
+ vars: { "e2tyxoq-0": [_exp46()] }
347
338
  }));
348
339
  var ExpandedContent = /*#__PURE__*/ styled("div")({
349
340
  name: "ExpandedContent",
350
- class: "e2jf90d",
341
+ class: "ew9y6zt",
351
342
  propsAsIs: false
352
343
  });
353
344
  function InfiniteTable(props) {
354
345
  const { columns, data, getRowId, height, width, fillWidth, fillHeight, density = "MEDIUM", variant = "PRIMARY", hasNextPage, isFetchingNextPage, fetchNextPage, enableRowSelection, enableMultiRowSelection, rowSelection, onRowSelectionChange, enableSorting = false, enableMultiSort = false, sorting, onSortingChange, manualSorting = false, isLoading = false, isError = false, loadingRowCount = 5, contentWhenEmpty, contentWhenError, noHeader = false, noLastRowBorder = false, noLastRowPadding = false, onRowClick, onRowDoubleClick, onRowExpand, onTableReady } = props;
355
- const outerContainerRef = useRef(null);
356
346
  const scrollContainerRef = useRef(null);
357
- const expandedOverlayRef = useRef(null);
358
- const queueWheelScrollRef = useRef(null);
359
- const syncExpandedOverlayLayoutRafRef = useRef(null);
360
347
  const [expandedRowId, setExpandedRowId] = useState(null);
361
- const [expandedOverlayLayout, setExpandedOverlayLayout] = useState(null);
348
+ const [scrollContainerClientWidth, setScrollContainerClientWidth] = useState(null);
362
349
  const resolvedColumns = useMemo(() => {
363
350
  if (!onRowExpand) return columns;
364
351
  return [{
@@ -410,6 +397,7 @@ function InfiniteTable(props) {
410
397
  });
411
398
  return offsets;
412
399
  }, [resolvedColumns]);
400
+ const totalColumnMinWidth = useMemo(() => resolvedColumns.reduce((sum, col) => sum + (col.size ?? col.minSize ?? 0), 0), [resolvedColumns]);
413
401
  const table = useReactTable({
414
402
  data,
415
403
  columns: useMemo(() => resolvedColumns.map((col) => ({
@@ -473,8 +461,6 @@ function InfiniteTable(props) {
473
461
  onTableReady?.(table);
474
462
  }, [table, onTableReady]);
475
463
  const { rows } = table.getRowModel();
476
- const expandedRow = expandedRowId ? rows.find((row) => row.id === expandedRowId) : void 0;
477
- const isExpandedRowLast = expandedRow ? rows[rows.length - 1]?.id === expandedRow.id : false;
478
464
  useEffect(() => {
479
465
  if (!onRowExpand && expandedRowId !== null) setExpandedRowId(null);
480
466
  }, [expandedRowId, onRowExpand]);
@@ -482,74 +468,21 @@ function InfiniteTable(props) {
482
468
  if (expandedRowId === null) return;
483
469
  if (!rows.some((row) => row.id === expandedRowId)) setExpandedRowId(null);
484
470
  }, [expandedRowId, rows]);
485
- const syncExpandedOverlayLayout = useCallback(() => {
486
- if (!expandedRow || !onRowExpand) {
487
- setExpandedOverlayLayout(null);
488
- return;
489
- }
490
- const outerContainer = outerContainerRef.current;
491
- const scrollContainer = scrollContainerRef.current;
492
- const overlayElement = expandedOverlayRef.current;
493
- if (!outerContainer || !scrollContainer || !overlayElement) return;
494
- const expandedRowAnchor = scrollContainer.querySelector("[data-gx-expanded-row-anchor=\"true\"]");
495
- if (!expandedRowAnchor) return;
496
- const outerRect = outerContainer.getBoundingClientRect();
497
- const scrollRect = scrollContainer.getBoundingClientRect();
498
- const rowRect = expandedRowAnchor.getBoundingClientRect();
499
- const overlayRect = overlayElement.getBoundingClientRect();
500
- const nextLayout = {
501
- top: rowRect.bottom - outerRect.top,
502
- left: scrollRect.left - outerRect.left,
503
- width: scrollContainer.clientWidth,
504
- height: overlayRect.height
505
- };
506
- setExpandedOverlayLayout((currentLayout) => {
507
- if (currentLayout && currentLayout.top === nextLayout.top && currentLayout.left === nextLayout.left && currentLayout.width === nextLayout.width && currentLayout.height === nextLayout.height) return currentLayout;
508
- return nextLayout;
509
- });
510
- }, [expandedRow, onRowExpand]);
511
- const scheduleSyncExpandedOverlayLayout = useCallback(() => {
512
- if (syncExpandedOverlayLayoutRafRef.current !== null) return;
513
- syncExpandedOverlayLayoutRafRef.current = requestAnimationFrame(() => {
514
- syncExpandedOverlayLayoutRafRef.current = null;
515
- syncExpandedOverlayLayout();
516
- });
517
- }, [syncExpandedOverlayLayout]);
518
471
  useLayoutEffect(() => {
519
- syncExpandedOverlayLayout();
520
- return () => {
521
- if (syncExpandedOverlayLayoutRafRef.current !== null) {
522
- cancelAnimationFrame(syncExpandedOverlayLayoutRafRef.current);
523
- syncExpandedOverlayLayoutRafRef.current = null;
524
- }
525
- };
526
- }, [syncExpandedOverlayLayout]);
527
- useEffect(() => {
528
- if (!expandedRow || !onRowExpand) return;
529
- const scrollContainer = scrollContainerRef.current;
530
- const overlayElement = expandedOverlayRef.current;
531
- if (!scrollContainer || !overlayElement) return;
532
- scrollContainer.addEventListener("scroll", scheduleSyncExpandedOverlayLayout, { passive: true });
533
- window.addEventListener("resize", scheduleSyncExpandedOverlayLayout);
534
- if (typeof ResizeObserver === "undefined") return () => {
535
- scrollContainer.removeEventListener("scroll", scheduleSyncExpandedOverlayLayout);
536
- window.removeEventListener("resize", scheduleSyncExpandedOverlayLayout);
537
- };
538
- const resizeObserver = new ResizeObserver(() => {
539
- scheduleSyncExpandedOverlayLayout();
540
- });
541
- resizeObserver.observe(scrollContainer);
542
- resizeObserver.observe(overlayElement);
543
- return () => {
544
- scrollContainer.removeEventListener("scroll", scheduleSyncExpandedOverlayLayout);
545
- window.removeEventListener("resize", scheduleSyncExpandedOverlayLayout);
546
- resizeObserver.disconnect();
472
+ const container = scrollContainerRef.current;
473
+ if (!container) return;
474
+ const measure = () => {
475
+ setScrollContainerClientWidth((currentWidth) => currentWidth === container.clientWidth ? currentWidth : container.clientWidth);
547
476
  };
548
- }, [
549
- expandedRow,
550
- onRowExpand,
551
- scheduleSyncExpandedOverlayLayout
552
- ]);
477
+ measure();
478
+ if (typeof ResizeObserver === "undefined") {
479
+ window.addEventListener("resize", measure);
480
+ return () => window.removeEventListener("resize", measure);
481
+ }
482
+ const resizeObserver = new ResizeObserver(measure);
483
+ resizeObserver.observe(container);
484
+ return () => resizeObserver.disconnect();
485
+ }, []);
553
486
  useEffect(() => {
554
487
  const container = scrollContainerRef.current;
555
488
  if (!container || !fetchNextPage) return;
@@ -597,23 +530,15 @@ function InfiniteTable(props) {
597
530
  }
598
531
  return false;
599
532
  };
600
- queueWheelScrollRef.current = queueWheelScroll;
601
533
  const onWheel = (e) => {
602
534
  queueWheelScroll(e.deltaX, e.deltaY);
603
535
  };
604
536
  container.addEventListener("wheel", onWheel, { passive: true });
605
537
  return () => {
606
- queueWheelScrollRef.current = null;
607
538
  container.removeEventListener("wheel", onWheel);
608
539
  if (rafId !== null) cancelAnimationFrame(rafId);
609
540
  };
610
541
  }, [isFetchingNextPage]);
611
- const handleExpandedOverlayWheel = useCallback((event) => {
612
- if (queueWheelScrollRef.current?.(event.deltaX, event.deltaY) ?? false) {
613
- event.preventDefault();
614
- event.stopPropagation();
615
- }
616
- }, []);
617
542
  const renderLoadingRows = () => {
618
543
  return Array.from({ length: loadingRowCount }).map((_, rowIndex) => /* @__PURE__ */ jsx(LoadingRowWrapper, {
619
544
  $density: density,
@@ -635,98 +560,90 @@ function InfiniteTable(props) {
635
560
  const showLoading = isLoading && data.length === 0;
636
561
  const showError = isError && data.length === 0;
637
562
  return /* @__PURE__ */ jsxs(TableOuterContainer, {
638
- ref: outerContainerRef,
639
563
  $width: width,
640
564
  $height: height,
641
565
  $fillWidth: fillWidth,
642
566
  $fillHeight: fillHeight,
643
- children: [
644
- /* @__PURE__ */ jsx(TableScrollContainer, {
645
- ref: scrollContainerRef,
646
- $noLastRowPadding: noLastRowPadding,
647
- children: /* @__PURE__ */ jsxs(StyledTable, { children: [!noHeader && /* @__PURE__ */ jsx(TableHead, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(TableHeaderRow, { children: headerGroup.headers.map((header) => {
648
- const columnMeta = header.column.columnDef.meta;
649
- const canSort = header.column.getCanSort();
650
- return /* @__PURE__ */ jsx(TableHeaderCell, {
651
- $width: header.column.columnDef.size,
652
- $minWidth: header.column.columnDef.minSize,
653
- $maxWidth: header.column.columnDef.maxSize,
654
- $pin: columnMeta?.pin,
655
- $pinnedOffset: pinnedOffsets.get(header.column.id),
656
- $align: columnMeta?.align,
657
- $isSortable: canSort,
658
- $density: density,
659
- $variant: variant,
660
- $isExpandCell: header.column.id === EXPAND_COLUMN_ID,
661
- onClick: canSort ? header.column.getToggleSortingHandler() : void 0,
662
- children: /* @__PURE__ */ jsxs(HeaderContentWrapper, { children: [flexRender(header.column.columnDef.header, header.getContext()), canSort && /* @__PURE__ */ jsx(SortIconWrapper, { children: header.column.getIsSorted() === "asc" ? /* @__PURE__ */ jsx(Icon, {
663
- component: SortAscendingIcon,
664
- size: 12,
665
- variant: IconVariant.TERTIARY
666
- }) : header.column.getIsSorted() === "desc" ? /* @__PURE__ */ jsx(Icon, {
667
- component: SortDescendingIcon,
668
- size: 12,
669
- variant: IconVariant.TERTIARY
670
- }) : /* @__PURE__ */ jsx(Icon, {
671
- component: CaretUpDownIcon,
672
- size: 12,
673
- variant: IconVariant.TERTIARY
674
- }) })] })
675
- }, header.id);
676
- }) }, headerGroup.id)) }), /* @__PURE__ */ jsxs(TableBody, { children: [showLoading ? renderLoadingRows() : showError ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
677
- colSpan: resolvedColumns.length,
678
- children: typeof contentWhenError === "function" ? contentWhenError() : contentWhenError ?? /* @__PURE__ */ jsx(Text, {
679
- variant: TextVariant.ERROR,
680
- children: "Error loading data"
567
+ children: [/* @__PURE__ */ jsx(TableScrollContainer, {
568
+ ref: scrollContainerRef,
569
+ $noLastRowPadding: noLastRowPadding,
570
+ children: /* @__PURE__ */ jsxs(StyledTable, { children: [!noHeader && /* @__PURE__ */ jsx(TableHead, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(TableHeaderRow, { children: headerGroup.headers.map((header) => {
571
+ const columnMeta = header.column.columnDef.meta;
572
+ const canSort = header.column.getCanSort();
573
+ return /* @__PURE__ */ jsx(TableHeaderCell, {
574
+ $width: header.column.columnDef.size,
575
+ $minWidth: header.column.columnDef.minSize,
576
+ $maxWidth: header.column.columnDef.maxSize,
577
+ $pin: columnMeta?.pin,
578
+ $pinnedOffset: pinnedOffsets.get(header.column.id),
579
+ $align: columnMeta?.align,
580
+ $isSortable: canSort,
581
+ $density: density,
582
+ $variant: variant,
583
+ $isExpandCell: header.column.id === EXPAND_COLUMN_ID,
584
+ onClick: canSort ? header.column.getToggleSortingHandler() : void 0,
585
+ children: /* @__PURE__ */ jsxs(HeaderContentWrapper, { children: [flexRender(header.column.columnDef.header, header.getContext()), canSort && /* @__PURE__ */ jsx(SortIconWrapper, { children: header.column.getIsSorted() === "asc" ? /* @__PURE__ */ jsx(Icon, {
586
+ component: SortAscendingIcon,
587
+ size: 12,
588
+ variant: IconVariant.TERTIARY
589
+ }) : header.column.getIsSorted() === "desc" ? /* @__PURE__ */ jsx(Icon, {
590
+ component: SortDescendingIcon,
591
+ size: 12,
592
+ variant: IconVariant.TERTIARY
593
+ }) : /* @__PURE__ */ jsx(Icon, {
594
+ component: CaretUpDownIcon,
595
+ size: 12,
596
+ variant: IconVariant.TERTIARY
597
+ }) })] })
598
+ }, header.id);
599
+ }) }, headerGroup.id)) }), /* @__PURE__ */ jsxs(TableBody, { children: [showLoading ? renderLoadingRows() : showError ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
600
+ colSpan: resolvedColumns.length,
601
+ children: typeof contentWhenError === "function" ? contentWhenError() : contentWhenError ?? /* @__PURE__ */ jsx(Text, {
602
+ variant: TextVariant.ERROR,
603
+ children: "Error loading data"
604
+ })
605
+ }) }) : rows.map((row, index) => {
606
+ const isSelected = row.getIsSelected();
607
+ const isExpanded = onRowExpand !== void 0 && row.id === expandedRowId;
608
+ const isLastRow = index === rows.length - 1;
609
+ return /* @__PURE__ */ jsxs(React.Fragment, { children: [/* @__PURE__ */ jsx(TableRow, {
610
+ $isClickable: !!onRowClick,
611
+ $isSelected: isSelected,
612
+ $density: density,
613
+ $variant: variant,
614
+ $isExpanded: isExpanded,
615
+ $isLastRow: noLastRowBorder && isLastRow && !isExpanded,
616
+ onClick: onRowClick ? (e) => onRowClick(row, e) : void 0,
617
+ onDoubleClick: onRowDoubleClick ? (e) => onRowDoubleClick(row, e) : void 0,
618
+ children: row.getVisibleCells().map((cell) => {
619
+ const columnMeta = cell.column.columnDef.meta;
620
+ return /* @__PURE__ */ jsx(TableDataCell, {
621
+ $width: cell.column.columnDef.size,
622
+ $minWidth: cell.column.columnDef.minSize,
623
+ $maxWidth: cell.column.columnDef.maxSize,
624
+ $pin: columnMeta?.pin,
625
+ $pinnedOffset: pinnedOffsets.get(cell.column.id),
626
+ $align: columnMeta?.align,
627
+ $density: density,
628
+ $variant: variant,
629
+ $isExpandCell: cell.column.id === EXPAND_COLUMN_ID,
630
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
631
+ }, cell.id);
681
632
  })
682
- }) }) : rows.map((row, index) => {
683
- const isSelected = row.getIsSelected();
684
- const isExpanded = onRowExpand !== void 0 && row.id === expandedRowId;
685
- const isLastRow = index === rows.length - 1;
686
- return /* @__PURE__ */ jsxs(React.Fragment, { children: [/* @__PURE__ */ jsx(TableRow, {
687
- "data-gx-expanded-row-anchor": isExpanded ? "true" : void 0,
688
- $isClickable: !!onRowClick,
689
- $isSelected: isSelected,
690
- $density: density,
633
+ }), isExpanded && onRowExpand && /* @__PURE__ */ jsx(ExpandedRow, {
634
+ $minWidth: totalColumnMinWidth,
635
+ children: /* @__PURE__ */ jsx(ExpandedRowCell, {
636
+ colSpan: resolvedColumns.length,
691
637
  $variant: variant,
692
- $isExpanded: isExpanded,
693
- $isLastRow: noLastRowBorder && isLastRow && !isExpanded,
694
- onClick: onRowClick ? (e) => onRowClick(row, e) : void 0,
695
- onDoubleClick: onRowDoubleClick ? (e) => onRowDoubleClick(row, e) : void 0,
696
- children: row.getVisibleCells().map((cell) => {
697
- const columnMeta = cell.column.columnDef.meta;
698
- return /* @__PURE__ */ jsx(TableDataCell, {
699
- $width: cell.column.columnDef.size,
700
- $minWidth: cell.column.columnDef.minSize,
701
- $maxWidth: cell.column.columnDef.maxSize,
702
- $pin: columnMeta?.pin,
703
- $pinnedOffset: pinnedOffsets.get(cell.column.id),
704
- $align: columnMeta?.align,
705
- $density: density,
706
- $variant: variant,
707
- $isExpandCell: cell.column.id === EXPAND_COLUMN_ID,
708
- children: flexRender(cell.column.columnDef.cell, cell.getContext())
709
- }, cell.id);
638
+ $isLastRow: noLastRowBorder && isLastRow,
639
+ children: /* @__PURE__ */ jsxs(ExpandedViewport, {
640
+ $width: scrollContainerClientWidth ?? void 0,
641
+ children: [/* @__PURE__ */ jsx(ExpandedGutter, { $variant: variant }), /* @__PURE__ */ jsx(ExpandedBody, { children: /* @__PURE__ */ jsx(ExpandedContent, { children: onRowExpand(row) }) })]
710
642
  })
711
- }), isExpanded && /* @__PURE__ */ jsx(ExpandedSpacerRow, {
712
- $height: expandedOverlayLayout?.height ?? 0,
713
- children: /* @__PURE__ */ jsx(ExpandedSpacerCell, { colSpan: resolvedColumns.length })
714
- })] }, row.id);
715
- }), isFetchingNextPage && renderLoadingRows()] })] })
716
- }),
717
- expandedRow && onRowExpand && /* @__PURE__ */ jsx(ExpandedOverlayLayer, { children: /* @__PURE__ */ jsxs(ExpandedOverlay, {
718
- ref: expandedOverlayRef,
719
- $isLastRow: noLastRowBorder && isExpandedRowLast,
720
- $left: expandedOverlayLayout?.left ?? 0,
721
- $top: expandedOverlayLayout?.top ?? 0,
722
- $width: expandedOverlayLayout?.width ?? scrollContainerRef.current?.clientWidth ?? 0,
723
- $variant: variant,
724
- onWheel: handleExpandedOverlayWheel,
725
- style: { visibility: expandedOverlayLayout ? "visible" : "hidden" },
726
- children: [/* @__PURE__ */ jsx(ExpandedGutter, { $variant: variant }), /* @__PURE__ */ jsx(ExpandedBody, { children: /* @__PURE__ */ jsx(ExpandedContent, { children: onRowExpand(expandedRow) }) })]
727
- }) }),
728
- isEmpty && contentWhenEmpty && /* @__PURE__ */ jsx(EmptyContentWrapper, { children: contentWhenEmpty })
729
- ]
643
+ })
644
+ })] }, row.id);
645
+ }), isFetchingNextPage && renderLoadingRows()] })] })
646
+ }), isEmpty && contentWhenEmpty && /* @__PURE__ */ jsx(EmptyContentWrapper, { children: contentWhenEmpty })]
730
647
  });
731
648
  }
732
649
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxy-io/dls",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "Galaxy Design Language System",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",