@ai-matrx/design-system 0.36.0 → 0.37.1

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.
@@ -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-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';
3
+ import { h as MatrxDataTableProps, i as TableViewSnapshot, d as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-BuMHbFjs.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-BuMHbFjs.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-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';
3
+ import { h as MatrxDataTableProps, i as TableViewSnapshot, d as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-B8vwElPz.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-B8vwElPz.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';
@@ -12079,6 +12079,7 @@ function MatrxDataTableCore({
12079
12079
  toolbar,
12080
12080
  hideToolbar = false,
12081
12081
  hidePagination = false,
12082
+ paginationLabelFormat,
12082
12083
  filterUi,
12083
12084
  detail,
12084
12085
  expandedDetail,
@@ -13115,7 +13116,7 @@ function MatrxDataTableCore({
13115
13116
  const coverageResult = useMemo8(() => {
13116
13117
  if (!coverage) return null;
13117
13118
  return describeCoverage({
13118
- loaded: data.length,
13119
+ loaded: coverage.loaded ?? data.length,
13119
13120
  ...coverage.matched === void 0 ? {} : { matched: coverage.matched },
13120
13121
  ...coverage.total === void 0 ? {} : { total: coverage.total },
13121
13122
  ...coverage.cap === void 0 ? {} : { cap: coverage.cap },
@@ -14118,11 +14119,12 @@ function MatrxDataTableCore({
14118
14119
  notice,
14119
14120
  savedViewError ? /* @__PURE__ */ jsx42("p", { role: "alert", className: "shrink-0 text-xs text-destructive", children: savedViewError }) : null,
14120
14121
  toolbarActionError ? /* @__PURE__ */ jsx42("p", { role: "alert", className: "shrink-0 text-xs text-destructive", children: toolbarActionError }) : null,
14121
- !hideToolbar && (viewTabs || toolbar?.title || showSearch || toolbar?.anyOf || toolbar?.layeredFilters || toolbar?.facets && toolbar.facets.length > 0 || toolbar?.leading || toolbar?.actions || toolbar?.refresh || toolbar?.add || tableId && SavedViews || hasActiveFilters || showToolbarCopy || columns.length > 0) && /* @__PURE__ */ jsxs32(
14122
+ !hideToolbar && (viewTabs || toolbar?.title || toolbar?.titleCount || showSearch || toolbar?.customSearch || toolbar?.anyOf || toolbar?.layeredFilters || toolbar?.facets && toolbar.facets.length > 0 || toolbar?.leading || toolbar?.actions || toolbar?.refresh || toolbar?.add || tableId && SavedViews || hasActiveFilters || showToolbarCopy || columns.length > 0) && /* @__PURE__ */ jsxs32(
14122
14123
  TableTitleRow,
14123
14124
  {
14124
14125
  tabs: viewTabs ? /* @__PURE__ */ jsx42(TableViewWorkspace, { snapshot: currentViewSnapshot, onApply: applySavedView, related: relatedTableActions }, tableId ?? "table") : void 0,
14125
14126
  ...toolbar?.title === void 0 ? {} : { title: toolbar.title },
14127
+ ...toolbar?.titleCount === void 0 ? {} : { count: toolbar.titleCount },
14126
14128
  context: tableId && SavedViews ? /* @__PURE__ */ jsx42("span", { "data-matrx-table-view-control": true, children: /* @__PURE__ */ jsx42(
14127
14129
  SavedViews,
14128
14130
  {
@@ -14132,7 +14134,7 @@ function MatrxDataTableCore({
14132
14134
  onApply: applySavedView
14133
14135
  }
14134
14136
  ) }) : void 0,
14135
- search: showSearch ? intelligentSearchEnabled ? /* @__PURE__ */ jsx42(
14137
+ search: toolbar?.customSearch ?? (showSearch ? intelligentSearchEnabled ? /* @__PURE__ */ jsx42(
14136
14138
  TableSearch,
14137
14139
  {
14138
14140
  value: searchValue,
@@ -14203,7 +14205,7 @@ function MatrxDataTableCore({
14203
14205
  ] }) : null
14204
14206
  ]
14205
14207
  }
14206
- ) : null,
14208
+ ) : null),
14207
14209
  children: [
14208
14210
  toolbar?.layeredFilters ? /* @__PURE__ */ jsx42(
14209
14211
  LayeredFilterBuilder,
@@ -14857,6 +14859,7 @@ function MatrxDataTableCore({
14857
14859
  leadingCols,
14858
14860
  showActionsCol,
14859
14861
  rowNoun: grouping?.rowNoun ?? "row",
14862
+ ...grouping?.renderLabel ? { renderLabel: grouping.renderLabel } : {},
14860
14863
  onToggle: () => setCollapsedGroups(toggleGroupCollapsed(collapsedGroups, entry.group.key))
14861
14864
  },
14862
14865
  `matrx-group-${entry.group.key}`
@@ -15030,7 +15033,7 @@ function MatrxDataTableCore({
15030
15033
  "div",
15031
15034
  {
15032
15035
  className: cn(
15033
- colIdx === 0 && hierarchy && "flex min-w-0 items-center"
15036
+ colIdx === 0 && (hierarchy || canExpandRow(row)) && "flex min-w-0 items-center"
15034
15037
  ),
15035
15038
  children: [
15036
15039
  colIdx === 0 && hierarchy ? /* @__PURE__ */ jsx42(
@@ -15041,6 +15044,40 @@ function MatrxDataTableCore({
15041
15044
  disabled: !(hierarchy.canReparent?.(row) ?? true)
15042
15045
  }
15043
15046
  ) : null,
15047
+ colIdx === 0 && canExpandRow(row) ? /* @__PURE__ */ jsxs32(Tooltip, { children: [
15048
+ /* @__PURE__ */ jsx42(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx42(
15049
+ Button,
15050
+ {
15051
+ type: "button",
15052
+ variant: "ghost",
15053
+ size: "icon",
15054
+ "data-matrx-table-expand-toggle": true,
15055
+ className: "mr-1 h-7 w-7 shrink-0 text-muted-foreground hover:text-foreground [&_svg]:size-4",
15056
+ "aria-label": isRowExpanded(row) ? "Collapse row details" : "Expand row details",
15057
+ "aria-expanded": isRowExpanded(row),
15058
+ onClick: (event) => {
15059
+ event.stopPropagation();
15060
+ toggleExpanded(row);
15061
+ },
15062
+ onKeyDown: (event) => {
15063
+ if (event.key !== "Enter" && event.key !== " ") return;
15064
+ event.preventDefault();
15065
+ event.stopPropagation();
15066
+ toggleExpanded(row);
15067
+ },
15068
+ children: /* @__PURE__ */ jsx42(
15069
+ ChevronRight,
15070
+ {
15071
+ className: cn(
15072
+ "transition-transform",
15073
+ isRowExpanded(row) && "rotate-90"
15074
+ )
15075
+ }
15076
+ )
15077
+ }
15078
+ ) }),
15079
+ /* @__PURE__ */ jsx42(TooltipContent, { children: isRowExpanded(row) ? "Collapse details" : "Expand details" })
15080
+ ] }) : null,
15044
15081
  /* @__PURE__ */ jsx42(
15045
15082
  "div",
15046
15083
  {
@@ -15383,7 +15420,7 @@ function MatrxDataTableCore({
15383
15420
  GenericTablePagination,
15384
15421
  {
15385
15422
  totalItems,
15386
- ...sourceTotal === void 0 ? {} : { labelFormat: (start, end, total) => `${formatCount3(start)}\u2013${formatCount3(end)} of ${formatCount3(total)} matching \xB7 ${formatCount3(data.length)} / ${formatCount3(sourceTotal)} loaded` },
15423
+ ...paginationLabelFormat ? { labelFormat: paginationLabelFormat } : sourceTotal === void 0 ? {} : { labelFormat: (start, end, total) => `${formatCount3(start)}\u2013${formatCount3(end)} of ${formatCount3(total)} matching \xB7 ${formatCount3(data.length)} / ${formatCount3(sourceTotal)} loaded` },
15387
15424
  ...localProgressiveEnabled ? { progressive: {
15388
15425
  shownCount: progressiveRows.shownCount,
15389
15426
  loadedCount: data.length,
@@ -15901,6 +15938,7 @@ function TableGroupHeaderRow({
15901
15938
  leadingCols,
15902
15939
  showActionsCol,
15903
15940
  rowNoun,
15941
+ renderLabel,
15904
15942
  onToggle
15905
15943
  }) {
15906
15944
  const count = group.rows.length;
@@ -15931,7 +15969,7 @@ function TableGroupHeaderRow({
15931
15969
  children: collapsed ? /* @__PURE__ */ jsx42(ChevronRight, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx42(ChevronDown, { className: "h-4 w-4" })
15932
15970
  }
15933
15971
  ),
15934
- /* @__PURE__ */ jsx42("span", { className: "truncate text-sm font-semibold text-foreground", children: group.label }),
15972
+ renderLabel ? renderLabel(group) : /* @__PURE__ */ jsx42("span", { className: "truncate text-sm font-semibold text-foreground", children: group.label }),
15935
15973
  /* @__PURE__ */ jsx42("span", { className: "whitespace-nowrap text-xs text-muted-foreground", children: summary })
15936
15974
  ] }) }, id);
15937
15975
  }