@ai-matrx/design-system 0.32.0 → 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 +62 -0
- package/dist/content-transfer.cjs +3 -1
- package/dist/content-transfer.cjs.map +1 -1
- package/dist/content-transfer.js +3 -1
- package/dist/content-transfer.js.map +1 -1
- package/dist/data-table/copy-helpers.d.cts +1 -1
- package/dist/data-table/copy-helpers.d.ts +1 -1
- package/dist/data-table/data-row-inspector.cjs +3 -1
- package/dist/data-table/data-row-inspector.cjs.map +1 -1
- package/dist/data-table/data-row-inspector.js +3 -1
- package/dist/data-table/data-row-inspector.js.map +1 -1
- package/dist/data-table/data-row-window.cjs +3 -1
- package/dist/data-table/data-row-window.cjs.map +1 -1
- package/dist/data-table/data-row-window.js +3 -1
- package/dist/data-table/data-row-window.js.map +1 -1
- package/dist/data-table/filter-engine.d.cts +1 -1
- package/dist/data-table/filter-engine.d.ts +1 -1
- package/dist/data-table/host.d.cts +1 -1
- package/dist/data-table/host.d.ts +1 -1
- package/dist/data-table/index.cjs +95 -34
- package/dist/data-table/index.cjs.map +1 -1
- package/dist/data-table/index.d.cts +2 -2
- package/dist/data-table/index.d.ts +2 -2
- package/dist/data-table/index.js +95 -34
- package/dist/data-table/index.js.map +1 -1
- package/dist/data-table/infer-filter.d.cts +1 -1
- package/dist/data-table/infer-filter.d.ts +1 -1
- package/dist/data-table/layered-filters.d.cts +1 -1
- package/dist/data-table/layered-filters.d.ts +1 -1
- package/dist/data-table/query-control.d.cts +1 -1
- package/dist/data-table/query-control.d.ts +1 -1
- package/dist/data-table/types.cjs.map +1 -1
- package/dist/data-table/types.d.cts +1 -1
- package/dist/data-table/types.d.ts +1 -1
- package/dist/data-table/url-state.d.cts +1 -1
- package/dist/data-table/url-state.d.ts +1 -1
- package/dist/data-table/xlsx.d.cts +1 -1
- package/dist/data-table/xlsx.d.ts +1 -1
- package/dist/index.cjs +33 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +33 -4
- package/dist/index.js.map +1 -1
- package/dist/{types-CFmCZXVn.d.ts → types-Cxm5XK0L.d.ts} +25 -7
- package/dist/{types-CYkwg9jR.d.cts → types-kiV-CAuZ.d.cts} +25 -7
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { h as MatrxDataTableProps, i as TableViewSnapshot, d as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-
|
|
4
|
-
export { A as AnyOfColumnSearch, B as BOOLEAN_TRUE_COLOR, k as CELL_TINT_CLASS, l as COLOR_RULE_OPS, m as COLOR_RULE_OP_LABELS, n as CellEditType, o as CellEditsMap, p as ChoiceColorLookup, q as ColorBy, r as ColorRule, s as ColorRuleOp, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, E as EMPTY_TABLE_STYLE, t as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, u as MatrxDataTableCoverageConfig, c as MatrxDataTableDensity, v as MatrxDataTableDetailConfig, w as MatrxDataTableEditConfig, x as MatrxDataTableEmptyState, y as MatrxDataTableExpandedDetailConfig, z as MatrxDataTableFacetsConfig, D as MatrxDataTableFilterUi, F as MatrxDataTableGroupingConfig, G as MatrxDataTableHierarchyConfig, H as MatrxDataTableHierarchyMove, I as MatrxDataTableMobileCardControls, J as MatrxDataTableQueryControl, e as MatrxDataTableQueryState,
|
|
3
|
+
import { h as MatrxDataTableProps, i as TableViewSnapshot, d as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-kiV-CAuZ.cjs';
|
|
4
|
+
export { A as AnyOfColumnSearch, B as BOOLEAN_TRUE_COLOR, k as CELL_TINT_CLASS, l as COLOR_RULE_OPS, m as COLOR_RULE_OP_LABELS, n as CellEditType, o as CellEditsMap, p as ChoiceColorLookup, q as ColorBy, r as ColorRule, s as ColorRuleOp, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, E as EMPTY_TABLE_STYLE, t as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, u as MatrxDataTableCoverageConfig, c as MatrxDataTableDensity, v as MatrxDataTableDetailConfig, w as MatrxDataTableEditConfig, x as MatrxDataTableEmptyState, y as MatrxDataTableExpandedDetailConfig, z as MatrxDataTableFacetsConfig, D as MatrxDataTableFilterUi, F as MatrxDataTableGroupingConfig, G as MatrxDataTableHierarchyConfig, H as MatrxDataTableHierarchyMove, I as MatrxDataTableMobileCardControls, J as MatrxDataTableMultiExpandedDetailConfig, K as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, N as MatrxDataTableSelectionConfig, O as MatrxDataTableSingleExpandedDetailConfig, P as MatrxDataTableSourceProcessing, Q as MatrxDataTableSpreadsheetConfig, R as MatrxDataTableStyleConfig, U as MatrxDataTableToolbar, V as MatrxDataTableUrlStateConfig, W as MatrxDataTableVirtualizeConfig, X as MatrxDataTableWindowConfig, Y as MatrxTablePagination, Z as OPS_WITH_VALUE, _ as ROW_TINT_CLASS, $ as STYLE_COLORS, a0 as STYLE_COLOR_LABELS, a1 as SWATCH_CLASS, a2 as SortDirection, S as SortState, a3 as StyleColor, a4 as StylePath, a5 as StyleTarget, a6 as TABLE_STYLE_METADATA_KEY, a7 as TABLE_STYLE_VERSION, a8 as TableRankedSearchOptions, b as TableSavedViewsProps, T as TableSearchMatchMode, a9 as TableSearchRole, aa as TableSearchScope, ab as TableStyle, ac as TableViewQuery, ad as TextFilterMode, ae as ToolbarFacet, af as applyStylePath, ag as colorForChoice, ah as evaluateRule, ai as inferTableSearchRole, aj as isStyleColor, ak as parseTableStyle, al as rankTableSearchRows, am as resolveCellColor, an as resolveRowColor, ao as resolveTableSearchScopes, ap as stylePath, aq as tableStyleFromMetadata, ar as tableStyleIsEmpty } from '../types-kiV-CAuZ.cjs';
|
|
5
5
|
export { MatrxDataTableHost, MatrxDataTableProvider, MatrxTableRowAlchemy, TableDoors, TableEntityRefProps, TableLinkProps, TablePeekProps, TableSidePanelProps, TableToolbarActionProps, TableWindowPanelProps, useMatrxDataTableHost, useMatrxTableRowAlchemy } from './host.cjs';
|
|
6
6
|
import { CopyControlProps } from './copy-types.cjs';
|
|
7
7
|
export { AgentPayloadInput } from './copy-types.cjs';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { h as MatrxDataTableProps, i as TableViewSnapshot, d as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-
|
|
4
|
-
export { A as AnyOfColumnSearch, B as BOOLEAN_TRUE_COLOR, k as CELL_TINT_CLASS, l as COLOR_RULE_OPS, m as COLOR_RULE_OP_LABELS, n as CellEditType, o as CellEditsMap, p as ChoiceColorLookup, q as ColorBy, r as ColorRule, s as ColorRuleOp, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, E as EMPTY_TABLE_STYLE, t as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, u as MatrxDataTableCoverageConfig, c as MatrxDataTableDensity, v as MatrxDataTableDetailConfig, w as MatrxDataTableEditConfig, x as MatrxDataTableEmptyState, y as MatrxDataTableExpandedDetailConfig, z as MatrxDataTableFacetsConfig, D as MatrxDataTableFilterUi, F as MatrxDataTableGroupingConfig, G as MatrxDataTableHierarchyConfig, H as MatrxDataTableHierarchyMove, I as MatrxDataTableMobileCardControls, J as MatrxDataTableQueryControl, e as MatrxDataTableQueryState,
|
|
3
|
+
import { h as MatrxDataTableProps, i as TableViewSnapshot, d as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-Cxm5XK0L.js';
|
|
4
|
+
export { A as AnyOfColumnSearch, B as BOOLEAN_TRUE_COLOR, k as CELL_TINT_CLASS, l as COLOR_RULE_OPS, m as COLOR_RULE_OP_LABELS, n as CellEditType, o as CellEditsMap, p as ChoiceColorLookup, q as ColorBy, r as ColorRule, s as ColorRuleOp, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, E as EMPTY_TABLE_STYLE, t as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, u as MatrxDataTableCoverageConfig, c as MatrxDataTableDensity, v as MatrxDataTableDetailConfig, w as MatrxDataTableEditConfig, x as MatrxDataTableEmptyState, y as MatrxDataTableExpandedDetailConfig, z as MatrxDataTableFacetsConfig, D as MatrxDataTableFilterUi, F as MatrxDataTableGroupingConfig, G as MatrxDataTableHierarchyConfig, H as MatrxDataTableHierarchyMove, I as MatrxDataTableMobileCardControls, J as MatrxDataTableMultiExpandedDetailConfig, K as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, N as MatrxDataTableSelectionConfig, O as MatrxDataTableSingleExpandedDetailConfig, P as MatrxDataTableSourceProcessing, Q as MatrxDataTableSpreadsheetConfig, R as MatrxDataTableStyleConfig, U as MatrxDataTableToolbar, V as MatrxDataTableUrlStateConfig, W as MatrxDataTableVirtualizeConfig, X as MatrxDataTableWindowConfig, Y as MatrxTablePagination, Z as OPS_WITH_VALUE, _ as ROW_TINT_CLASS, $ as STYLE_COLORS, a0 as STYLE_COLOR_LABELS, a1 as SWATCH_CLASS, a2 as SortDirection, S as SortState, a3 as StyleColor, a4 as StylePath, a5 as StyleTarget, a6 as TABLE_STYLE_METADATA_KEY, a7 as TABLE_STYLE_VERSION, a8 as TableRankedSearchOptions, b as TableSavedViewsProps, T as TableSearchMatchMode, a9 as TableSearchRole, aa as TableSearchScope, ab as TableStyle, ac as TableViewQuery, ad as TextFilterMode, ae as ToolbarFacet, af as applyStylePath, ag as colorForChoice, ah as evaluateRule, ai as inferTableSearchRole, aj as isStyleColor, ak as parseTableStyle, al as rankTableSearchRows, am as resolveCellColor, an as resolveRowColor, ao as resolveTableSearchScopes, ap as stylePath, aq as tableStyleFromMetadata, ar as tableStyleIsEmpty } from '../types-Cxm5XK0L.js';
|
|
5
5
|
export { MatrxDataTableHost, MatrxDataTableProvider, MatrxTableRowAlchemy, TableDoors, TableEntityRefProps, TableLinkProps, TablePeekProps, TableSidePanelProps, TableToolbarActionProps, TableWindowPanelProps, useMatrxDataTableHost, useMatrxTableRowAlchemy } from './host.js';
|
|
6
6
|
import { CopyControlProps } from './copy-types.js';
|
|
7
7
|
export { AgentPayloadInput } from './copy-types.js';
|
package/dist/data-table/index.js
CHANGED
|
@@ -2494,6 +2494,7 @@ var PopoverContent = React13.forwardRef(
|
|
|
2494
2494
|
sideOffset = 4,
|
|
2495
2495
|
container,
|
|
2496
2496
|
animated = true,
|
|
2497
|
+
sizing = "fixed",
|
|
2497
2498
|
...props
|
|
2498
2499
|
}, ref) => {
|
|
2499
2500
|
const portalContainer = usePortalContainer(container);
|
|
@@ -2510,7 +2511,8 @@ var PopoverContent = React13.forwardRef(
|
|
|
2510
2511
|
// z, DOM portal order decides, so a dialog opened FROM a popover stacks
|
|
2511
2512
|
// above it, and a popover opened from a dialog still stacks above the
|
|
2512
2513
|
// dialog. z-[10001] buried dialogs behind fullscreen popovers.
|
|
2513
|
-
"z-[10000]
|
|
2514
|
+
"z-[10000] max-h-[var(--radix-popover-content-available-height)] overflow-y-auto overscroll-contain rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none",
|
|
2515
|
+
sizing === "content" ? "w-auto min-w-[min(max(var(--radix-popover-trigger-width),20rem),calc(100vw-2rem))] max-w-[min(28rem,calc(100vw-2rem))]" : "w-72",
|
|
2514
2516
|
animated && MOTION_POPPER,
|
|
2515
2517
|
className
|
|
2516
2518
|
),
|
|
@@ -6218,8 +6220,9 @@ function ColumnHeaderCell({
|
|
|
6218
6220
|
const menuContent = /* @__PURE__ */ jsxs22(
|
|
6219
6221
|
PopoverContent,
|
|
6220
6222
|
{
|
|
6223
|
+
sizing: "content",
|
|
6221
6224
|
align: "start",
|
|
6222
|
-
className: "
|
|
6225
|
+
className: "p-2",
|
|
6223
6226
|
onClick: (e) => e.stopPropagation(),
|
|
6224
6227
|
onOpenAutoFocus: (event) => {
|
|
6225
6228
|
const content = event.currentTarget;
|
|
@@ -10015,8 +10018,26 @@ function pixelWidth(width) {
|
|
|
10015
10018
|
}
|
|
10016
10019
|
return void 0;
|
|
10017
10020
|
}
|
|
10018
|
-
var FROZEN_CELL_CLASS = "sm:sticky sm:left-[var(--matrx-frozen-left)] sm:z-20 sm:bg-
|
|
10019
|
-
var FROZEN_HEADER_CLASS = "sm:sticky sm:left-[var(--matrx-frozen-left)] sm:z-30";
|
|
10021
|
+
var FROZEN_CELL_CLASS = "sm:sticky sm:left-[var(--matrx-frozen-left)] sm:z-20 sm:bg-card";
|
|
10022
|
+
var FROZEN_HEADER_CLASS = "sm:sticky sm:left-[var(--matrx-frozen-left)] sm:z-30 sm:bg-muted";
|
|
10023
|
+
var FROZEN_ROW_TINT_CLASS = {
|
|
10024
|
+
slate: "sm:bg-[color-mix(in_oklab,var(--color-slate-100)_70%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-slate-800)_40%,var(--color-card))]",
|
|
10025
|
+
green: "sm:bg-[color-mix(in_oklab,var(--color-green-50)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-green-950)_40%,var(--color-card))]",
|
|
10026
|
+
amber: "sm:bg-[color-mix(in_oklab,var(--color-amber-50)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-amber-950)_40%,var(--color-card))]",
|
|
10027
|
+
red: "sm:bg-[color-mix(in_oklab,var(--color-red-50)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-red-950)_40%,var(--color-card))]",
|
|
10028
|
+
blue: "sm:bg-[color-mix(in_oklab,var(--color-blue-50)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-blue-950)_40%,var(--color-card))]",
|
|
10029
|
+
violet: "sm:bg-[color-mix(in_oklab,var(--color-violet-50)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-violet-950)_40%,var(--color-card))]",
|
|
10030
|
+
teal: "sm:bg-[color-mix(in_oklab,var(--color-teal-50)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-teal-950)_40%,var(--color-card))]"
|
|
10031
|
+
};
|
|
10032
|
+
var FROZEN_CELL_TINT_CLASS = {
|
|
10033
|
+
slate: "sm:bg-[color-mix(in_oklab,var(--color-slate-200)_70%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-slate-700)_50%,var(--color-card))]",
|
|
10034
|
+
green: "sm:bg-[color-mix(in_oklab,var(--color-green-100)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-green-900)_50%,var(--color-card))]",
|
|
10035
|
+
amber: "sm:bg-[color-mix(in_oklab,var(--color-amber-100)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-amber-900)_50%,var(--color-card))]",
|
|
10036
|
+
red: "sm:bg-[color-mix(in_oklab,var(--color-red-100)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-red-900)_50%,var(--color-card))]",
|
|
10037
|
+
blue: "sm:bg-[color-mix(in_oklab,var(--color-blue-100)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-blue-900)_50%,var(--color-card))]",
|
|
10038
|
+
violet: "sm:bg-[color-mix(in_oklab,var(--color-violet-100)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-violet-900)_50%,var(--color-card))]",
|
|
10039
|
+
teal: "sm:bg-[color-mix(in_oklab,var(--color-teal-100)_100%,var(--color-card))] dark:sm:bg-[color-mix(in_oklab,var(--color-teal-900)_50%,var(--color-card))]"
|
|
10040
|
+
};
|
|
10020
10041
|
var FROZEN_EDGE_CLASS = "sm:shadow-[inset_-1px_0_0_var(--border)]";
|
|
10021
10042
|
|
|
10022
10043
|
// src/field-formats/registry.ts
|
|
@@ -10912,8 +10933,9 @@ function EditableTableCell({
|
|
|
10912
10933
|
/* @__PURE__ */ jsxs29(
|
|
10913
10934
|
PopoverContent,
|
|
10914
10935
|
{
|
|
10936
|
+
sizing: "content",
|
|
10915
10937
|
align: "start",
|
|
10916
|
-
className: "
|
|
10938
|
+
className: "p-2",
|
|
10917
10939
|
onClick: (e) => e.stopPropagation(),
|
|
10918
10940
|
children: [
|
|
10919
10941
|
/* @__PURE__ */ jsx39(
|
|
@@ -12684,23 +12706,29 @@ function MatrxDataTableCore({
|
|
|
12684
12706
|
const styleFieldOf = tableStyle?.fieldOf ?? ((id) => id);
|
|
12685
12707
|
const styleDocumentOf = tableStyle?.documentOf ?? ((row) => row);
|
|
12686
12708
|
const noChoiceColor = () => void 0;
|
|
12687
|
-
const
|
|
12688
|
-
if (!tableStyle) return
|
|
12689
|
-
|
|
12709
|
+
const rowTintColor = (row, id) => {
|
|
12710
|
+
if (!tableStyle) return null;
|
|
12711
|
+
return resolveRowColor(
|
|
12690
12712
|
tableStyle.style,
|
|
12691
12713
|
{ id, data: styleDocumentOf(row) },
|
|
12692
12714
|
tableStyle.choiceColorFor ?? noChoiceColor
|
|
12693
12715
|
);
|
|
12716
|
+
};
|
|
12717
|
+
const rowTintClass = (row, id) => {
|
|
12718
|
+
const color = rowTintColor(row, id);
|
|
12694
12719
|
return color ? ROW_TINT_CLASS[color] : void 0;
|
|
12695
12720
|
};
|
|
12696
|
-
const
|
|
12697
|
-
if (!tableStyle) return
|
|
12698
|
-
|
|
12721
|
+
const cellTintColor = (row, id, colId) => {
|
|
12722
|
+
if (!tableStyle) return null;
|
|
12723
|
+
return resolveCellColor(
|
|
12699
12724
|
tableStyle.style,
|
|
12700
12725
|
{ id, data: styleDocumentOf(row) },
|
|
12701
12726
|
styleFieldOf(colId),
|
|
12702
12727
|
tableStyle.choiceColorFor ?? noChoiceColor
|
|
12703
12728
|
);
|
|
12729
|
+
};
|
|
12730
|
+
const cellTintClass = (row, id, colId) => {
|
|
12731
|
+
const color = cellTintColor(row, id, colId);
|
|
12704
12732
|
return color ? CELL_TINT_CLASS[color] : void 0;
|
|
12705
12733
|
};
|
|
12706
12734
|
const declaredVisibleCopyColumns = useMemo8(
|
|
@@ -13069,14 +13097,14 @@ function MatrxDataTableCore({
|
|
|
13069
13097
|
const coverageResult = useMemo8(() => {
|
|
13070
13098
|
if (!coverage) return null;
|
|
13071
13099
|
return describeCoverage({
|
|
13072
|
-
loaded:
|
|
13100
|
+
loaded: data.length,
|
|
13073
13101
|
...coverage.matched === void 0 ? {} : { matched: coverage.matched },
|
|
13074
13102
|
...coverage.total === void 0 ? {} : { total: coverage.total },
|
|
13075
13103
|
...coverage.cap === void 0 ? {} : { cap: coverage.cap },
|
|
13076
13104
|
answeredBy: coverage.answeredBy ?? "client",
|
|
13077
13105
|
...coverage.noun === void 0 ? {} : { noun: coverage.noun }
|
|
13078
13106
|
});
|
|
13079
|
-
}, [coverage,
|
|
13107
|
+
}, [coverage, data.length]);
|
|
13080
13108
|
const bodyEntries = useMemo8(() => {
|
|
13081
13109
|
const from = effectiveRowWindow ? effectiveRowWindow.start : 0;
|
|
13082
13110
|
const to = effectiveRowWindow ? effectiveRowWindow.end : void 0;
|
|
@@ -13297,13 +13325,26 @@ function MatrxDataTableCore({
|
|
|
13297
13325
|
setWindowRowSnapshot(null);
|
|
13298
13326
|
};
|
|
13299
13327
|
const canExpandRow = (row) => Boolean(expandedDetail && (expandedDetail.canExpand?.(row) ?? true));
|
|
13300
|
-
const
|
|
13328
|
+
const isMultiExpandedDetail = (detail2) => "expandedIds" in detail2;
|
|
13329
|
+
const isRowExpanded = (row) => {
|
|
13330
|
+
if (!expandedDetail || !canExpandRow(row)) return false;
|
|
13331
|
+
const id = getRowId(row);
|
|
13332
|
+
return isMultiExpandedDetail(expandedDetail) ? expandedDetail.expandedIds.has(id) : expandedDetail.expandedId === id;
|
|
13333
|
+
};
|
|
13301
13334
|
const toggleExpanded = (row) => {
|
|
13302
13335
|
if (!expandedDetail || !canExpandRow(row)) return;
|
|
13303
13336
|
const id = getRowId(row);
|
|
13304
|
-
expandedDetail
|
|
13305
|
-
|
|
13306
|
-
|
|
13337
|
+
if (isMultiExpandedDetail(expandedDetail)) {
|
|
13338
|
+
const nextExpandedIds = new Set(expandedDetail.expandedIds);
|
|
13339
|
+
if (nextExpandedIds.has(id)) {
|
|
13340
|
+
nextExpandedIds.delete(id);
|
|
13341
|
+
} else {
|
|
13342
|
+
nextExpandedIds.add(id);
|
|
13343
|
+
}
|
|
13344
|
+
expandedDetail.onExpandedIdsChange(nextExpandedIds);
|
|
13345
|
+
return;
|
|
13346
|
+
}
|
|
13347
|
+
expandedDetail.onExpandedIdChange(expandedDetail.expandedId === id ? null : id);
|
|
13307
13348
|
};
|
|
13308
13349
|
const openRow = (row) => {
|
|
13309
13350
|
if (canExpandRow(row)) {
|
|
@@ -14341,6 +14382,19 @@ function MatrxDataTableCore({
|
|
|
14341
14382
|
}
|
|
14342
14383
|
),
|
|
14343
14384
|
/* @__PURE__ */ jsxs32("div", { "data-matrx-table-body-region": true, className: "flex min-h-0 flex-1 flex-col gap-2", children: [
|
|
14385
|
+
coverageResult && coverageResult.notice ? /* @__PURE__ */ jsxs32(
|
|
14386
|
+
"div",
|
|
14387
|
+
{
|
|
14388
|
+
"data-matrx-table-coverage": true,
|
|
14389
|
+
"data-matrx-table-coverage-scope": coverageResult.scope,
|
|
14390
|
+
role: "status",
|
|
14391
|
+
className: "flex shrink-0 items-start gap-2 rounded-md border border-amber-300/70 bg-amber-50 px-3 py-2 text-xs text-amber-900 dark:border-amber-500/40 dark:bg-amber-950/40 dark:text-amber-200",
|
|
14392
|
+
children: [
|
|
14393
|
+
/* @__PURE__ */ jsx42("span", { className: "font-semibold", children: coverageResult.badge }),
|
|
14394
|
+
/* @__PURE__ */ jsx42("span", { children: coverageResult.notice })
|
|
14395
|
+
]
|
|
14396
|
+
}
|
|
14397
|
+
) : null,
|
|
14344
14398
|
/* @__PURE__ */ jsxs32("div", { className: "relative min-h-0 flex-1", children: [
|
|
14345
14399
|
mobileCards ? /* @__PURE__ */ jsxs32(
|
|
14346
14400
|
"div",
|
|
@@ -14447,19 +14501,6 @@ function MatrxDataTableCore({
|
|
|
14447
14501
|
]
|
|
14448
14502
|
}
|
|
14449
14503
|
) : null,
|
|
14450
|
-
coverageResult && coverageResult.notice ? /* @__PURE__ */ jsxs32(
|
|
14451
|
-
"div",
|
|
14452
|
-
{
|
|
14453
|
-
"data-matrx-table-coverage": true,
|
|
14454
|
-
"data-matrx-table-coverage-scope": coverageResult.scope,
|
|
14455
|
-
role: "status",
|
|
14456
|
-
className: "mb-1 flex items-start gap-2 rounded-md border border-amber-300/70 bg-amber-50 px-3 py-2 text-xs text-amber-900 dark:border-amber-500/40 dark:bg-amber-950/40 dark:text-amber-200",
|
|
14457
|
-
children: [
|
|
14458
|
-
/* @__PURE__ */ jsx42("span", { className: "font-semibold", children: coverageResult.badge }),
|
|
14459
|
-
/* @__PURE__ */ jsx42("span", { children: coverageResult.notice })
|
|
14460
|
-
]
|
|
14461
|
-
}
|
|
14462
|
-
) : null,
|
|
14463
14504
|
/* @__PURE__ */ jsxs32(
|
|
14464
14505
|
"div",
|
|
14465
14506
|
{
|
|
@@ -14546,7 +14587,10 @@ function MatrxDataTableCore({
|
|
|
14546
14587
|
"th",
|
|
14547
14588
|
{
|
|
14548
14589
|
"data-matrx-table-selection-column": true,
|
|
14549
|
-
className:
|
|
14590
|
+
className: cn(
|
|
14591
|
+
"h-9 w-9 px-2 text-left align-middle",
|
|
14592
|
+
frozenColumns.selectionOffset !== null && "sm:sticky sm:left-0 sm:z-30 sm:bg-muted"
|
|
14593
|
+
),
|
|
14550
14594
|
style: fixedUtilityWidth(fixedTableGeometry?.selectionWidth),
|
|
14551
14595
|
children: /* @__PURE__ */ jsx42(
|
|
14552
14596
|
"div",
|
|
@@ -14808,6 +14852,9 @@ function MatrxDataTableCore({
|
|
|
14808
14852
|
const displayRow = applyRowEdits(row, rowEdits);
|
|
14809
14853
|
const controls = buildRecordControls(displayRow);
|
|
14810
14854
|
const isChecked = selectedIdSet.has(id);
|
|
14855
|
+
const rowTint = rowTintColor(row, id);
|
|
14856
|
+
const canHoverFrozenCell = !rowTint && (detailEnabled || Boolean(onRowOpen) || canExpandRow(row));
|
|
14857
|
+
const frozenRowBackgroundClass = rowTint ? FROZEN_ROW_TINT_CLASS[rowTint] : highlightedIndex === index || isSelected ? "sm:bg-muted" : isChecked ? "sm:bg-[color-mix(in_oklab,var(--color-primary)_5%,var(--color-card))]" : zebra && index % 2 === 1 ? "sm:bg-[color-mix(in_oklab,var(--color-muted)_20%,var(--color-card))]" : "sm:bg-card";
|
|
14811
14858
|
const rowNode = /* @__PURE__ */ jsxs32(
|
|
14812
14859
|
"tr",
|
|
14813
14860
|
{
|
|
@@ -14835,7 +14882,7 @@ function MatrxDataTableCore({
|
|
|
14835
14882
|
// Keep the mobile row opaque while the complete row scrolls
|
|
14836
14883
|
// horizontally. The translucent zebra/hover tints remain
|
|
14837
14884
|
// desktop-only so densely layered mobile content stays crisp.
|
|
14838
|
-
"border-b border-border/60 bg-card transition-colors",
|
|
14885
|
+
"group/matrx-row border-b border-border/60 bg-card transition-colors",
|
|
14839
14886
|
(detailEnabled || Boolean(onRowOpen) || canExpandRow(row)) && "cursor-pointer sm:hover:bg-muted/50",
|
|
14840
14887
|
isSelected && "bg-muted",
|
|
14841
14888
|
isChecked && "bg-primary/5",
|
|
@@ -14859,7 +14906,11 @@ function MatrxDataTableCore({
|
|
|
14859
14906
|
// When a data column is frozen the checkbox
|
|
14860
14907
|
// column has to freeze with it, or the first
|
|
14861
14908
|
// frozen column slides over the checkboxes.
|
|
14862
|
-
frozenColumns.selectionOffset !== null &&
|
|
14909
|
+
frozenColumns.selectionOffset !== null && cn(
|
|
14910
|
+
"sm:sticky sm:left-0 sm:z-20",
|
|
14911
|
+
frozenRowBackgroundClass,
|
|
14912
|
+
canHoverFrozenCell && "sm:group-hover/matrx-row:bg-[color-mix(in_oklab,var(--color-muted)_50%,var(--color-card))]"
|
|
14913
|
+
)
|
|
14863
14914
|
),
|
|
14864
14915
|
style: fixedUtilityWidth(fixedTableGeometry?.selectionWidth),
|
|
14865
14916
|
onClick: (e) => e.stopPropagation(),
|
|
@@ -14899,6 +14950,12 @@ function MatrxDataTableCore({
|
|
|
14899
14950
|
const isColumnDragShadow = columnDragPreview?.draggedId === columnId(col) && columnDragPreview.targetId !== null;
|
|
14900
14951
|
const sheetCell = spreadsheetEnabled ? sheet.cellProps(id, columnId(col)) : null;
|
|
14901
14952
|
const carriesFillHandle = sheetCell !== null && sheet.isFillHandleCell(id, columnId(col));
|
|
14953
|
+
const frozen = frozenColumns.offsets[columnId(col)] !== void 0;
|
|
14954
|
+
const frozenCellTint = cellTintColor(
|
|
14955
|
+
row,
|
|
14956
|
+
id,
|
|
14957
|
+
columnId(col)
|
|
14958
|
+
);
|
|
14902
14959
|
return /* @__PURE__ */ jsxs32(
|
|
14903
14960
|
"td",
|
|
14904
14961
|
{
|
|
@@ -14929,12 +14986,16 @@ function MatrxDataTableCore({
|
|
|
14929
14986
|
isColumnDragShadow && "bg-primary/10 shadow-[inset_2px_0_0_var(--primary),inset_-2px_0_0_var(--primary)]",
|
|
14930
14987
|
alignForFormat(col) === "center" && "text-center",
|
|
14931
14988
|
alignForFormat(col) === "right" && "text-right",
|
|
14932
|
-
|
|
14989
|
+
frozen && FROZEN_CELL_CLASS,
|
|
14990
|
+
frozen && frozenRowBackgroundClass,
|
|
14991
|
+
frozen && sheetCell?.["data-matrx-cell-selected"] && "sm:bg-[color-mix(in_oklab,var(--color-primary)_10%,var(--color-card))]",
|
|
14992
|
+
frozen && canHoverFrozenCell && "sm:group-hover/matrx-row:bg-[color-mix(in_oklab,var(--color-muted)_50%,var(--color-card))]",
|
|
14933
14993
|
frozenEdgeId === columnId(col) && FROZEN_EDGE_CLASS,
|
|
14934
14994
|
// A cell tint paints OVER the row tint beneath
|
|
14935
14995
|
// it, and the consumer's own hook comes last so
|
|
14936
14996
|
// it can always win.
|
|
14937
14997
|
cellTintClass(row, id, columnId(col)),
|
|
14998
|
+
frozen && frozenCellTint && FROZEN_CELL_TINT_CLASS[frozenCellTint],
|
|
14938
14999
|
cellClassName?.(row, columnId(col), index)
|
|
14939
15000
|
),
|
|
14940
15001
|
style: {
|