@ai-matrx/design-system 0.34.0 → 0.36.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/content-transfer.cjs +3 -1
  3. package/dist/content-transfer.cjs.map +1 -1
  4. package/dist/content-transfer.js +3 -1
  5. package/dist/content-transfer.js.map +1 -1
  6. package/dist/data-table/copy-helpers.d.cts +1 -1
  7. package/dist/data-table/copy-helpers.d.ts +1 -1
  8. package/dist/data-table/data-row-inspector.cjs +3 -1
  9. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  10. package/dist/data-table/data-row-inspector.js +3 -1
  11. package/dist/data-table/data-row-inspector.js.map +1 -1
  12. package/dist/data-table/data-row-window.cjs +3 -1
  13. package/dist/data-table/data-row-window.cjs.map +1 -1
  14. package/dist/data-table/data-row-window.js +3 -1
  15. package/dist/data-table/data-row-window.js.map +1 -1
  16. package/dist/data-table/filter-engine.d.cts +1 -1
  17. package/dist/data-table/filter-engine.d.ts +1 -1
  18. package/dist/data-table/host.d.cts +1 -1
  19. package/dist/data-table/host.d.ts +1 -1
  20. package/dist/data-table/index.cjs +57 -22
  21. package/dist/data-table/index.cjs.map +1 -1
  22. package/dist/data-table/index.d.cts +2 -2
  23. package/dist/data-table/index.d.ts +2 -2
  24. package/dist/data-table/index.js +57 -22
  25. package/dist/data-table/index.js.map +1 -1
  26. package/dist/data-table/infer-filter.d.cts +1 -1
  27. package/dist/data-table/infer-filter.d.ts +1 -1
  28. package/dist/data-table/layered-filters.d.cts +1 -1
  29. package/dist/data-table/layered-filters.d.ts +1 -1
  30. package/dist/data-table/query-control.d.cts +1 -1
  31. package/dist/data-table/query-control.d.ts +1 -1
  32. package/dist/data-table/spreadsheet.cjs +18 -0
  33. package/dist/data-table/spreadsheet.cjs.map +1 -1
  34. package/dist/data-table/spreadsheet.d.cts +5 -0
  35. package/dist/data-table/spreadsheet.d.ts +5 -0
  36. package/dist/data-table/spreadsheet.js +18 -0
  37. package/dist/data-table/spreadsheet.js.map +1 -1
  38. package/dist/data-table/types.cjs.map +1 -1
  39. package/dist/data-table/types.d.cts +1 -1
  40. package/dist/data-table/types.d.ts +1 -1
  41. package/dist/data-table/url-state.d.cts +1 -1
  42. package/dist/data-table/url-state.d.ts +1 -1
  43. package/dist/data-table/xlsx.d.cts +1 -1
  44. package/dist/data-table/xlsx.d.ts +1 -1
  45. package/dist/index.cjs +4 -2
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.d.cts +28 -0
  48. package/dist/index.d.ts +28 -0
  49. package/dist/index.js +4 -2
  50. package/dist/index.js.map +1 -1
  51. package/dist/{types-CFmCZXVn.d.ts → types-Cxm5XK0L.d.ts} +25 -7
  52. package/dist/{types-CYkwg9jR.d.cts → types-kiV-CAuZ.d.cts} +25 -7
  53. 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-CYkwg9jR.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 MatrxDataTableQueryControl, e as MatrxDataTableQueryState, K as MatrxDataTableSelectionConfig, N as MatrxDataTableSourceProcessing, O as MatrxDataTableSpreadsheetConfig, P as MatrxDataTableStyleConfig, Q as MatrxDataTableToolbar, R as MatrxDataTableUrlStateConfig, U as MatrxDataTableVirtualizeConfig, V as MatrxDataTableWindowConfig, W as MatrxTablePagination, X as OPS_WITH_VALUE, Y as ROW_TINT_CLASS, Z as STYLE_COLORS, _ as STYLE_COLOR_LABELS, $ as SWATCH_CLASS, a0 as SortDirection, S as SortState, a1 as StyleColor, a2 as StylePath, a3 as StyleTarget, a4 as TABLE_STYLE_METADATA_KEY, a5 as TABLE_STYLE_VERSION, a6 as TableRankedSearchOptions, b as TableSavedViewsProps, T as TableSearchMatchMode, a7 as TableSearchRole, a8 as TableSearchScope, a9 as TableStyle, aa as TableViewQuery, ab as TextFilterMode, ac as ToolbarFacet, ad as applyStylePath, ae as colorForChoice, af as evaluateRule, ag as inferTableSearchRole, ah as isStyleColor, ai as parseTableStyle, aj as rankTableSearchRows, ak as resolveCellColor, al as resolveRowColor, am as resolveTableSearchScopes, an as stylePath, ao as tableStyleFromMetadata, ap as tableStyleIsEmpty } from '../types-CYkwg9jR.cjs';
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-CFmCZXVn.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 MatrxDataTableQueryControl, e as MatrxDataTableQueryState, K as MatrxDataTableSelectionConfig, N as MatrxDataTableSourceProcessing, O as MatrxDataTableSpreadsheetConfig, P as MatrxDataTableStyleConfig, Q as MatrxDataTableToolbar, R as MatrxDataTableUrlStateConfig, U as MatrxDataTableVirtualizeConfig, V as MatrxDataTableWindowConfig, W as MatrxTablePagination, X as OPS_WITH_VALUE, Y as ROW_TINT_CLASS, Z as STYLE_COLORS, _ as STYLE_COLOR_LABELS, $ as SWATCH_CLASS, a0 as SortDirection, S as SortState, a1 as StyleColor, a2 as StylePath, a3 as StyleTarget, a4 as TABLE_STYLE_METADATA_KEY, a5 as TABLE_STYLE_VERSION, a6 as TableRankedSearchOptions, b as TableSavedViewsProps, T as TableSearchMatchMode, a7 as TableSearchRole, a8 as TableSearchScope, a9 as TableStyle, aa as TableViewQuery, ab as TextFilterMode, ac as ToolbarFacet, ad as applyStylePath, ae as colorForChoice, af as evaluateRule, ag as inferTableSearchRole, ah as isStyleColor, ai as parseTableStyle, aj as rankTableSearchRows, ak as resolveCellColor, al as resolveRowColor, am as resolveTableSearchScopes, an as stylePath, ao as tableStyleFromMetadata, ap as tableStyleIsEmpty } from '../types-CFmCZXVn.js';
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';
@@ -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] w-72 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",
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: "w-64 p-2",
6225
+ className: "p-2",
6223
6226
  onClick: (e) => e.stopPropagation(),
