@ai-matrx/design-system 0.48.9 → 0.48.10
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 +17 -0
- package/dist/data-table/index.cjs +37 -28
- package/dist/data-table/index.cjs.map +1 -1
- package/dist/data-table/index.js +37 -28
- package/dist/data-table/index.js.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/tap-target.css +3 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.48.10
|
|
4
|
+
### Unreleased
|
|
5
|
+
### page-pass shared fix (2026-09-27): a bottom sheet sizes to its content
|
|
6
|
+
|
|
7
|
+
- The adaptive `BottomSheet` has no 60dvh minimum (it keeps the 90dvh maximum): a two-action sheet was mostly empty and hosts overrode it with `min-h-0`. Proof: `bottom-sheet.test.tsx`, red on the old class.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### (2026-09-27 — an empty table)
|
|
11
|
+
|
|
12
|
+
- **An empty table (nothing searched or filtered) draws no pager** — "0-0 of 0" and a disabled pager said nothing the empty state did not. A search or filter that matched nothing keeps its footer (it still says what was searched).
|
|
13
|
+
- **The empty / failed-read message cell keeps its room** (`data-matrx-table-message-cell`, excluded from the density padding rule that squeezed it flush under the header).
|
|
14
|
+
- Proof: `MatrxDataTable.cards-no-frame.test.tsx` "zero rows"; `MatrxDataTable.progressive.test.tsx` "an EMPTY table".
|
|
15
|
+
|
|
16
|
+
### Consumer action
|
|
17
|
+
|
|
18
|
+
A test that expected the pager over an unfiltered empty table now expects none.
|
|
19
|
+
|
|
3
20
|
## 0.48.9
|
|
4
21
|
### ALC-15 round 5 (a host engine supersedes a built-in format; no JSON twins)
|
|
5
22
|
|
|
@@ -43905,7 +43905,9 @@ function BottomSheet({
|
|
|
43905
43905
|
{
|
|
43906
43906
|
className: cn(
|
|
43907
43907
|
"fixed inset-x-0 bottom-0 z-[10000] mt-24 flex flex-col rounded-t-2xl overflow-hidden",
|
|
43908
|
-
|
|
43908
|
+
// Adaptive sizes to its content, up to 90dvh — never a 60dvh floor that
|
|
43909
|
+
// left a two-action sheet mostly empty (hosts overrode it with min-h-0).
|
|
43910
|
+
size === "full" ? "h-[92dvh]" : "max-h-[90dvh]",
|
|
43909
43911
|
surface === "solid" && "border border-b-0 border-border bg-background shadow-2xl",
|
|
43910
43912
|
contentClassName
|
|
43911
43913
|
),
|
|
@@ -51181,10 +51183,11 @@ function MatrxDataTableCore(coreProps) {
|
|
|
51181
51183
|
},
|
|
51182
51184
|
"matrx-column-spacer-end"
|
|
51183
51185
|
) : null
|
|
51184
|
-
] }, `sk-${i}`)) : readFailure ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("td", { colSpan: renderedColSpan, className: "px-0 py-12 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "sticky left-0 flex flex-col items-center gap-2 whitespace-normal px-4", style: { width: "100cqw", maxWidth: "100%" }, children: readFailure }) }) }) : paginated.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
51186
|
+
] }, `sk-${i}`)) : readFailure ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("td", { colSpan: renderedColSpan, "data-matrx-table-message-cell": true, className: "px-0 py-12 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "sticky left-0 flex flex-col items-center gap-2 whitespace-normal px-4", style: { width: "100cqw", maxWidth: "100%" }, children: readFailure }) }) }) : paginated.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
51185
51187
|
"td",
|
|
51186
51188
|
{
|
|
51187
51189
|
colSpan: renderedColSpan,
|
|
51190
|
+
"data-matrx-table-message-cell": true,
|
|
51188
51191
|
className: "px-0 py-12 text-center",
|
|
51189
51192
|
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { "data-matrx-table-empty-state": true, className: "sticky left-0 flex flex-col items-center gap-2 whitespace-normal px-4", style: { width: "100cqw", maxWidth: "100%" }, children: [
|
|
51190
51193
|
renderedEmptyState?.icon,
|
|
@@ -51471,32 +51474,38 @@ function MatrxDataTableCore(coreProps) {
|
|
|
51471
51474
|
] }) : !isLoading && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "min-w-0 max-w-full break-words whitespace-normal px-3 text-xs text-muted-foreground sm:text-sm", children: "All rows loaded" }) : null
|
|
51472
51475
|
]
|
|
51473
51476
|
}
|
|
51474
|
-
) : !hidePagination
|
|
51475
|
-
|
|
51476
|
-
|
|
51477
|
-
|
|
51478
|
-
|
|
51479
|
-
|
|
51480
|
-
|
|
51481
|
-
|
|
51482
|
-
|
|
51483
|
-
|
|
51484
|
-
|
|
51485
|
-
|
|
51486
|
-
|
|
51487
|
-
|
|
51488
|
-
|
|
51489
|
-
|
|
51490
|
-
|
|
51491
|
-
|
|
51492
|
-
|
|
51493
|
-
|
|
51494
|
-
|
|
51495
|
-
|
|
51496
|
-
|
|
51497
|
-
|
|
51498
|
-
|
|
51499
|
-
|
|
51477
|
+
) : !hidePagination && !(totalItems === 0 && !isLoading && !hasActiveFilters) ? (
|
|
51478
|
+
// No pager over a table that is simply EMPTY: "0-0 of 0" and a disabled pager
|
|
51479
|
+
// say nothing the empty state does not (page-pass 2026-09-27,
|
|
51480
|
+
// /education/quizzes). A search or filter that matched nothing keeps it — its
|
|
51481
|
+
// footer still says what was searched ("0–0 of 0 matching · 2 / 12 loaded").
|
|
51482
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(MatrxTableChrome, { part: "pagination", epoch: paginationEpoch, render: () => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
51483
|
+
GenericTablePagination,
|
|
51484
|
+
{
|
|
51485
|
+
totalItems,
|
|
51486
|
+
...paginationLabelFormat ? { labelFormat: paginationLabelFormat } : sourceTotal === void 0 ? {} : { labelFormat: (start, end, total) => `${(0, import_format5.formatCount)(start)}\u2013${(0, import_format5.formatCount)(end)} of ${(0, import_format5.formatCount)(total)} matching \xB7 ${(0, import_format5.formatCount)(data.length)} / ${(0, import_format5.formatCount)(sourceTotal)} loaded` },
|
|
51487
|
+
...localProgressiveEnabled ? { progressive: {
|
|
51488
|
+
shownCount: progressiveRows.shownCount,
|
|
51489
|
+
loadedCount: data.length,
|
|
51490
|
+
hasMore: progressiveRows.hasMore,
|
|
51491
|
+
onShowMore: () => void chromeLatest.current.showMore()
|
|
51492
|
+
} } : {},
|
|
51493
|
+
itemsPerPage: pageSize === 0 && allRowsAreLoaded ? 0 : effectivePageSize,
|
|
51494
|
+
currentPage: safePage,
|
|
51495
|
+
onPageChange: setPage,
|
|
51496
|
+
onItemsPerPageChange: (n2) => {
|
|
51497
|
+
setPageSize(n2);
|
|
51498
|
+
if (!controlledQuery) setPage(1);
|
|
51499
|
+
},
|
|
51500
|
+
pageSizeOptions: pageSizeOptions.filter((size) => size > 0),
|
|
51501
|
+
showAllOption: allRowsAreLoaded,
|
|
51502
|
+
allValue: 0,
|
|
51503
|
+
allOptionLabel: "All loaded",
|
|
51504
|
+
compact: true,
|
|
51505
|
+
hideEntriesInfo: false
|
|
51506
|
+
}
|
|
51507
|
+
) }) })
|
|
51508
|
+
) : null,
|
|
51500
51509
|
selection && selectionCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
51501
51510
|
"div",
|
|
51502
51511
|
{
|