@ai-matrx/design-system 0.53.3 → 0.54.0

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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.54.0
4
+
5
+ - **`ConfirmDialogHost` holds Confirm while the question is not ready.** A `confirm({ ready })` (kit ≥ 0.22.0) opens at once and offers Confirm only when `ready` settles — resolved or rejected, so a failed read never traps the person. Cancel is always offered. `ConfirmDialog` gains `confirmHeld` (Confirm absent, never a disabled dead button). Guard: `src/confirm-host-ready.test.tsx` (2 red before).
6
+
7
+ ### Consumer action
8
+
9
+ - None. Needs `@ai-matrx/kit` ≥ 0.22.0 for the `ready` option's type.
10
+
11
+ ## 0.53.4
12
+
13
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
14
+ `git diff npm/design-system/v0.53.3..npm/design-system/v0.53.4 -- apps/shared/design-system`).
15
+ No source changes intended and no consumer action required.
16
+
3
17
  ## 0.53.3
4
18
 
5
19
  - Placement guard, rule 1 (glass only floats): a fixed or sticky ancestor counts only when it is reached BEFORE any scroll container. The app shell's root is `position: fixed`, so every page button "floated" and glass on a page, card or table was never flagged. A sticky bar inside a scroller still floats. Guard: `tap-placement.test.tsx` ("content inside a scroller does not float").
@@ -3809,3 +3823,4 @@ New dependencies: `@radix-ui/react-dialog`, `@radix-ui/react-popover`,
3809
3823
  - Added Button, Badge, Label, Separator, and `cn` as the first shared semantic UI foundation.
3810
3824
  - Added strict TypeScript, SSR-focused tests, package linting, declaration analysis, and isolated tarball import verification.
3811
3825
 
3826
+
@@ -35015,6 +35015,7 @@ function ConfirmDialog({
35015
35015
  variant = "default",
35016
35016
  busy = false,
35017
35017
  confirmDisabled = false,
35018
+ confirmHeld = false,
35018
35019
  portalContainer,
35019
35020
  onConfirm
35020
35021
  }) {
@@ -35031,7 +35032,7 @@ function ConfirmDialog({
35031
35032
  content ?? null,
35032
35033
  /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(AlertDialogFooter, { children: [
35033
35034
  cancelLabel === null ? null : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AlertDialogCancel, { className: "max-lg:min-h-11", disabled: busy, children: cancelLabel }),
35034
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
35035
+ confirmHeld ? null : /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
35035
35036
  AlertDialogAction,
35036
35037
  {
35037
35038
  disabled: busy || confirmDisabled,
@@ -56643,32 +56644,14 @@ function MatrxDataTableCore(coreProps) {
56643
56644
  ]
56644
56645
  }
56645
56646
  ) : null,
56646
- appendQuery.pagination.loadAll?.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
56647
- Button,
56648
- {
56649
- type: "button",
56650
- variant: "outline",
56651
- className: "h-8 shrink-0 px-3 text-sm",
56652
- onClick: appendQuery.pagination.loadAll.stop,
56653
- children: "Stop loading"
56654
- }
56655
- ) : scrollPagination.error ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
56656
- Button,
56657
- {
56658
- type: "button",
56659
- variant: "outline",
56660
- className: "h-8 shrink-0 px-3 text-sm",
56661
- onClick: appendQuery.pagination.retrySource ?? (appendQuery.pagination.hasNextPage ? appendQuery.pagination.loadNextPage : appendQuery.pagination.refresh),
56662
- children: appendQuery.pagination.retrySource ? "Retry source" : appendQuery.pagination.hasNextPage ? "Retry" : "Reload rows"
56663
- }
56664
- ) : appendQuery.pagination.hasNextPage || scrollPagination.error ? /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex min-w-0 max-w-full flex-wrap gap-0", children: [
56647
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex min-w-0 max-w-full flex-wrap gap-0", children: [
56665
56648
  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
56666
56649
  Button,
56667
56650
  {
56668
56651
  type: "button",
56669
56652
  variant: "outline",
56670
56653
  className: "h-8 px-3 text-sm",
56671
- disabled: isLoading || isFetching,
56654
+ disabled: isLoading || isFetching || Boolean(appendQuery.pagination.loadAll?.isLoading) || Boolean(scrollPagination.error) || !appendQuery.pagination.hasNextPage,
56672
56655
  onClick: () => void scrollPagination.requestNextPage(),
56673
56656
  children: "Load more"
56674
56657
  }
@@ -56679,12 +56662,31 @@ function MatrxDataTableCore(coreProps) {
56679
56662
  type: "button",
56680
56663
  variant: "ghost",
56681
56664
  className: "h-8 px-3 text-sm",
56682
- disabled: isLoading || isFetching,
56665
+ disabled: isLoading || isFetching || Boolean(appendQuery.pagination.loadAll?.isLoading) || Boolean(scrollPagination.error) || !appendQuery.pagination.hasNextPage,
56683
56666
  onClick: appendQuery.pagination.loadAll.request,
56684
56667
  children: "Load all"
56685
56668
  }
56686
56669
  ) : null
56687
- ] }) : !isLoading && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? /* @__PURE__ */ (0, import_jsx_runtime58.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
56670
+ ] }),
56671
+ appendQuery.pagination.loadAll?.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
56672
+ Button,
56673
+ {
56674
+ type: "button",
56675
+ variant: "outline",
56676
+ className: "h-8 shrink-0 px-3 text-sm",
56677
+ onClick: appendQuery.pagination.loadAll.stop,
56678
+ children: "Stop loading"
56679
+ }
56680
+ ) : scrollPagination.error ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
56681
+ Button,
56682
+ {
56683
+ type: "button",
56684
+ variant: "outline",
56685
+ className: "h-8 shrink-0 px-3 text-sm",
56686
+ onClick: appendQuery.pagination.retrySource ?? (appendQuery.pagination.hasNextPage ? appendQuery.pagination.loadNextPage : appendQuery.pagination.refresh),
56687
+ children: appendQuery.pagination.retrySource ? "Retry source" : appendQuery.pagination.hasNextPage ? "Retry" : "Reload rows"
56688
+ }
56689
+ ) : !isLoading && appendQuery.pagination.totalItems !== void 0 && data.length === appendQuery.pagination.totalItems ? /* @__PURE__ */ (0, import_jsx_runtime58.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
56688
56690
  ]
56689
56691
  }
56690
56692
  ) : embedded && !hidePagination && !drillGrouped && (localProgressiveEnabled || pageCount <= 1 || remoteQuery?.mode === "controlled") ? (