@ai-matrx/design-system 0.21.7 → 0.21.9

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 (45) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/data-table/copy-helpers.cjs.map +1 -1
  3. package/dist/data-table/copy-helpers.d.cts +1 -1
  4. package/dist/data-table/copy-helpers.d.ts +1 -1
  5. package/dist/data-table/copy-helpers.js.map +1 -1
  6. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  7. package/dist/data-table/data-row-inspector.js.map +1 -1
  8. package/dist/data-table/data-row-window.cjs.map +1 -1
  9. package/dist/data-table/data-row-window.js.map +1 -1
  10. package/dist/data-table/filter-engine.cjs +8 -3
  11. package/dist/data-table/filter-engine.cjs.map +1 -1
  12. package/dist/data-table/filter-engine.d.cts +4 -2
  13. package/dist/data-table/filter-engine.d.ts +4 -2
  14. package/dist/data-table/filter-engine.js +8 -3
  15. package/dist/data-table/filter-engine.js.map +1 -1
  16. package/dist/data-table/host.d.cts +1 -1
  17. package/dist/data-table/host.d.ts +1 -1
  18. package/dist/data-table/index.cjs +23 -8
  19. package/dist/data-table/index.cjs.map +1 -1
  20. package/dist/data-table/index.d.cts +2 -2
  21. package/dist/data-table/index.d.ts +2 -2
  22. package/dist/data-table/index.js +23 -8
  23. package/dist/data-table/index.js.map +1 -1
  24. package/dist/data-table/infer-filter.cjs.map +1 -1
  25. package/dist/data-table/infer-filter.d.cts +1 -1
  26. package/dist/data-table/infer-filter.d.ts +1 -1
  27. package/dist/data-table/infer-filter.js.map +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.cjs.map +1 -1
  31. package/dist/data-table/query-control.d.cts +1 -1
  32. package/dist/data-table/query-control.d.ts +1 -1
  33. package/dist/data-table/query-control.js.map +1 -1
  34. package/dist/data-table/types.cjs.map +1 -1
  35. package/dist/data-table/types.d.cts +1 -1
  36. package/dist/data-table/types.d.ts +1 -1
  37. package/dist/data-table/url-state.d.cts +1 -1
  38. package/dist/data-table/url-state.d.ts +1 -1
  39. package/dist/data-table/xlsx.cjs.map +1 -1
  40. package/dist/data-table/xlsx.d.cts +1 -1
  41. package/dist/data-table/xlsx.d.ts +1 -1
  42. package/dist/data-table/xlsx.js.map +1 -1
  43. package/dist/{types-DsmrqJHN.d.cts → types-CqA8mpjE.d.cts} +1 -1
  44. package/dist/{types-Dpl8OW_m.d.ts → types-CuTdr8mW.d.ts} +1 -1
  45. 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-DsmrqJHN.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 MatrxDataTableFilterUi, r as MatrxDataTableHierarchyConfig, s as MatrxDataTableHierarchyMove, t as MatrxDataTableMobileCardControls, u as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, v as MatrxDataTableSelectionConfig, w as MatrxDataTableSourceProcessing, x as MatrxDataTableToolbar, y as MatrxDataTableUrlStateConfig, z as MatrxDataTableWindowConfig, B as MatrxTablePagination, D as SortDirection, S as SortState, b as TableSavedViewsProps, T as TableSearchMatchMode, E as TableViewQuery, F as TextFilterMode, G as ToolbarFacet } from '../types-DsmrqJHN.cjs';
