@ai-matrx/design-system 0.61.2 → 0.61.4

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 (37) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/controls.cjs +11 -2
  3. package/dist/controls.cjs.map +1 -1
  4. package/dist/controls.css +40 -3
  5. package/dist/controls.d.cts +11 -2
  6. package/dist/controls.d.ts +11 -2
  7. package/dist/controls.js +11 -2
  8. package/dist/controls.js.map +1 -1
  9. package/dist/data-table/copy-helpers.d.cts +1 -1
  10. package/dist/data-table/copy-helpers.d.ts +1 -1
  11. package/dist/data-table/filter-engine.d.cts +1 -1
  12. package/dist/data-table/filter-engine.d.ts +1 -1
  13. package/dist/data-table/host.d.cts +1 -1
  14. package/dist/data-table/host.d.ts +1 -1
  15. package/dist/data-table/index.cjs +48 -28
  16. package/dist/data-table/index.cjs.map +1 -1
  17. package/dist/data-table/index.d.cts +2 -2
  18. package/dist/data-table/index.d.ts +2 -2
  19. package/dist/data-table/index.js +48 -28
  20. package/dist/data-table/index.js.map +1 -1
  21. package/dist/data-table/infer-filter.d.cts +1 -1
  22. package/dist/data-table/infer-filter.d.ts +1 -1
  23. package/dist/data-table/layered-filters.d.cts +1 -1
  24. package/dist/data-table/layered-filters.d.ts +1 -1
  25. package/dist/data-table/query-control.d.cts +1 -1
  26. package/dist/data-table/query-control.d.ts +1 -1
  27. package/dist/data-table/types.cjs.map +1 -1
  28. package/dist/data-table/types.d.cts +1 -1
  29. package/dist/data-table/types.d.ts +1 -1
  30. package/dist/data-table/url-state.d.cts +1 -1
  31. package/dist/data-table/url-state.d.ts +1 -1
  32. package/dist/data-table/xlsx.d.cts +1 -1
  33. package/dist/data-table/xlsx.d.ts +1 -1
  34. package/dist/{layered-filters-CkkbZfmk.d.ts → layered-filters-CCWzLsOC.d.ts} +4 -0
  35. package/dist/{layered-filters-dlFZjEqc.d.cts → layered-filters-DL5BU8Mf.d.cts} +4 -0
  36. package/dist/tap-target.css +6 -0
  37. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { h as MatrxTableIconAction, i as MatrxDataTableProps, j as MatrxDataTableAppearance, k as TableViewSnapshot, d as MatrxDataTableRecordControls, l as MatrxDataTableRead, m as ColumnMarker, M as MatrxColumnDef } from '../layered-filters-dlFZjEqc.cjs';
