@ai-matrx/design-system 0.19.2 → 0.19.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.
@@ -1819,7 +1819,7 @@ function PageNavigationControl({
1819
1819
  ...props,
1820
1820
  disabled,
1821
1821
  "aria-label": label,
1822
- className: cn(visibilityClassName, className, "[&_svg]:size-3.5")
1822
+ className: cn(visibilityClassName, className, "[&_svg]:size-5")
1823
1823
  }
1824
1824
  );
1825
1825
  return /* @__PURE__ */ jsxs13(Tooltip, { children: [
@@ -1873,8 +1873,8 @@ function PaginationAction({
1873
1873
  }
1874
1874
  );
1875
1875
  }
1876
- var PAGINATION_ACTION_CLASS = "relative isolate h-11 w-11 min-h-11 min-w-11 border-0 bg-transparent p-0 text-xs shadow-none before:absolute before:inset-1.5 before:z-0 before:rounded-md before:border before:border-border before:bg-card before:content-[''] hover:bg-transparent hover:before:bg-accent disabled:bg-transparent disabled:before:opacity-40 [&>*]:relative [&>*]:z-10";
1877
- var PAGINATION_ACTIVE_CLASS = "text-primary-foreground before:border-primary before:bg-primary hover:before:bg-primary/90";
1876
+ var PAGINATION_ACTION_CLASS = "h-11 w-11 min-h-11 min-w-11 rounded-md border border-border bg-card p-0 text-sm shadow-none hover:bg-accent disabled:opacity-40 [&_svg]:size-5";
1877
+ var PAGINATION_ACTIVE_CLASS = "border-primary bg-primary text-primary-foreground hover:bg-primary/90";
1878
1878
  function GenericTablePagination({
1879
1879
  totalItems,
1880
1880
  itemsPerPage,
@@ -1928,8 +1928,8 @@ function GenericTablePagination({
1928
1928
  const containerClass = cn(
1929
1929
  "w-full items-center",
1930
1930
  !compact && "border-t border-border",
1931
- layoutType === "grid" ? "grid grid-cols-[auto_minmax(0,1fr)_auto]" : "flex flex-nowrap justify-between",
1932
- compact ? "box-border h-11 gap-0 px-0 py-0" : "gap-1 px-2 py-1 sm:gap-4 sm:px-3",
1931
+ layoutType === "grid" ? progressive ? "grid grid-cols-[auto_minmax(0,1fr)_auto]" : "grid grid-cols-[auto_minmax(0,1fr)] sm:grid-cols-[auto_minmax(0,1fr)_auto]" : "flex flex-nowrap justify-between",
1932
+ compact ? "box-border min-h-11 gap-0 px-0 py-0" : "gap-1 px-2 py-1 sm:gap-4 sm:px-3",
1933
1933
  className,
1934
1934
  containerClassName
1935
1935
  );
@@ -1954,7 +1954,7 @@ function GenericTablePagination({
1954
1954
  "aria-label": "Rows per page",
1955
1955
  className: cn(
1956
1956
  "focus:ring-0",
1957
- compact ? "relative isolate h-11 w-16 border-0 bg-transparent px-1 text-xs before:absolute before:inset-1.5 before:z-0 before:rounded-md before:border before:border-border before:bg-card before:content-[''] hover:before:bg-accent [&>*]:relative [&>*]:z-10 [&_svg]:h-3.5 [&_svg]:w-3.5" : "h-8 w-[3.75rem] text-xs sm:w-36 sm:text-sm"
1957
+ compact ? "h-11 min-w-20 rounded-md border border-border bg-card px-3 text-sm hover:bg-accent [&_svg]:size-5" : "h-8 w-[3.75rem] text-xs sm:w-36 sm:text-sm"
1958
1958
  ),
1959
1959
  children: /* @__PURE__ */ jsx20(SelectValue, { placeholder: itemsPerPage.toString() })
1960
1960
  }
@@ -1973,7 +1973,7 @@ function GenericTablePagination({
1973
1973
  {
1974
1974
  className: cn("flex min-w-0 justify-center", infoContainerClassName),
1975
1975
  children: showPageInfo && !hideEntriesInfo && /* @__PURE__ */ jsxs13(Fragment, { children: [
1976
- /* @__PURE__ */ jsxs13("span", { className: "truncate text-[10px] tabular-nums text-muted-foreground sm:hidden", children: [
1976
+ /* @__PURE__ */ jsxs13("span", { className: "truncate text-xs tabular-nums text-muted-foreground sm:hidden", children: [
1977
1977
  startItem,
1978
1978
  "-",
1979
1979
  endItem,
@@ -1983,7 +1983,7 @@ function GenericTablePagination({
1983
1983
  /* @__PURE__ */ jsx20(
1984
1984
  "span",
1985
1985
  {
1986
- className: `hidden whitespace-nowrap ${compact ? "text-xs" : "text-sm"} text-muted-foreground sm:inline`,
1986
+ className: `hidden whitespace-nowrap ${compact ? "text-sm" : "text-sm"} min-w-0 truncate text-muted-foreground sm:inline`,
1987
1987
  children: formatLabel(startItem, endItem, totalItems)
1988
1988
  }
1989
1989
  )
@@ -1998,13 +1998,13 @@ function GenericTablePagination({
1998
1998
  disabledHint: "All rows shown",
1999
1999
  disabled: !progressive.hasMore,
2000
2000
  onClick: progressive.onShowMore,
2001
- children: /* @__PURE__ */ jsx20(ChevronRight, { className: "h-3.5 w-3.5 rotate-90" })
2001
+ children: /* @__PURE__ */ jsx20(ChevronRight, { className: "h-5 w-5 rotate-90" })
2002
2002
  }
2003
2003
  ) : showPageControls && /* @__PURE__ */ jsxs13(
2004
2004
  "div",
2005
2005
  {
2006
2006
  className: cn(
2007
- "flex min-w-0 items-center justify-end",
2007
+ "col-span-2 flex min-w-0 items-center justify-end sm:col-span-1",
2008
2008
  compact ? "gap-0" : "gap-0.5 sm:gap-1",
2009
2009
  controlsContainerClassName
2010
2010
  ),
@@ -2019,7 +2019,7 @@ function GenericTablePagination({
2019
2019
  fallbackClassName: navButtonClassName,
2020
2020
  onClick: () => onPageChange(1),
2021
2021
  disabled: isFirstPageDisabled,
2022
- children: /* @__PURE__ */ jsx20(ChevronsLeft, { className: "h-3.5 w-3.5" })
2022
+ children: /* @__PURE__ */ jsx20(ChevronsLeft, { className: "h-5 w-5" })
2023
2023
  }
2024
2024
  ),
2025
2025
  /* @__PURE__ */ jsx20(
@@ -2031,7 +2031,7 @@ function GenericTablePagination({
2031
2031
  fallbackClassName: navButtonClassName,
2032
2032
  onClick: () => onPageChange(currentPage - 1),
2033
2033
  disabled: isFirstPageDisabled,
2034
- children: /* @__PURE__ */ jsx20(ChevronLeft, { className: "h-3.5 w-3.5" })
2034
+ children: /* @__PURE__ */ jsx20(ChevronLeft, { className: "h-5 w-5" })
2035
2035
  }
2036
2036
  ),
2037
2037
  getPageNumbers(3).map((page) => /* @__PURE__ */ jsx20(
@@ -2074,7 +2074,7 @@ function GenericTablePagination({
2074
2074
  fallbackClassName: navButtonClassName,
2075
2075
  onClick: () => onPageChange(currentPage + 1),
2076
2076
  disabled: isLastPageDisabled,
2077
- children: /* @__PURE__ */ jsx20(ChevronRight, { className: "h-3.5 w-3.5" })
2077
+ children: /* @__PURE__ */ jsx20(ChevronRight, { className: "h-5 w-5" })
2078
2078
  }
2079
2079
  ),
2080
2080
  /* @__PURE__ */ jsx20(
@@ -2087,7 +2087,7 @@ function GenericTablePagination({
2087
2087
  fallbackClassName: navButtonClassName,
2088
2088
  onClick: () => onPageChange(totalPages),
2089
2089
  disabled: isLastPageDisabled,
2090
- children: /* @__PURE__ */ jsx20(ChevronsRight, { className: "h-3.5 w-3.5" })
2090
+ children: /* @__PURE__ */ jsx20(ChevronsRight, { className: "h-5 w-5" })
2091
2091
  }
2092
2092
  )
2093
2093
  ]
@@ -2217,6 +2217,8 @@ function IconContent({
2217
2217
  viewBox: "0 0 24 24",
2218
2218
  stroke: "currentColor",
2219
2219
  strokeWidth,
2220
+ strokeLinecap: "round",
2221
+ strokeLinejoin: "round",
2220
2222
  children
2221
2223
  }
2222
2224
  );
@@ -7912,7 +7914,7 @@ function TableToolbarAction({
7912
7914
  return /* @__PURE__ */ jsx38(HostAction, { ariaLabel, tooltip, disabled, busy, onClick, children });
7913
7915
  }
7914
7916
  return /* @__PURE__ */ jsxs28(Tooltip, { children: [
7915
- /* @__PURE__ */ jsx38(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx38("span", { className: "inline-flex", children: /* @__PURE__ */ jsx38(Button, { type: "button", variant: "ghost", size: "icon", className: "h-11 w-11 [&_svg]:size-3.5", "aria-label": ariaLabel, "aria-busy": busy || void 0, disabled, onClick, children: isValidElement2(children) ? cloneElement2(children, { className: cn("h-3.5 w-3.5", children.props.className) }) : children }) }) }),
7917
+ /* @__PURE__ */ jsx38(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx38("span", { className: "inline-flex", children: /* @__PURE__ */ jsx38(Button, { type: "button", variant: "ghost", size: "icon", className: "h-11 w-11 [&_svg]:size-5", "aria-label": ariaLabel, "aria-busy": busy || void 0, disabled, onClick, children: isValidElement2(children) ? cloneElement2(children, { className: cn("h-5 w-5", children.props.className) }) : children }) }) }),
7916
7918
  /* @__PURE__ */ jsx38(TooltipContent, { children: tooltip ?? ariaLabel })
7917
7919
  ] });
7918
7920
  }
@@ -9454,7 +9456,7 @@ function MatrxDataTableCore({
9454
9456
  ),
9455
9457
  children: [
9456
9458
  /* @__PURE__ */ jsxs28("div", { className: "relative min-w-0 flex-1", children: [
9457
- /* @__PURE__ */ jsx38(Search, { className: "absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground" }),
9459
+ /* @__PURE__ */ jsx38(Search, { className: "absolute left-2 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground" }),
9458
9460
  /* @__PURE__ */ jsx38(
9459
9461
  Input,
9460
9462
  {
@@ -9476,7 +9478,7 @@ function MatrxDataTableCore({
9476
9478
  "aria-label": "Clear search",
9477
9479
  className: "absolute right-1.5 top-1/2 -translate-y-1/2 rounded p-0.5 text-muted-foreground hover:text-foreground",
9478
9480
  onClick: () => setSearchValue(""),
9479
- children: /* @__PURE__ */ jsx38(X, { className: "h-3.5 w-3.5" })
9481
+ children: /* @__PURE__ */ jsx38(X, { className: "h-5 w-5" })
9480
9482
  }
9481
9483
  ) }),
9482
9484
  /* @__PURE__ */ jsx38(TooltipContent, { children: "Clear search" })
@@ -9496,7 +9498,7 @@ function MatrxDataTableCore({
9496
9498
  searchMatchMode === "whole_words" ? "contains" : "whole_words"
9497
9499
  ),
9498
9500
  children: [
9499
- /* @__PURE__ */ jsx38(WholeWord, { className: "h-3.5 w-3.5" }),
9501
+ /* @__PURE__ */ jsx38(WholeWord, { className: "h-5 w-5" }),
9500
9502
  searchMatchMode === "whole_words" ? "Whole words" : "Contains"
9501
9503
  ]
9502
9504
  }
@@ -9518,7 +9520,7 @@ function MatrxDataTableCore({
9518
9520
  }
9519
9521
  ) : null,
9520
9522
  toolbar?.anyOf ? /* @__PURE__ */ jsxs28("div", { className: "relative w-full max-w-xs", children: [
9521
- /* @__PURE__ */ jsx38(Search, { className: "absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground" }),
9523
+ /* @__PURE__ */ jsx38(Search, { className: "absolute left-2 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground" }),
9522
9524
  /* @__PURE__ */ jsx38(
9523
9525
  Input,
9524
9526
  {
@@ -9537,7 +9539,7 @@ function MatrxDataTableCore({
9537
9539
  "aria-label": "Clear match-any search",
9538
9540
  className: "absolute right-1.5 top-1/2 -translate-y-1/2 rounded p-0.5 text-muted-foreground hover:text-foreground",
9539
9541
  onClick: () => setAnyOfValue(""),
9540
- children: /* @__PURE__ */ jsx38(X, { className: "h-3.5 w-3.5" })
9542
+ children: /* @__PURE__ */ jsx38(X, { className: "h-5 w-5" })
9541
9543
  }
9542
9544
  ) }),
9543
9545
  /* @__PURE__ */ jsx38(TooltipContent, { children: "Clear match-any search" })
@@ -10199,7 +10201,7 @@ function MatrxDataTableCore({
10199
10201
  type: "button",
10200
10202
  variant: "ghost",
10201
10203
  size: "icon",
10202
- className: "h-11 w-11 text-muted-foreground hover:text-foreground [&_svg]:size-3.5",
10204
+ className: "h-11 w-11 text-muted-foreground hover:text-foreground [&_svg]:size-5",
10203
10205
  "aria-label": opensWindowOnRowClick ? "Open in side panel" : "Open in window",
10204
10206
  onClick: (e) => {
10205
10207
  e.stopPropagation();
@@ -10209,7 +10211,7 @@ function MatrxDataTableCore({
10209
10211
  openWindow(row);
10210
10212
  }
10211
10213
  },
10212
- children: opensWindowOnRowClick ? /* @__PURE__ */ jsx38(PanelRightOpen, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ jsx38(PanelRight, { className: "h-3.5 w-3.5" })
10214
+ children: opensWindowOnRowClick ? /* @__PURE__ */ jsx38(PanelRightOpen, { className: "h-5 w-5" }) : /* @__PURE__ */ jsx38(PanelRight, { className: "h-5 w-5" })
10213
10215
  }
10214
10216
  ) }),
10215
10217
  /* @__PURE__ */ jsx38(TooltipContent, { children: opensWindowOnRowClick ? "Open in side panel" : "Open in window" })
@@ -10327,14 +10329,14 @@ function MatrxDataTableCore({
10327
10329
  "div",
10328
10330
  {
10329
10331
  "data-matrx-table-footer": true,
10330
- className: "flex min-h-16 shrink-0 flex-wrap items-center justify-between gap-3 border-t border-border",
10332
+ className: "flex min-h-11 shrink-0 flex-wrap items-center gap-0 border-t border-border",
10331
10333
  "aria-busy": isLoading || isFetching,
10332
10334
  children: [
10333
10335
  /* @__PURE__ */ jsxs28(
10334
10336
  "div",
10335
10337
  {
10336
10338
  ...isFetching && !isLoading ? {} : { role: "status", "aria-live": "polite" },
10337
- className: "flex w-full min-w-0 flex-none items-center gap-2 text-xs text-muted-foreground sm:w-auto sm:flex-1",
10339
+ 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",
10338
10340
  children: [
10339
10341
  isLoading ? /* @__PURE__ */ jsx38(
10340
10342
  Loader2,
@@ -10344,17 +10346,17 @@ function MatrxDataTableCore({
10344
10346
  className: "h-5 w-5 shrink-0 animate-spin text-primary motion-reduce:animate-none"
10345
10347
  }
10346
10348
  ) : null,
10347
- /* @__PURE__ */ jsxs28("div", { className: "min-w-0", children: [
10348
- /* @__PURE__ */ jsx38("p", { className: "break-words font-medium text-foreground", children: isLoading ? "Loading rows\u2026" : `${data.length.toLocaleString()} loaded${appendQuery.pagination.totalItems === void 0 ? "" : ` of ${appendQuery.pagination.totalItems.toLocaleString()}`}` }),
10349
- appendQuery.pagination.sourceUntil ? /* @__PURE__ */ jsxs28("p", { children: [
10349
+ /* @__PURE__ */ jsxs28("div", { className: "min-w-0 flex-1", children: [
10350
+ /* @__PURE__ */ jsx38("p", { className: "truncate font-medium text-foreground", children: isLoading ? "Loading rows\u2026" : `${data.length.toLocaleString()} loaded${appendQuery.pagination.totalItems === void 0 ? "" : ` of ${appendQuery.pagination.totalItems.toLocaleString()}`}` }),
10351
+ appendQuery.pagination.sourceUntil ? /* @__PURE__ */ jsxs28("p", { className: "hidden truncate sm:block", children: [
10350
10352
  "Source fixed through",
10351
10353
  " ",
10352
10354
  new Date(appendQuery.pagination.sourceUntil).toLocaleString(),
10353
10355
  "."
10354
10356
  ] }) : null,
10355
- !isLoading && !isFetching && !appendQuery.pagination.loadAll?.isLoading && !scrollPagination.error && !appendQuery.pagination.hasNextPage && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? /* @__PURE__ */ jsx38("p", { children: "All source rows are loaded." }) : appendUsesLocalProcessing ? /* @__PURE__ */ jsx38("p", { children: "Local search and filters cover loaded rows." }) : null,
10356
- scrollPagination.error ? /* @__PURE__ */ jsx38("p", { role: "alert", className: "break-words text-destructive", children: scrollPagination.error.message }) : null,
10357
- appendScrollPolicy?.mode === "suspended" ? /* @__PURE__ */ jsxs28("p", { role: "status", className: "break-words", children: [
10357
+ !isLoading && !isFetching && !appendQuery.pagination.loadAll?.isLoading && !scrollPagination.error && !appendQuery.pagination.hasNextPage && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? /* @__PURE__ */ jsx38("p", { className: "hidden truncate sm:block", children: "All source rows are loaded." }) : appendUsesLocalProcessing ? /* @__PURE__ */ jsx38("p", { className: "hidden truncate sm:block", children: "Local search and filters cover loaded rows." }) : null,
10358
+ scrollPagination.error ? /* @__PURE__ */ jsx38("p", { role: "alert", className: "truncate text-destructive", children: scrollPagination.error.message }) : null,
10359
+ appendScrollPolicy?.mode === "suspended" ? /* @__PURE__ */ jsxs28("p", { role: "status", className: "truncate", children: [
10358
10360
  appendScrollPolicy.reason,
10359
10361
  " Load more remains available."
10360
10362
  ] }) : null
@@ -10372,7 +10374,7 @@ function MatrxDataTableCore({
10372
10374
  SelectTrigger,
10373
10375
  {
10374
10376
  "aria-label": "Rows per load",
10375
- className: "h-8 w-20 shrink-0 text-xs sm:w-24",
10377
+ className: "h-11 min-w-20 shrink-0 rounded-md border border-border bg-card px-3 text-sm [&_svg]:size-5",
10376
10378
  disabled: isLoading || isFetching || appendQuery.pagination.loadAll?.isLoading,
10377
10379
  children: /* @__PURE__ */ jsx38(SelectValue, {})
10378
10380
  }
@@ -10386,6 +10388,7 @@ function MatrxDataTableCore({
10386
10388
  {
10387
10389
  type: "button",
10388
10390
  variant: "outline",
10391
+ className: "h-11 shrink-0 px-3 text-sm",
10389
10392
  onClick: appendQuery.pagination.loadAll.stop,
10390
10393
  children: "Stop loading"
10391
10394
  }
@@ -10394,16 +10397,17 @@ function MatrxDataTableCore({
10394
10397
  {
10395
10398
  type: "button",
10396
10399
  variant: "outline",
10400
+ className: "h-11 shrink-0 px-3 text-sm",
10397
10401
  onClick: appendQuery.pagination.retrySource ?? (appendQuery.pagination.hasNextPage ? appendQuery.pagination.loadNextPage : appendQuery.pagination.refresh),
10398
10402
  children: appendQuery.pagination.retrySource ? "Retry source" : appendQuery.pagination.hasNextPage ? "Retry" : "Reload rows"
10399
10403
  }
10400
- ) : appendQuery.pagination.hasNextPage || scrollPagination.error ? /* @__PURE__ */ jsxs28("div", { className: "flex flex-wrap gap-1", children: [
10404
+ ) : appendQuery.pagination.hasNextPage || scrollPagination.error ? /* @__PURE__ */ jsxs28("div", { className: "flex shrink-0 gap-0", children: [
10401
10405
  /* @__PURE__ */ jsx38(
10402
10406
  Button,
10403
10407
  {
10404
10408
  type: "button",
10405
- size: "sm",
10406
10409
  variant: "outline",
10410
+ className: "h-11 px-3 text-sm",
10407
10411
  disabled: isLoading || isFetching,
10408
10412
  onClick: () => void scrollPagination.requestNextPage(),
10409
10413
  children: "Load more"
@@ -10413,14 +10417,14 @@ function MatrxDataTableCore({
10413
10417
  Button,
10414
10418
  {
10415
10419
  type: "button",
10416
- size: "sm",
10417
10420
  variant: "ghost",
10421
+ className: "h-11 px-3 text-sm",
10418
10422
  disabled: isLoading || isFetching,
10419
10423
  onClick: appendQuery.pagination.loadAll.request,
10420
10424
  children: "Load all"
10421
10425
  }
10422
10426
  ) : null
10423
- ] }) : !isLoading && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? /* @__PURE__ */ jsx38("span", { className: "text-xs text-muted-foreground", children: "All rows loaded" }) : null
10427
+ ] }) : !isLoading && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? /* @__PURE__ */ jsx38("span", { className: "shrink-0 truncate px-3 text-xs text-muted-foreground sm:text-sm", children: "All rows loaded" }) : null
10424
10428
  ]
10425
10429
  }
10426
10430
  ) : !hidePagination && totalItems > 0 ? /* @__PURE__ */ jsx38("div", { className: "shrink-0", children: /* @__PURE__ */ jsx38(
@@ -10492,7 +10496,7 @@ function MatrxDataTableCore({
10492
10496
  className: "h-7 w-7",
10493
10497
  "aria-label": "Open in window",
10494
10498
  onClick: () => openWindow(selectedRow),
10495
- children: /* @__PURE__ */ jsx38(PanelRight, { className: "h-3.5 w-3.5" })
10499
+ children: /* @__PURE__ */ jsx38(PanelRight, { className: "h-5 w-5" })
10496
10500
  }
10497
10501
  ) }),
10498
10502
  /* @__PURE__ */ jsx38(TooltipContent, { children: "Open in window" })
@@ -10551,7 +10555,7 @@ function MatrxDataTableCore({
10551
10555
  closeWindow();
10552
10556
  openDetail(windowRow);
10553
10557
  },
10554
- children: /* @__PURE__ */ jsx38(PanelRightOpen, { className: "h-3.5 w-3.5" })
10558
+ children: /* @__PURE__ */ jsx38(PanelRightOpen, { className: "h-5 w-5" })
10555
10559
  }
10556
10560
  ) }),
10557
10561
  /* @__PURE__ */ jsx38(TooltipContent, { children: "Open in side panel" })