3
+ import { h as MatrxDataTableProps, i as TableViewSnapshot, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-CqA8mpjE.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 MatrxDataTableFilterUi, r as MatrxDataTableHierarchyConfig, s as MatrxDataTableHierarchyMove, t as MatrxDataTableMobileCardControls, u as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, v as MatrxDataTableSelectionConfig, w as MatrxDataTableSourceProcessing, x as MatrxDataTableToolbar, y as MatrxDataTableUrlStateConfig, z as MatrxDataTableWindowConfig, B as MatrxTablePagination, D as SortDirection, S as SortState, b as TableSavedViewsProps, T as TableSearchMatchMode, E as TableViewQuery, F as TextFilterMode, G as ToolbarFacet } from '../types-CqA8mpjE.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-Dpl8OW_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 MatrxDataTableFilterUi, r as MatrxDataTableHierarchyConfig, s as MatrxDataTableHierarchyMove, t as MatrxDataTableMobileCardControls, u as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, v as MatrxDataTableSelectionConfig, w as MatrxDataTableSourceProcessing, x as MatrxDataTableToolbar, y as MatrxDataTableUrlStateConfig, z as MatrxDataTableWindowConfig, B as MatrxTablePagination, D as SortDirection, S as SortState, b as TableSavedViewsProps, T as TableSearchMatchMode, E as TableViewQuery, F as TextFilterMode, G as ToolbarFacet } from '../types-Dpl8OW_m.js';
3
+ import { h as MatrxDataTableProps, i as TableViewSnapshot, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-CuTdr8mW.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 MatrxDataTableFilterUi, r as MatrxDataTableHierarchyConfig, s as MatrxDataTableHierarchyMove, t as MatrxDataTableMobileCardControls, u as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, v as MatrxDataTableSelectionConfig, w as MatrxDataTableSourceProcessing, x as MatrxDataTableToolbar, y as MatrxDataTableUrlStateConfig, z as MatrxDataTableWindowConfig, B as MatrxTablePagination, D as SortDirection, S as SortState, b as TableSavedViewsProps, T as TableSearchMatchMode, E as TableViewQuery, F as TextFilterMode, G as ToolbarFacet } from '../types-CuTdr8mW.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';
@@ -5031,6 +5031,7 @@ function layeredFilterRuleSummary(rule, fields) {
5031
5031
  // src/data-table/filter-engine.ts
5032
5032
  var SELECT_EMPTY_VALUE = "__empty__";
5033
5033
  var SELECT_NOT_EMPTY_VALUE = "__not_empty__";
5034
+ var SELECT_NULL_VALUE = "__null__";
5034
5035
  function columnId(col) {
5035
5036
  if (col.id) return col.id;
5036
5037
  if (col.accessorKey) return String(col.accessorKey);
@@ -5105,11 +5106,14 @@ function passesColumnFilter(value, filter) {
5105
5106
  return s.toLowerCase().includes(q);
5106
5107
  }
5107
5108
  case "select": {
5109
+ if (filter.values !== void 0 && filter.values.length === 0) {
5110
+ return false;
5111
+ }
5108
5112
  const selected = filter.values ?? (filter.value && filter.value !== "__all__" ? [filter.value] : []);
5109
5113
  if (selected.length === 0) return true;
5110
5114
  const values = selectCellValues(value);
5111
5115
  return selected.some(
5112
- (v) => v === SELECT_EMPTY_VALUE ? values.length === 0 : v === SELECT_NOT_EMPTY_VALUE ? values.length > 0 : values.includes(v)
5116
+ (v) => v === SELECT_NULL_VALUE ? value == null : v === SELECT_EMPTY_VALUE ? values.length === 0 : v === SELECT_NOT_EMPTY_VALUE ? values.length > 0 : values.includes(v)
5113
5117
  );
5114
5118
  }
5115
5119
  case "boolean": {
@@ -5190,7 +5194,7 @@ function countActiveColumnFilters(filters) {
5190
5194
  if (f.value.trim() || f.mode && f.mode !== "contains") n += 1;
5191
5195
  break;
5192
5196
  case "select":
5193
- if (f.values ? f.values.length > 0 : f.value && f.value !== "__all__")
5197
+ if (f.values !== void 0 || f.value && f.value !== "__all__")
5194
5198
  n += 1;
5195
5199
  break;
5196
5200
  case "boolean":
@@ -5209,7 +5213,7 @@ function isColumnFilterActive(filter) {
5209
5213
  case "text":
5210
5214
  return filter.value.trim().length > 0 || filter.mode !== void 0 && filter.mode !== "contains";
5211
5215
  case "select":
5212
- return filter.values ? filter.values.length > 0 : Boolean(filter.value) && filter.value !== "__all__";
5216
+ return filter.values !== void 0 ? true : Boolean(filter.value) && filter.value !== "__all__";
5213
5217
  case "boolean":
5214
5218
  return true;
5215
5219
  case "number":
@@ -6363,9 +6367,7 @@ function SearchableSelectFilter({
6363
6367
  return;
6364
6368
  }
6365
6369
  const next = selected.includes(v) ? selected.filter((x) => x !== v) : [...selected, v];
6366
- onChange(
6367
- next.length === 0 ? void 0 : { kind: "select", value: next[0] ?? "", values: next }
6368
- );
6370
+ onChange({ kind: "select", value: next[0] ?? "", values: next });
6369
6371
  };
6370
6372
  return /* @__PURE__ */ jsxs22("div", { className: "space-y-1 px-0", children: [
6371
6373
  /* @__PURE__ */ jsxs22("div", { className: "flex items-center justify-between px-1 pb-1", children: [
@@ -6401,7 +6403,17 @@ function SearchableSelectFilter({
6401
6403
  CommandItem,
6402
6404
  {
6403
6405
  value: "__all__",
6404
- onSelect: () => onChange(void 0),
6406
+ onSelect: () => single ? onChange(void 0) : onChange({
6407
+ kind: "select",
6408
+ value: options.find(
6409
+ (option) => option.value !== SELECT_NOT_EMPTY_VALUE
6410
+ )?.value ?? "",
6411
+ // `(not empty)` matches every populated value. Including
6412
+ // it would make unchecking a concrete value ineffective.
6413
+ values: options.filter(
6414
+ (option) => option.value !== SELECT_NOT_EMPTY_VALUE
6415
+ ).map((option) => option.value)
6416
+ }),
6405
6417
  className: "text-xs",
6406
6418
  children: "All"
6407
6419
  }
@@ -6421,6 +6433,9 @@ function SearchableSelectFilter({
6421
6433
  /* @__PURE__ */ jsx31(
6422
6434
  "span",
6423
6435
  {
6436
+ role: single ? "radio" : "checkbox",
6437
+ "aria-label": o.label,
6438
+ "aria-checked": active,
6424
6439
  className: cn(
6425
6440
  "flex h-3.5 w-3.5 shrink-0 items-center justify-center border",
6426
6441
  single ? "rounded-full" : "rounded-sm",
@@ -8748,7 +8763,7 @@ function MatrxDataTableCore({
8748
8763
  const appendQueryKey = appendQuery?.pagination.queryKey ?? null;
8749
8764
  const committedAppendQueryKey = useRef13(appendQueryKey);
8750
8765
  const appendSourceChanged = appendQuery !== null && committedAppendQueryKey.current !== appendQueryKey;
8751
- const data = appendQuery ? appendQuery.pagination.rows : suppliedData;
8766
+ const data = (appendQuery ? appendQuery.pagination.rows : suppliedData) ?? [];
8752
8767
  const isLoading = appendQuery ? appendQuery.pagination.loading : suppliedLoading;
8753
8768
  const isFetching = appendQuery ? appendQuery.pagination.isFetchingNextPage : suppliedFetching;
8754
8769
  const host = useMatrxDataTableHost();