2
- export { A as AnyOfColumnSearch, n as CellEditType, o as CellEditsMap, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, p as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, q as MatrxDataTableCoverageConfig, c as MatrxDataTableDensity, r as MatrxDataTableDetailConfig, s as MatrxDataTableDrillConfig, t as MatrxDataTableEditConfig, u as MatrxDataTableEmptyState, v as MatrxDataTableExpandedDetailConfig, w as MatrxDataTableFacetsConfig, x as MatrxDataTableFilterUi, y as MatrxDataTableGroupingConfig, z as MatrxDataTableHierarchyConfig, B as MatrxDataTableHierarchyMove, D as MatrxDataTableMobileCardControls, E as MatrxDataTableMultiExpandedDetailConfig, F as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, G as MatrxDataTableReadStatus, H as MatrxDataTableSelectionConfig, I as MatrxDataTableSingleExpandedDetailConfig, J as MatrxDataTableSourceProcessing, K as MatrxDataTableSpreadsheetConfig, N as MatrxDataTableStyleConfig, O as MatrxDataTableSummaryConfig, P as MatrxDataTableSummaryContext, Q as MatrxDataTableSummaryMetric, R as MatrxDataTableToolbar, U as MatrxDataTableUrlStateConfig, V as MatrxDataTableVirtualizeConfig, W as MatrxDataTableWindowConfig, X as MatrxTablePagination, Y as NumberFilterOp, Z as SavedTableViewTab, _ as SortDirection, S as SortState, $ as SpreadsheetSelection, a0 as TableRankedSearchOptions, b as TableSavedViewsProps, a1 as TableScopeBar, a2 as TableScopeBarProps, a3 as TableScopeFilter, a4 as TableScopeLane, a5 as TableScopeOption, T as TableSearchMatchMode, a6 as TableSearchRole, a7 as TableSearchScope, a8 as TableViewQuery, a9 as TableViewTab, aa as TableViewTabs, ab as TableViewTabsProps, ac as TableViewTabsStore, ad as TextFilterMode, ae as ToolbarFacet, af as inferTableSearchRole, ag as rankTableSearchRows, ah as resolveTableSearchScopes } from '../layered-filters-dlFZjEqc.cjs';
1
+ import { h as MatrxTableIconAction, i as MatrxDataTableProps, j as MatrxDataTableAppearance, k as TableViewSnapshot, d as MatrxDataTableRecordControls, l as MatrxDataTableRead, m as ColumnMarker, M as MatrxColumnDef } from '../layered-filters-DL5BU8Mf.cjs';
2
+ export { A as AnyOfColumnSearch, n as CellEditType, o as CellEditsMap, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, p as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, q as MatrxDataTableCoverageConfig, c as MatrxDataTableDensity, r as MatrxDataTableDetailConfig, s as MatrxDataTableDrillConfig, t as MatrxDataTableEditConfig, u as MatrxDataTableEmptyState, v as MatrxDataTableExpandedDetailConfig, w as MatrxDataTableFacetsConfig, x as MatrxDataTableFilterUi, y as MatrxDataTableGroupingConfig, z as MatrxDataTableHierarchyConfig, B as MatrxDataTableHierarchyMove, D as MatrxDataTableMobileCardControls, E as MatrxDataTableMultiExpandedDetailConfig, F as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, G as MatrxDataTableReadStatus, H as MatrxDataTableSelectionConfig, I as MatrxDataTableSingleExpandedDetailConfig, J as MatrxDataTableSourceProcessing, K as MatrxDataTableSpreadsheetConfig, N as MatrxDataTableStyleConfig, O as MatrxDataTableSummaryConfig, P as MatrxDataTableSummaryContext, Q as MatrxDataTableSummaryMetric, R as MatrxDataTableToolbar, U as MatrxDataTableUrlStateConfig, V as MatrxDataTableVirtualizeConfig, W as MatrxDataTableWindowConfig, X as MatrxTablePagination, Y as NumberFilterOp, Z as SavedTableViewTab, _ as SortDirection, S as SortState, $ as SpreadsheetSelection, a0 as TableRankedSearchOptions, b as TableSavedViewsProps, a1 as TableScopeBar, a2 as TableScopeBarProps, a3 as TableScopeFilter, a4 as TableScopeLane, a5 as TableScopeOption, T as TableSearchMatchMode, a6 as TableSearchRole, a7 as TableSearchScope, a8 as TableViewQuery, a9 as TableViewTab, aa as TableViewTabs, ab as TableViewTabsProps, ac as TableViewTabsStore, ad as TextFilterMode, ae as ToolbarFacet, af as inferTableSearchRole, ag as rankTableSearchRows, ah as resolveTableSearchScopes } from '../layered-filters-DL5BU8Mf.cjs';
3
3
  import * as React from 'react';
4
4
  import { ReactNode } from 'react';
5
5
  import { TableReadFailureProps, TableStaleNoticeProps } from './host.cjs';
