@ai-matrx/design-system 0.21.13 → 0.21.14

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 +14 -0
  2. package/dist/content-transfer.cjs +1 -0
  3. package/dist/content-transfer.cjs.map +1 -1
  4. package/dist/content-transfer.js +1 -0
  5. package/dist/content-transfer.js.map +1 -1
  6. package/dist/data-table/copy-helpers.cjs.map +1 -1
  7. package/dist/data-table/copy-helpers.d.cts +1 -1
  8. package/dist/data-table/copy-helpers.d.ts +1 -1
  9. package/dist/data-table/copy-helpers.js.map +1 -1
  10. package/dist/data-table/data-row-inspector.cjs +1 -0
  11. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  12. package/dist/data-table/data-row-inspector.js +1 -0
  13. package/dist/data-table/data-row-inspector.js.map +1 -1
  14. package/dist/data-table/data-row-window.cjs +1 -0
  15. package/dist/data-table/data-row-window.cjs.map +1 -1
  16. package/dist/data-table/data-row-window.js +1 -0
  17. package/dist/data-table/data-row-window.js.map +1 -1
  18. package/dist/data-table/filter-engine.cjs +6 -2
  19. package/dist/data-table/filter-engine.cjs.map +1 -1
  20. package/dist/data-table/filter-engine.d.cts +1 -1
  21. package/dist/data-table/filter-engine.d.ts +1 -1
  22. package/dist/data-table/filter-engine.js +6 -2
  23. package/dist/data-table/filter-engine.js.map +1 -1
  24. package/dist/data-table/host.d.cts +1 -1
  25. package/dist/data-table/host.d.ts +1 -1
  26. package/dist/data-table/index.cjs +31 -36
  27. package/dist/data-table/index.cjs.map +1 -1
  28. package/dist/data-table/index.d.cts +2 -2
  29. package/dist/data-table/index.d.ts +2 -2
  30. package/dist/data-table/index.js +31 -36
  31. package/dist/data-table/index.js.map +1 -1
  32. package/dist/data-table/infer-filter.cjs.map +1 -1
  33. package/dist/data-table/infer-filter.d.cts +1 -1
  34. package/dist/data-table/infer-filter.d.ts +1 -1
  35. package/dist/data-table/infer-filter.js.map +1 -1
  36. package/dist/data-table/layered-filters.d.cts +1 -1
  37. package/dist/data-table/layered-filters.d.ts +1 -1
  38. package/dist/data-table/query-control.cjs.map +1 -1
  39. package/dist/data-table/query-control.d.cts +1 -1
  40. package/dist/data-table/query-control.d.ts +1 -1
  41. package/dist/data-table/query-control.js.map +1 -1
  42. package/dist/data-table/types.cjs.map +1 -1
  43. package/dist/data-table/types.d.cts +1 -1
  44. package/dist/data-table/types.d.ts +1 -1
  45. package/dist/data-table/url-state.d.cts +1 -1
  46. package/dist/data-table/url-state.d.ts +1 -1
  47. package/dist/data-table/xlsx.cjs.map +1 -1
  48. package/dist/data-table/xlsx.d.cts +1 -1
  49. package/dist/data-table/xlsx.d.ts +1 -1
  50. package/dist/data-table/xlsx.js.map +1 -1
  51. package/dist/{types-DaKPLM6T.d.cts → types-BgqIKbhq.d.cts} +12 -1
  52. package/dist/{types-D9b_LfTB.d.ts → types-emLxze_m.d.ts} +12 -1
  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, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-DaKPLM6T.cjs';