6224
6227
  onOpenAutoFocus: (event) => {
6225
6228
  const content = event.currentTarget;
@@ -8363,6 +8366,19 @@ function targetsAnEditor(target) {
8363
8366
  if (!element) return false;
8364
8367
  return element.closest("input, textarea, select, [contenteditable='true']") !== null;
8365
8368
  }
8369
+ function camePastAPortal(target, host) {
8370
+ if (typeof Element === "undefined") return false;
8371
+ const element = target instanceof Element ? target : null;
8372
+ const owner = host instanceof Element ? host : null;
8373
+ if (!element || !owner) return false;
8374
+ return !owner.contains(element);
8375
+ }
8376
+ function camePastAPortalIntoTheContainer(target) {
8377
+ if (typeof Element === "undefined") return false;
8378
+ const element = target instanceof Element ? target : null;
8379
+ if (!element) return false;
8380
+ return element.closest('[data-matrx-table-spreadsheet="true"]') === null;
8381
+ }
8366
8382
  function useSpreadsheetGrid(options) {
8367
8383
  const [range, setRange] = useState16(null);
8368
8384
  const [fillTarget, setFillTarget] = useState16(null);
@@ -8534,6 +8550,7 @@ function useSpreadsheetGrid(options) {
8534
8550
  const current = optionsRef.current;
8535
8551
  if (!current) return;
8536
8552
  if (targetsAnEditor(event.target)) return;
8553
+ if (camePastAPortalIntoTheContainer(event.target)) return;
8537
8554
  const accel = event.metaKey || event.ctrlKey;
8538
8555
  if (accel && (event.key === "z" || event.key === "Z")) {
8539
8556
  event.preventDefault();
@@ -8620,6 +8637,7 @@ function useSpreadsheetGrid(options) {
8620
8637
  const onCopy = useCallback7(
8621
8638
  (event) => {
8622
8639
  if (!optionsRef.current || !range || targetsAnEditor(event.target)) return;
8640
+ if (camePastAPortalIntoTheContainer(event.target)) return;
8623
8641
  const text = selectionAsTsv();
8624
8642
  if (!text) return;
8625
8643
  event.preventDefault();
@@ -8630,6 +8648,7 @@ function useSpreadsheetGrid(options) {
8630
8648
  const onCut = useCallback7(
8631
8649
  (event) => {
8632
8650
  if (!optionsRef.current || !range || targetsAnEditor(event.target)) return;
8651
+ if (camePastAPortalIntoTheContainer(event.target)) return;
8633
8652
  const text = selectionAsTsv();
8634
8653
  if (!text) return;
8635
8654
  event.preventDefault();
@@ -8642,6 +8661,7 @@ function useSpreadsheetGrid(options) {
8642
8661
  (event) => {
8643
8662
  const current = optionsRef.current;
8644
8663
  if (!current || current.paste === false || !range || targetsAnEditor(event.target)) return;
8664
+ if (camePastAPortalIntoTheContainer(event.target)) return;
8645
8665
  const text = event.clipboardData?.getData("text/plain") ?? "";
8646
8666
  if (!text) return;
8647
8667
  event.preventDefault();
@@ -8725,6 +8745,7 @@ function useSpreadsheetGrid(options) {
8725
8745
  ...inFillPreview ? { "data-matrx-cell-fill-preview": "true" } : {},
8726
8746
  onMouseDown: (event) => {
8727
8747
  if (event.button !== 0) return;
8748
+ if (camePastAPortal(event.target ?? null, event.currentTarget)) return;
8728
8749
  event.preventDefault();
8729
8750
  const origin = event.currentTarget;
8730
8751
  if (typeof HTMLElement !== "undefined" && origin instanceof HTMLElement) {
@@ -10930,8 +10951,9 @@ function EditableTableCell({
10930
10951
  /* @__PURE__ */ jsxs29(
10931
10952
  PopoverContent,
10932
10953
  {
10954
+ sizing: "content",
10933
10955
  align: "start",
10934
- className: "w-56 p-2",
10956
+ className: "p-2",
10935
10957
  onClick: (e) => e.stopPropagation(),
10936
10958
  children: [
10937
10959
  /* @__PURE__ */ jsx39(
@@ -13093,14 +13115,14 @@ function MatrxDataTableCore({
13093
13115
  const coverageResult = useMemo8(() => {
13094
13116
  if (!coverage) return null;
13095
13117
  return describeCoverage({
13096
- loaded: processed.length,
13118
+ loaded: data.length,
13097
13119
  ...coverage.matched === void 0 ? {} : { matched: coverage.matched },
13098
13120
  ...coverage.total === void 0 ? {} : { total: coverage.total },
13099
13121
  ...coverage.cap === void 0 ? {} : { cap: coverage.cap },
13100
13122
  answeredBy: coverage.answeredBy ?? "client",
13101
13123
  ...coverage.noun === void 0 ? {} : { noun: coverage.noun }
13102
13124
  });
13103
- }, [coverage, processed.length]);
13125
+ }, [coverage, data.length]);
13104
13126
  const bodyEntries = useMemo8(() => {
13105
13127
  const from = effectiveRowWindow ? effectiveRowWindow.start : 0;
13106
13128
  const to = effectiveRowWindow ? effectiveRowWindow.end : void 0;
@@ -13321,13 +13343,26 @@ function MatrxDataTableCore({
13321
13343
  setWindowRowSnapshot(null);
13322
13344
  };
13323
13345
  const canExpandRow = (row) => Boolean(expandedDetail && (expandedDetail.canExpand?.(row) ?? true));
13324
- const isRowExpanded = (row) => canExpandRow(row) && expandedDetail?.expandedId === getRowId(row);
13346
+ const isMultiExpandedDetail = (detail2) => "expandedIds" in detail2;
13347
+ const isRowExpanded = (row) => {
13348
+ if (!expandedDetail || !canExpandRow(row)) return false;
13349
+ const id = getRowId(row);
13350
+ return isMultiExpandedDetail(expandedDetail) ? expandedDetail.expandedIds.has(id) : expandedDetail.expandedId === id;
13351
+ };
13325
13352
  const toggleExpanded = (row) => {
13326
13353
  if (!expandedDetail || !canExpandRow(row)) return;
13327
13354
  const id = getRowId(row);
13328
- expandedDetail.onExpandedIdChange(
13329
- expandedDetail.expandedId === id ? null : id
13330
- );
13355
+ if (isMultiExpandedDetail(expandedDetail)) {
13356
+ const nextExpandedIds = new Set(expandedDetail.expandedIds);
13357
+ if (nextExpandedIds.has(id)) {
13358
+ nextExpandedIds.delete(id);
13359
+ } else {
13360
+ nextExpandedIds.add(id);
13361
+ }
13362
+ expandedDetail.onExpandedIdsChange(nextExpandedIds);
13363
+ return;
13364
+ }
13365
+ expandedDetail.onExpandedIdChange(expandedDetail.expandedId === id ? null : id);
13331
13366
  };
13332
13367
  const openRow = (row) => {
13333
13368
  if (canExpandRow(row)) {
@@ -14365,6 +14400,19 @@ function MatrxDataTableCore({
14365
14400
  }
14366
14401
  ),
14367
14402
  /* @__PURE__ */ jsxs32("div", { "data-matrx-table-body-region": true, className: "flex min-h-0 flex-1 flex-col gap-2", children: [
14403
+ coverageResult && coverageResult.notice ? /* @__PURE__ */ jsxs32(
14404
+ "div",
14405
+ {
14406
+ "data-matrx-table-coverage": true,
14407
+ "data-matrx-table-coverage-scope": coverageResult.scope,
14408
+ role: "status",
14409
+ 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",
14410
+ children: [
14411
+ /* @__PURE__ */ jsx42("span", { className: "font-semibold", children: coverageResult.badge }),
14412
+ /* @__PURE__ */ jsx42("span", { children: coverageResult.notice })
14413
+ ]
14414
+ }
14415
+ ) : null,
14368
14416
  /* @__PURE__ */ jsxs32("div", { className: "relative min-h-0 flex-1", children: [
14369
14417
  mobileCards ? /* @__PURE__ */ jsxs32(
14370
14418
  "div",
@@ -14471,19 +14519,6 @@ function MatrxDataTableCore({
14471
14519
  ]
14472
14520
  }
14473
14521
  ) : null,
14474
- coverageResult && coverageResult.notice ? /* @__PURE__ */ jsxs32(
14475
- "div",
14476
- {
14477
- "data-matrx-table-coverage": true,
14478
- "data-matrx-table-coverage-scope": coverageResult.scope,
14479
- role: "status",
14480
- 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",
14481
- children: [
14482
- /* @__PURE__ */ jsx42("span", { className: "font-semibold", children: coverageResult.badge }),
14483
- /* @__PURE__ */ jsx42("span", { children: coverageResult.notice })
14484
- ]
14485
- }
14486
- ) : null,
14487
14522
  /* @__PURE__ */ jsxs32(
14488
14523
  "div",
14489
14524
  {