@@ -1,5 +1,5 @@
1
- import { h as MatrxTableIconAction, i as MatrxDataTableProps, j as MatrxDataTableAppearance, k as TableViewSnapshot, d as MatrxDataTableRecordControls, l as MatrxDataTableRead, m as ColumnMarker, M as MatrxColumnDef } from '../layered-filters-CkkbZfmk.js';
2
- export { A as AnyOfColumnSearch, n as CellEditType, o as CellEditsMap, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, p as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, q as MatrxDataTableCoverageConfig, c as MatrxDataTableDensity, r as MatrxDataTableDetailConfig, s as MatrxDataTableDrillConfig, t as MatrxDataTableEditConfig, u as MatrxDataTableEmptyState, v as MatrxDataTableExpandedDetailConfig, w as MatrxDataTableFacetsConfig, x as MatrxDataTableFilterUi, y as MatrxDataTableGroupingConfig, z as MatrxDataTableHierarchyConfig, B as MatrxDataTableHierarchyMove, D as MatrxDataTableMobileCardControls, E as MatrxDataTableMultiExpandedDetailConfig, F as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, G as MatrxDataTableReadStatus, H as MatrxDataTableSelectionConfig, I as MatrxDataTableSingleExpandedDetailConfig, J as MatrxDataTableSourceProcessing, K as MatrxDataTableSpreadsheetConfig, N as MatrxDataTableStyleConfig, O as MatrxDataTableSummaryConfig, P as MatrxDataTableSummaryContext, Q as MatrxDataTableSummaryMetric, R as MatrxDataTableToolbar, U as MatrxDataTableUrlStateConfig, V as MatrxDataTableVirtualizeConfig, W as MatrxDataTableWindowConfig, X as MatrxTablePagination, Y as NumberFilterOp, Z as SavedTableViewTab, _ as SortDirection, S as SortState, $ as SpreadsheetSelection, a0 as TableRankedSearchOptions, b as TableSavedViewsProps, a1 as TableScopeBar, a2 as TableScopeBarProps, a3 as TableScopeFilter, a4 as TableScopeLane, a5 as TableScopeOption, T as TableSearchMatchMode, a6 as TableSearchRole, a7 as TableSearchScope, a8 as TableViewQuery, a9 as TableViewTab, aa as TableViewTabs, ab as TableViewTabsProps, ac as TableViewTabsStore, ad as TextFilterMode, ae as ToolbarFacet, af as inferTableSearchRole, ag as rankTableSearchRows, ah as resolveTableSearchScopes } from '../layered-filters-CkkbZfmk.js';
1
+ import { h as MatrxTableIconAction, i as MatrxDataTableProps, j as MatrxDataTableAppearance, k as TableViewSnapshot, d as MatrxDataTableRecordControls, l as MatrxDataTableRead, m as ColumnMarker, M as MatrxColumnDef } from '../layered-filters-CCWzLsOC.js';
2
+ export { A as AnyOfColumnSearch, n as CellEditType, o as CellEditsMap, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, p as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, q as MatrxDataTableCoverageConfig, c as MatrxDataTableDensity, r as MatrxDataTableDetailConfig, s as MatrxDataTableDrillConfig, t as MatrxDataTableEditConfig, u as MatrxDataTableEmptyState, v as MatrxDataTableExpandedDetailConfig, w as MatrxDataTableFacetsConfig, x as MatrxDataTableFilterUi, y as MatrxDataTableGroupingConfig, z as MatrxDataTableHierarchyConfig, B as MatrxDataTableHierarchyMove, D as MatrxDataTableMobileCardControls, E as MatrxDataTableMultiExpandedDetailConfig, F as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, G as MatrxDataTableReadStatus, H as MatrxDataTableSelectionConfig, I as MatrxDataTableSingleExpandedDetailConfig, J as MatrxDataTableSourceProcessing, K as MatrxDataTableSpreadsheetConfig, N as MatrxDataTableStyleConfig, O as MatrxDataTableSummaryConfig, P as MatrxDataTableSummaryContext, Q as MatrxDataTableSummaryMetric, R as MatrxDataTableToolbar, U as MatrxDataTableUrlStateConfig, V as MatrxDataTableVirtualizeConfig, W as MatrxDataTableWindowConfig, X as MatrxTablePagination, Y as NumberFilterOp, Z as SavedTableViewTab, _ as SortDirection, S as SortState, $ as SpreadsheetSelection, a0 as TableRankedSearchOptions, b as TableSavedViewsProps, a1 as TableScopeBar, a2 as TableScopeBarProps, a3 as TableScopeFilter, a4 as TableScopeLane, a5 as TableScopeOption, T as TableSearchMatchMode, a6 as TableSearchRole, a7 as TableSearchScope, a8 as TableViewQuery, a9 as TableViewTab, aa as TableViewTabs, ab as TableViewTabsProps, ac as TableViewTabsStore, ad as TextFilterMode, ae as ToolbarFacet, af as inferTableSearchRole, ag as rankTableSearchRows, ah as resolveTableSearchScopes } from '../layered-filters-CCWzLsOC.js';
3
3
  import * as React from 'react';