4
- export { A as AnyOfColumnSearch, k as CellEditType, l as CellEditsMap, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, m as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, d as MatrxDataTableDensity, n as MatrxDataTableDetailConfig, o as MatrxDataTableEditConfig, p as MatrxDataTableEmptyState, q as MatrxDataTableExpandedDetailConfig, r as MatrxDataTableFilterUi, s as MatrxDataTableHierarchyConfig, t as MatrxDataTableHierarchyMove, u as MatrxDataTableMobileCardControls, v as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, w as MatrxDataTableSelectionConfig, x as MatrxDataTableSourceProcessing, y as MatrxDataTableToolbar, z as MatrxDataTableUrlStateConfig, B as MatrxDataTableWindowConfig, D as MatrxTablePagination, E as SortDirection, S as SortState, b as TableSavedViewsProps, T as TableSearchMatchMode, F as TableViewQuery, G as TextFilterMode, H as ToolbarFacet, I as rankTableSearchRows } from '../types-DaKPLM6T.cjs';
3
+ import { h as MatrxDataTableProps, i as TableViewSnapshot, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-BgqIKbhq.cjs';
4
+ export { A as AnyOfColumnSearch, k as CellEditType, l as CellEditsMap, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, m as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, d as MatrxDataTableDensity, n as MatrxDataTableDetailConfig, o as MatrxDataTableEditConfig, p as MatrxDataTableEmptyState, q as MatrxDataTableExpandedDetailConfig, r as MatrxDataTableFilterUi, s as MatrxDataTableHierarchyConfig, t as MatrxDataTableHierarchyMove, u as MatrxDataTableMobileCardControls, v as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, w as MatrxDataTableSelectionConfig, x as MatrxDataTableSourceProcessing, y as MatrxDataTableToolbar, z as MatrxDataTableUrlStateConfig, B as MatrxDataTableWindowConfig, D as MatrxTablePagination, E as SortDirection, S as SortState, F as TableRankedSearchOptions, b as TableSavedViewsProps, T as TableSearchMatchMode, G as TableSearchRole, H as TableSearchScope, I as TableViewQuery, J as TextFilterMode, K as ToolbarFacet, N as inferTableSearchRole, O as rankTableSearchRows, P as resolveTableSearchScopes } from '../types-BgqIKbhq.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, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-D9b_LfTB.js';
4
- export { A as AnyOfColumnSearch, k as CellEditType, l as CellEditsMap, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, m as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, d as MatrxDataTableDensity, n as MatrxDataTableDetailConfig, o as MatrxDataTableEditConfig, p as MatrxDataTableEmptyState, q as MatrxDataTableExpandedDetailConfig, r as MatrxDataTableFilterUi, s as MatrxDataTableHierarchyConfig, t as MatrxDataTableHierarchyMove, u as MatrxDataTableMobileCardControls, v as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, w as MatrxDataTableSelectionConfig, x as MatrxDataTableSourceProcessing, y as MatrxDataTableToolbar, z as MatrxDataTableUrlStateConfig, B as MatrxDataTableWindowConfig, D as MatrxTablePagination, E as SortDirection, S as SortState, b as TableSavedViewsProps, T as TableSearchMatchMode, F as TableViewQuery, G as TextFilterMode, H as ToolbarFacet, I as rankTableSearchRows } from '../types-D9b_LfTB.js';
3
+ import { h as MatrxDataTableProps, i as TableViewSnapshot, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-emLxze_m.js';
4
+ export { A as AnyOfColumnSearch, k as CellEditType, l as CellEditsMap, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, m as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, d as MatrxDataTableDensity, n as MatrxDataTableDetailConfig, o as MatrxDataTableEditConfig, p as MatrxDataTableEmptyState, q as MatrxDataTableExpandedDetailConfig, r as MatrxDataTableFilterUi, s as MatrxDataTableHierarchyConfig, t as MatrxDataTableHierarchyMove, u as MatrxDataTableMobileCardControls, v as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, w as MatrxDataTableSelectionConfig, x as MatrxDataTableSourceProcessing, y as MatrxDataTableToolbar, z as MatrxDataTableUrlStateConfig, B as MatrxDataTableWindowConfig, D as MatrxTablePagination, E as SortDirection, S as SortState, F as TableRankedSearchOptions, b as TableSavedViewsProps, T as TableSearchMatchMode, G as TableSearchRole, H as TableSearchScope, I as TableViewQuery, J as TextFilterMode, K as ToolbarFacet, N as inferTableSearchRole, O as rankTableSearchRows, P as resolveTableSearchScopes } from '../types-emLxze_m.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';
@@ -3174,6 +3174,7 @@ var outcomeMessage = (result) => {
3174
3174
  const success = result;
3175
3175
  return success.delivered === "action" ? success.message ?? "Action completed" : success.delivered === "download-started" ? "Download started" : success.message ?? "Copied";
3176
3176
  }
3177
+ if (result.status === "queued") return `${result.message} ${result.remedy}`;
3177
3178
  return result.status === "degraded" ? `Copied as plain text: ${result.reason}` : result.status === "cancelled" ? "Cancelled" : result.message;
3178
3179
  };
3179
3180
  var materialIds = /* @__PURE__ */ new WeakMap();
@@ -5134,8 +5135,12 @@ function passesColumnFilter(value, filter) {
5134
5135
  return Boolean(value) === filter.value;
5135
5136
  }
5136
5137
  case "number": {
5137
- const n = typeof value === "number" ? value : Number(stringifyCellValue(value).replace(/[^0-9.-]/g, ""));
5138
- if (Number.isNaN(n)) return false;
5138
+ const raw = stringifyCellValue(value).trim();
5139
+ if (raw === "") return false;
5140
+ const normalized = raw.replace(/[^0-9.-]/g, "");
5141
+ if (normalized === "") return false;
5142
+ const n = typeof value === "number" ? value : Number(normalized);
5143
+ if (!Number.isFinite(n)) return false;
5139
5144
  if (filter.min !== void 0 && n < filter.min) return false;
5140
5145
  if (filter.max !== void 0 && n > filter.max) return false;
5141
5146
  return true;
@@ -8962,7 +8967,7 @@ function MatrxDataTableCore({
8962
8967
  setInternalPage(next);
8963
8968
  };
8964
8969
  const [internalPageSize, setInternalPageSize] = useState21(
8965
- defaultPageSize === 0 ? Math.max(data.length, 1) : defaultPageSize
8970
+ defaultPageSize
8966
8971
  );
8967
8972
  const pageSize = controlledQuery ? controlledQuery.state.pageSize : internalPageSize;
8968
8973
  const setPageSize = (next) => {
@@ -10461,23 +10466,6 @@ function MatrxDataTableCore({
10461
10466
  "data-matrx-table-actions": true,
10462
10467
  className: "ml-auto flex min-w-0 flex-wrap items-center gap-0",
10463
10468
  children: [
10464
- sourceTotal !== void 0 ? /* @__PURE__ */ jsxs31(
10465
- "span",
10466
- {
10467
- "data-matrx-table-source-total": true,
10468
- className: "text-xs tabular-nums text-muted-foreground",
10469
- children: [
10470
- data.length.toLocaleString(),
10471
- " loaded of",
10472
- " ",
10473
- Math.max(0, sourceTotal).toLocaleString(),
10474
- " \xB7",
10475
- " ",
10476
- processed.length.toLocaleString(),
10477
- " matched"
10478
- ]
10479
- }
10480
- ) : null,
10481
10469
  /* @__PURE__ */ jsx41(
10482
10470
  TableToolbarAction,
10483
10471
  {
@@ -11310,14 +11298,14 @@ function MatrxDataTableCore({
11310
11298
  "div",
11311
11299
  {
11312
11300
  "data-matrx-table-footer": true,
11313
- className: "flex min-h-11 shrink-0 flex-wrap items-center gap-0 border-t border-border",
11301
+ className: "flex min-h-8 shrink-0 flex-wrap items-center gap-2 border-t border-border",
11314
11302
  "aria-busy": isLoading || isFetching,
11315
11303
  children: [
11316
11304
  /* @__PURE__ */ jsxs31(
11317
11305
  "div",
11318
11306
  {
11319
11307
  ...isFetching && !isLoading ? {} : { role: "status", "aria-live": "polite" },
11320
- className: "flex w-full min-w-0 items-center gap-2 text-xs text-muted-foreground sm:w-auto sm:flex-1 sm:text-sm",
11308
+ className: "flex w-full min-w-0 items-center gap-2 text-xs text-muted-foreground sm:w-auto sm:flex-1",
11321
11309
  children: [
11322
11310
  isLoading ? /* @__PURE__ */ jsx41(
11323
11311
  Loader2,
@@ -11327,15 +11315,19 @@ function MatrxDataTableCore({
11327
11315
  className: "h-5 w-5 shrink-0 animate-spin text-primary motion-reduce:animate-none"
11328
11316
  }
11329
11317
  ) : null,
11330
- /* @__PURE__ */ jsxs31("div", { className: "min-w-0 flex-1", children: [
11331
- /* @__PURE__ */ jsx41("p", { className: "font-medium text-foreground", children: isLoading ? "Loading rows\u2026" : `${formatCount3(data.length)} loaded${appendQuery.pagination.totalItems === void 0 ? "" : ` of ${formatCount3(appendQuery.pagination.totalItems)}`}` }),
11332
- appendQuery.pagination.sourceUntil ? /* @__PURE__ */ jsxs31("p", { children: [
11333
- "Source fixed through",
11334
- " ",
11335
- new Date(appendQuery.pagination.sourceUntil).toLocaleString(),
11336
- "."
11318
+ /* @__PURE__ */ jsxs31("div", { className: "flex min-w-0 flex-1 flex-wrap items-center gap-x-2", children: [
11319
+ /* @__PURE__ */ jsx41("p", { className: "min-w-0 break-words font-medium text-foreground", children: isLoading ? "Loading rows\u2026" : appendQuery.pagination.sourceRecords ? `${formatCount3(processed.length)} ${appendQuery.pagination.sourceRecords.rowLabel}${appendQuery.pagination.sourceRecords.matchedRecords === void 0 ? "" : ` (${formatCount3(appendQuery.pagination.sourceRecords.matchedRecords)} matching ${appendQuery.pagination.sourceRecords.label})`} \xB7 ${formatCount3(appendQuery.pagination.sourceRecords.loaded)}${appendQuery.pagination.sourceRecords.total === void 0 ? "" : ` / ${formatCount3(appendQuery.pagination.sourceRecords.total)}`} ${appendQuery.pagination.sourceRecords.label} loaded` : `${formatCount3(data.length)} loaded${appendQuery.pagination.totalItems === void 0 ? "" : ` of ${formatCount3(appendQuery.pagination.totalItems)}`}` }),
11320
+ appendQuery.pagination.sourceUntil || appendUsesLocalProcessing ? /* @__PURE__ */ jsxs31(Tooltip, { children: [
11321
+ /* @__PURE__ */ jsx41(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx41("button", { type: "button", "aria-label": "Source coverage", className: "shrink-0 text-xs text-muted-foreground underline decoration-dotted underline-offset-4", children: "Source info" }) }),
11322
+ /* @__PURE__ */ jsxs31(TooltipContent, { children: [
11323
+ appendQuery.pagination.sourceUntil ? /* @__PURE__ */ jsxs31("p", { children: [
11324
+ "Source fixed through ",
11325
+ new Date(appendQuery.pagination.sourceUntil).toLocaleString(),
11326
+ "."
11327
+ ] }) : null,
11328
+ /* @__PURE__ */ jsx41("p", { children: !isLoading && !isFetching && !appendQuery.pagination.loadAll?.isLoading && !scrollPagination.error && !appendQuery.pagination.hasNextPage && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? "All source rows are loaded." : appendUsesLocalProcessing ? "Local search and filters cover loaded rows." : "Source paging is active." })
11329
+ ] })
11337
11330
  ] }) : null,
11338
- !isLoading && !isFetching && !appendQuery.pagination.loadAll?.isLoading && !scrollPagination.error && !appendQuery.pagination.hasNextPage && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? /* @__PURE__ */ jsx41("p", { children: "All source rows are loaded." }) : appendUsesLocalProcessing ? /* @__PURE__ */ jsx41("p", { children: "Local search and filters cover loaded rows." }) : null,
11339
11331
  scrollPagination.error ? /* @__PURE__ */ jsx41("p", { role: "alert", className: "text-destructive", children: scrollPagination.error.message }) : null,
11340
11332
  appendScrollPolicy?.mode === "suspended" ? /* @__PURE__ */ jsxs31("p", { role: "status", children: [
11341
11333
  appendScrollPolicy.reason,
@@ -11355,7 +11347,7 @@ function MatrxDataTableCore({
11355
11347
  SelectTrigger,
11356
11348
  {
11357
11349
  "aria-label": "Rows per load",
11358
- className: "h-11 min-w-20 shrink-0 rounded-md border border-border bg-card px-3 text-sm [&_svg]:size-5",
11350
+ className: "h-8 min-w-20 shrink-0 rounded-md border border-border bg-card px-3 text-sm [&_svg]:size-5",
11359
11351
  disabled: isLoading || isFetching || appendQuery.pagination.loadAll?.isLoading,
11360
11352
  children: /* @__PURE__ */ jsx41(SelectValue, {})
11361
11353
  }
@@ -11369,7 +11361,7 @@ function MatrxDataTableCore({
11369
11361
  {
11370
11362
  type: "button",
11371
11363
  variant: "outline",
11372
- className: "h-11 shrink-0 px-3 text-sm",
11364
+ className: "h-8 shrink-0 px-3 text-sm",
11373
11365
  onClick: appendQuery.pagination.loadAll.stop,
11374
11366
  children: "Stop loading"
11375
11367
  }
@@ -11378,7 +11370,7 @@ function MatrxDataTableCore({
11378
11370
  {
11379
11371
  type: "button",
11380
11372
  variant: "outline",
11381
- className: "h-11 shrink-0 px-3 text-sm",
11373
+ className: "h-8 shrink-0 px-3 text-sm",
11382
11374
  onClick: appendQuery.pagination.retrySource ?? (appendQuery.pagination.hasNextPage ? appendQuery.pagination.loadNextPage : appendQuery.pagination.refresh),
11383
11375
  children: appendQuery.pagination.retrySource ? "Retry source" : appendQuery.pagination.hasNextPage ? "Retry" : "Reload rows"
11384
11376
  }
@@ -11388,7 +11380,7 @@ function MatrxDataTableCore({
11388
11380
  {
11389
11381
  type: "button",
11390
11382
  variant: "outline",
11391
- className: "h-11 px-3 text-sm",
11383
+ className: "h-8 px-3 text-sm",
11392
11384
  disabled: isLoading || isFetching,
11393
11385
  onClick: () => void scrollPagination.requestNextPage(),
11394
11386
  children: "Load more"
@@ -11399,7 +11391,7 @@ function MatrxDataTableCore({
11399
11391
  {
11400
11392
  type: "button",
11401
11393
  variant: "ghost",
11402
- className: "h-11 px-3 text-sm",
11394
+ className: "h-8 px-3 text-sm",
11403
11395
  disabled: isLoading || isFetching,
11404
11396
  onClick: appendQuery.pagination.loadAll.request,
11405
11397
  children: "Load all"
@@ -11408,10 +11400,11 @@ function MatrxDataTableCore({
11408
11400
  ] }) : !isLoading && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? /* @__PURE__ */ jsx41("span", { className: "min-w-0 max-w-full break-words whitespace-normal px-3 text-xs text-muted-foreground sm:text-sm", children: "All rows loaded" }) : null
11409
11401
  ]
11410
11402
  }
11411
- ) : !hidePagination && totalItems > 0 ? /* @__PURE__ */ jsx41("div", { className: "shrink-0", children: /* @__PURE__ */ jsx41(
11403
+ ) : !hidePagination && (totalItems > 0 || sourceTotal !== void 0) ? /* @__PURE__ */ jsx41("div", { className: "shrink-0", children: /* @__PURE__ */ jsx41(
11412
11404
  GenericTablePagination,
11413
11405
  {
11414
11406
  totalItems,
11407
+ ...sourceTotal === void 0 ? {} : { labelFormat: (start, end, total) => `${formatCount3(start)}\u2013${formatCount3(end)} of ${formatCount3(total)} matching \xB7 ${formatCount3(data.length)} / ${formatCount3(sourceTotal)} loaded` },
11415
11408
  ...localProgressiveEnabled ? { progressive: {
11416
11409
  shownCount: progressiveRows.shownCount,
11417
11410
  loadedCount: data.length,
@@ -12237,10 +12230,12 @@ export {
12237
12230
  collectSelectOptions,
12238
12231
  downloadTableAsXlsx,
12239
12232
  filterKindLabel,
12233
+ inferTableSearchRole,
12240
12234
  parseTableViewSnapshot,
12241
12235
  rankTableSearchRows,
12242
12236
  resolveColumnMarker,
12243
12237
  resolveFilterKind,
12238
+ resolveTableSearchScopes,
12244
12239
  rowsToCsvFromColumns,
12245
12240
  rowsToMarkdownTable,
12246
12241
  rowsToRecordsFromColumns,