@ai-matrx/design-system 0.17.2 → 0.17.3
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.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.17.3 — 2026-09-12
|
|
4
|
+
|
|
5
|
+
`MatrxDataTable` now keeps a fixed-height append status area at the bottom of
|
|
6
|
+
automatic and manual append surfaces. Active loads show an accessible spinner
|
|
7
|
+
without replacing already loaded rows or shifting the footer, including in
|
|
8
|
+
dark mode and reduced-motion environments.
|
|
9
|
+
|
|
10
|
+
### Consumer action
|
|
11
|
+
|
|
12
|
+
Update to 0.17.3 for visible, layout-stable feedback while additional table
|
|
13
|
+
rows load. No query, pagination, or API changes are required.
|
|
14
|
+
|
|
3
15
|
## 0.17.2 — 2026-09-12
|
|
4
16
|
|
|
5
17
|
`MatrxDataTable` now resets the vertical scroll position of both its desktop
|
|
@@ -6516,7 +6516,7 @@ function MatrxDataTableCore({
|
|
|
6516
6516
|
mobileCardsClass
|
|
6517
6517
|
),
|
|
6518
6518
|
children: [
|
|
6519
|
-
isFetching && !isLoading ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
6519
|
+
isFetching && !isLoading && appendQuery === null ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
6520
6520
|
"div",
|
|
6521
6521
|
{
|
|
6522
6522
|
role: "status",
|
|
@@ -6611,7 +6611,7 @@ function MatrxDataTableCore({
|
|
|
6611
6611
|
resolve: resolveHierarchyMove
|
|
6612
6612
|
}
|
|
6613
6613
|
) : null,
|
|
6614
|
-
isFetching && !isLoading ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
6614
|
+
isFetching && !isLoading && appendQuery === null ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
6615
6615
|
"div",
|
|
6616
6616
|
{
|
|
6617
6617
|
role: "status",
|
|
@@ -6972,13 +6972,56 @@ function MatrxDataTableCore({
|
|
|
6972
6972
|
}
|
|
6973
6973
|
) : null
|
|
6974
6974
|
] }),
|
|
6975
|
-
appendQuery ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
6976
|
-
|
|
6977
|
-
|
|
6978
|
-
|
|
6979
|
-
|
|
6980
|
-
|
|
6981
|
-
|
|
6975
|
+
appendQuery ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
6976
|
+
"div",
|
|
6977
|
+
{
|
|
6978
|
+
"data-matrx-table-footer": true,
|
|
6979
|
+
className: "flex min-h-16 shrink-0 items-center justify-between gap-3 border-t border-border px-3 py-2",
|
|
6980
|
+
"aria-busy": isLoading || isFetching,
|
|
6981
|
+
children: [
|
|
6982
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
6983
|
+
"div",
|
|
6984
|
+
{
|
|
6985
|
+
role: "status",
|
|
6986
|
+
"aria-live": "polite",
|
|
6987
|
+
className: "flex min-w-0 flex-1 items-center gap-2 text-xs text-muted-foreground",
|
|
6988
|
+
children: [
|
|
6989
|
+
isLoading || isFetching ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
6990
|
+
Loader2,
|
|
6991
|
+
{
|
|
6992
|
+
"data-matrx-table-append-loader": true,
|
|
6993
|
+
"aria-hidden": "true",
|
|
6994
|
+
className: "h-5 w-5 shrink-0 animate-spin text-primary motion-reduce:animate-none"
|
|
6995
|
+
}
|
|
6996
|
+
) : null,
|
|
6997
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "min-w-0", children: [
|
|
6998
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "break-words font-medium text-foreground", children: isFetching ? "Loading more rows\u2026" : isLoading ? "Loading rows\u2026" : `${data.length.toLocaleString()} loaded${appendQuery.pagination.totalItems === void 0 ? "" : ` of ${appendQuery.pagination.totalItems.toLocaleString()}`}` }),
|
|
6999
|
+
scrollPagination.error ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { role: "alert", className: "break-words text-destructive", children: scrollPagination.error.message }) : null
|
|
7000
|
+
] })
|
|
7001
|
+
]
|
|
7002
|
+
}
|
|
7003
|
+
),
|
|
7004
|
+
scrollPagination.error && !appendQuery.pagination.hasNextPage ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
7005
|
+
Button,
|
|
7006
|
+
{
|
|
7007
|
+
type: "button",
|
|
7008
|
+
variant: "outline",
|
|
7009
|
+
onClick: appendQuery.pagination.refresh,
|
|
7010
|
+
children: "Reload rows"
|
|
7011
|
+
}
|
|
7012
|
+
) : appendQuery.pagination.hasNextPage || scrollPagination.error ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
7013
|
+
Button,
|
|
7014
|
+
{
|
|
7015
|
+
type: "button",
|
|
7016
|
+
variant: "outline",
|
|
7017
|
+
disabled: isLoading || isFetching,
|
|
7018
|
+
onClick: () => void scrollPagination.requestNextPage(),
|
|
7019
|
+
children: scrollPagination.error ? "Retry" : "Load more"
|
|
7020
|
+
}
|
|
7021
|
+
) : !isLoading ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-xs text-muted-foreground", children: "All rows loaded" }) : null
|
|
7022
|
+
]
|
|
7023
|
+
}
|
|
7024
|
+
) : !hidePagination && totalItems > 0 ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
6982
7025
|
GenericTablePagination,
|
|
6983
7026
|
{
|
|
6984
7027
|
totalItems,
|