4
4
  import { ReactNode } from 'react';
5
5
  import { TableReadFailureProps, TableStaleNoticeProps } from './host.js';
@@ -54299,6 +54299,9 @@ function MatrxDataTableCore(coreProps) {
54299
54299
  const menuActionsColumn = visibleColumns.find((column) => column.customActions);
54300
54300
  const rowCopyInMenu = rowCopyPlacement === "menu" && menuActionsColumn !== void 0;
54301
54301
  const rowCopyInCustomColumn = showRowCopy && !rowCopyInMenu && menuActionsColumn !== void 0;
54302
+ const declaredActionsColumn = visibleColumns.find(
54303
+ (column) => column.customActions && (typeof column.header === "string" && column.header.trim().toLowerCase() === "actions" || ["actions", "custom-actions", "row-actions"].includes(columnId(column)))
54304
+ );
54302
54305
  const showInlineRowCopy = showRowCopy && !rowCopyInMenu && !rowCopyInCustomColumn;
54303
54306
  const showToolbarCopy = effectiveCopy !== void 0 && effectiveCopy.showToolbar !== false && copyControls?.table !== false;
54304
54307
  const placeToolbar = (node) => {
@@ -54440,6 +54443,7 @@ function MatrxDataTableCore(coreProps) {
54440
54443
  const summaryMetrics = summary?.metrics.map((metric) => ({
54441
54444
  id: metric.id,
54442
54445
  label: metric.label,
54446
+ description: metric.description,
54443
54447
  ...resolveSummaryValue(summary.source?.metrics?.[metric.id], metric.value)
54444
54448
  })) ?? [];
54445
54449
  const summaryTotals = Object.entries(summary?.totals ?? {}).map(([id, value]) => ({
@@ -54994,7 +54998,35 @@ function MatrxDataTableCore(coreProps) {
54994
54998
  (target) => resolveMenuLevelRef.current(target)
54995
54999
  );
54996
55000
  }, [host.rowContextRegistry, tableContextMenuInstanceId]);
54997
- const showActionsCol = windowEnabled || Boolean(rowActions) || showInlineRowCopy;
55001
+ const showActionsCol = declaredActionsColumn === void 0 && (windowEnabled || Boolean(rowActions) || showInlineRowCopy);
55002
+ const actionsHeaderCount = visibleColumns.filter((column) => typeof column.header === "string" && column.header.trim().toLowerCase() === "actions").length + (showActionsCol ? 1 : 0);
55003
+ useEffect27(() => {
55004
+ if (actionsHeaderCount > 1) {
55005
+ console.error(
55006
+ `[matrx-table] ${actionsHeaderCount} "Actions" columns in one table \u2014 a table has ONE actions column. Declare one customActions column headed "Actions"; the table folds copy, row actions and open-in-window into it.`
55007
+ );
55008
+ }
55009
+ }, [actionsHeaderCount]);
55010
+ const renderWindowOpen = (row) => windowEnabled ? /* @__PURE__ */ jsxs49(Tooltip, { children: [
55011
+ /* @__PURE__ */ jsx60(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx60(
55012
+ Button,
55013
+ {
55014
+ type: "button",
55015
+ variant: "ghost",
55016
+ size: "icon",
55017
+ "data-matrx-table-icon-action": true,
55018
+ className: "h-11 w-11 text-muted-foreground hover:text-foreground [&_svg]:size-5",
55019
+ "aria-label": windowConfig?.openOnRowClick === true ? "Open in side panel" : "Open in window",
55020
+ onClick: (e) => {
55021
+ e.stopPropagation();
55022
+ if (windowConfig?.openOnRowClick === true) rowLatest.current.openDetail(row);
55023
+ else rowLatest.current.openWindow(row);
55024
+ },
55025
+ children: opensWindowOnRowClick ? /* @__PURE__ */ jsx60(PanelRightOpen, { className: "h-5 w-5" }) : /* @__PURE__ */ jsx60(PanelRight, { className: "h-5 w-5" })
55026
+ }
55027
+ ) }),
55028
+ /* @__PURE__ */ jsx60(TooltipContent, { children: windowConfig?.openOnRowClick === true ? "Open in side panel" : "Open in window" })
55029
+ ] }) : null;
54998
55030
  const lastVisibleColumn = visibleColumns[visibleColumns.length - 1];
54999
55031
  const pinnedActionsColumnId = !showActionsCol && lastVisibleColumn?.customActions ? columnId(lastVisibleColumn) : void 0;
55000
55032
  const getSelectionId = selection?.getSelectionId ?? getRowId;
@@ -55089,7 +55121,11 @@ function MatrxDataTableCore(coreProps) {
55089
55121
  controls,
55090
55122
  children: content
55091
55123
  }
55092
- ) : content
55124
+ ) : content,
55125
+ declaredActionsColumn !== void 0 && columnId(col) === columnId(declaredActionsColumn) ? /* @__PURE__ */ jsxs49(Fragment20, { children: [
55126
+ renderRowActions(displayRow, controls),
55127
+ renderWindowOpen(row)
55128
+ ] }) : null
55093
55129
  ] });
55094
55130
  }
55095
55131
  const display = renderCell(displayRow, col, index);
@@ -55785,26 +55821,7 @@ function MatrxDataTableCore(coreProps) {
55785
55821
  }
55786
55822
  ) : null,
55787
55823
  renderRowActions(displayRow, controls),
55788
- windowEnabled ? /* @__PURE__ */ jsxs49(Tooltip, { children: [
55789
- /* @__PURE__ */ jsx60(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx60(
55790
- Button,
55791
- {
55792
- type: "button",
55793
- variant: "ghost",
55794
- size: "icon",
55795
- "data-matrx-table-icon-action": true,
55796
- className: "h-11 w-11 text-muted-foreground hover:text-foreground [&_svg]:size-5",
55797
- "aria-label": windowConfig?.openOnRowClick === true ? "Open in side panel" : "Open in window",
55798
- onClick: (e) => {
55799
- e.stopPropagation();
55800
- if (windowConfig?.openOnRowClick === true) rowLatest.current.openDetail(row);
55801
- else rowLatest.current.openWindow(row);
55802
- },
55803
- children: opensWindowOnRowClick ? /* @__PURE__ */ jsx60(PanelRightOpen, { className: "h-5 w-5" }) : /* @__PURE__ */ jsx60(PanelRight, { className: "h-5 w-5" })
55804
- }
55805
- ) }),
55806
- /* @__PURE__ */ jsx60(TooltipContent, { children: windowConfig?.openOnRowClick === true ? "Open in side panel" : "Open in window" })
55807
- ] }) : null
55824
+ renderWindowOpen(row)
55808
55825
  ]
55809
55826
  }
55810
55827
  )
@@ -55951,6 +55968,7 @@ function MatrxDataTableCore(coreProps) {
55951
55968
  "data-matrx-table-density": resolvedDensity,
55952
55969
  "data-url-state-table": urlState?.id,
55953
55970
  "data-matrx-table-appearance": appearance,
55971
+ "data-matrx-table-embedded": embedded || void 0,
55954
55972
  className: cn(
55955
55973
  "flex h-full min-h-0 flex-col gap-2 px-0 pt-2 pb-0",
55956
55974
  embedded && "h-auto gap-0 pt-0",
@@ -55964,15 +55982,17 @@ function MatrxDataTableCore(coreProps) {
55964
55982
  "section",
55965
55983
  {
55966
55984
  "data-matrx-table-summary": true,
55985
+ "data-matrx-table-summary-variant": summary?.variant ?? "compact",
55967
55986
  "data-matrx-table-summary-scope": summaryUsesSource ? "source" : summaryCoverage,
55968
55987
  "aria-label": `Table summary: ${summaryCaption}`,
55969
- className: "flex w-full min-w-0 shrink-0 flex-nowrap items-stretch gap-2 overflow-x-auto overscroll-x-contain",
55970
- children: summaryMetrics.map((metric) => /* @__PURE__ */ jsxs49("div", { className: "min-w-24 shrink-0 whitespace-nowrap rounded-md border border-border bg-card px-3 py-2 shadow-xs", children: [
55971
- /* @__PURE__ */ jsx60("div", { className: "text-sm font-medium text-muted-foreground", children: metric.label }),
55972
- /* @__PURE__ */ jsxs49("div", { className: "mt-0.5 text-sm font-semibold tabular-nums text-foreground", children: [
55988
+ className: "flex w-full min-w-0 shrink-0 flex-nowrap items-stretch gap-3 overflow-x-auto overscroll-x-contain",
55989
+ children: summaryMetrics.map((metric) => /* @__PURE__ */ jsxs49("div", { "data-matrx-table-summary-card": true, className: cn("shrink-0 whitespace-nowrap rounded-md border border-border bg-card shadow-xs", summary?.variant === "large" ? "w-56 min-w-56 px-4 py-4" : "min-w-24 px-3.5 py-2.5"), children: [
55990
+ /* @__PURE__ */ jsx60("div", { className: "truncate text-sm font-medium text-muted-foreground", title: metric.label, children: metric.label }),
55991
+ /* @__PURE__ */ jsxs49("div", { className: cn("font-semibold tabular-nums text-foreground", summary?.variant === "large" ? "mt-1 text-xl" : "mt-0.5 text-sm"), children: [
55973
55992
  metric.value,
55974
55993
  metric.unavailable ? /* @__PURE__ */ jsx60(ErrorBox, { as: "span", className: "sr-only", message: `${metric.label} is unavailable`, operation: "Summarize this table", origin: "design-system/MatrxDataTable" }) : null
55975
- ] })
55994
+ ] }),
55995
+ summary?.variant === "large" ? /* @__PURE__ */ jsx60("div", { "data-matrx-table-summary-description": true, className: "mt-2 min-h-5 truncate text-sm font-normal text-muted-foreground", title: metric.description, children: metric.description }) : null
55976
55996
  ] }, metric.id))
55977
55997
  }
55978
55998
  ) : null,
@@ -55983,7 +56003,7 @@ function MatrxDataTableCore(coreProps) {
55983
56003
  const tabsTarget = toolbar && "tabsPortalInto" in toolbar ? toolbar.tabsPortalInto : null;
55984
56004
  return /* @__PURE__ */ jsxs49(Fragment20, { children: [
55985
56005
  tabsPlaced && tabsTarget && tabsNode && !hideToolbar ? createPortal4(
55986
- /* @__PURE__ */ jsx60("div", { "data-matrx-table-toolbar-tabs": "", "data-matrx-table-tabs-placed": "", className: "flex min-w-0 max-w-full [&_[data-matrx-table-tabs]]:border-b-0", children: tabsNode }),
56006
+ /* @__PURE__ */ jsx60("div", { "data-matrx-table-toolbar-tabs": "", "data-matrx-table-tabs-placed": "", className: "flex min-w-0 max-w-full [&_[data-matrx-table-tabs]]:min-w-0 [&_[data-matrx-table-tabs]]:shrink [&_[data-matrx-table-tabs]]:border-b-0", children: tabsNode }),
55987
56007
  tabsTarget
55988
56008
  ) : null,
55989
56009
  placeToolbar(!hideToolbar && (showViewTabs || 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 || savedViewsId && SavedViews || hasActiveFilters || showToolbarCopy || columns.length > 0) && /* @__PURE__ */ jsxs49(