@ai-matrx/design-system 0.86.351 → 0.86.353
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 +19 -0
- package/dist/desktop.cjs +23 -9
- package/dist/desktop.cjs.map +1 -1
- package/dist/desktop.css +20 -0
- package/dist/desktop.d.cts +16 -4
- package/dist/desktop.d.ts +16 -4
- package/dist/desktop.js +23 -9
- package/dist/desktop.js.map +1 -1
- package/dist/index.cjs +19 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +778 -775
- package/dist/index.d.ts +778 -775
- package/dist/index.js +19 -9
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.86.353
|
|
4
|
+
|
|
5
|
+
- Test-only: `chip-geometry.test.tsx` now pins the tone selector `:is(.matrx-control-chip, .matrx-tile, .matrx-tile-icon)` that 0.86.351 widened for `Tile iconTone`; the isolation check failed on the stale two-member pattern. No consumer action required.
|
|
6
|
+
|
|
7
|
+
## 0.86.352
|
|
8
|
+
|
|
9
|
+
SOURCE CHANGED WITH NO RELEASE NOTE. This release shipped source changes that nobody described in an Unreleased entry,
|
|
10
|
+
so they may include breaking API changes. Consumer action is UNKNOWN: read the diff before upgrading.
|
|
11
|
+
Diff: `git diff e79e8f43fa f0db3b8d0a -- apps/shared/design-system/src`
|
|
12
|
+
|
|
13
|
+
Changed shipped source files (6):
|
|
14
|
+
- `apps/shared/design-system/src/desktop/desktop.css`
|
|
15
|
+
- `apps/shared/design-system/src/desktop/index.ts`
|
|
16
|
+
- `apps/shared/design-system/src/desktop/layout.tsx`
|
|
17
|
+
- `apps/shared/design-system/src/desktop/sheet.tsx`
|
|
18
|
+
- `apps/shared/design-system/src/desktop/table-filter.tsx`
|
|
19
|
+
- `apps/shared/design-system/src/desktop/table.tsx`
|
|
20
|
+
|
|
3
21
|
## 0.86.351
|
|
4
22
|
|
|
23
|
+
- Every contact value (`ContactValue`, `PhoneValue`, `EmailValue`, `AddressValue`, `UrlValue`, `SocialHandleValue`) gains `about`: peek blocks from the host (where the value was found, its answer) drawn inside the value's ONE peek, before Actions — so a host never wraps the value in a second peek. Additive; no consumer action required.
|
|
5
24
|
- New `Checklist`, `ChecklistItem`, `ChecklistMark` and `ChecklistMeter` controls: a status-marked list of conditions with a segmented progress meter and one action slot per row. Additive; no consumer action required.
|
|
6
25
|
- `Tile` gains `iconTone` (a `ChipTone`): the icon alone becomes a 28px colored square while the card stays neutral — a grid of actions where each job keeps its hue. Additive; no consumer action required.
|
|
7
26
|
|
package/dist/desktop.cjs
CHANGED
|
@@ -2393,7 +2393,7 @@ var DialogContent2 = React14.forwardRef(function DialogContent3({ className, sho
|
|
|
2393
2393
|
function DialogHeader2({ className, ...props }) {
|
|
2394
2394
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogHeader, { className: cn("gap-1 space-y-0 pr-0 text-left sm:text-left", className), ...props });
|
|
2395
2395
|
}
|
|
2396
|
-
function DialogBody({ className, children, ...props }) {
|
|
2396
|
+
function DialogBody({ className, children, minHeight, ...props }) {
|
|
2397
2397
|
const ref = React14.useRef(null);
|
|
2398
2398
|
const [overflowing, setOverflowing] = React14.useState(false);
|
|
2399
2399
|
React14.useLayoutEffect(() => {
|
|
@@ -2407,7 +2407,7 @@ function DialogBody({ className, children, ...props }) {
|
|
|
2407
2407
|
for (const child of Array.from(el.children)) observer.observe(child);
|
|
2408
2408
|
return () => observer.disconnect();
|
|
2409
2409
|
}, [children]);
|
|
2410
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { ref, "data-slot": "sheet-body", "data-overflowing": overflowing ? "" : void 0, className: cn("flex min-h-0 flex-col gap-4", className), ...props, children });
|
|
2410
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { ref, "data-slot": "sheet-body", "data-min-height": minHeight, "data-overflowing": overflowing ? "" : void 0, className: cn("flex min-h-0 flex-col gap-4", className), ...props, children });
|
|
2411
2411
|
}
|
|
2412
2412
|
function DialogFooter2({ className, ...props }) {
|
|
2413
2413
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogFooter, { className: cn("flex-row justify-end gap-2 space-x-0 bg-content pt-1 sm:gap-2 sm:space-x-0", className), ...props });
|
|
@@ -2995,6 +2995,7 @@ function holdsElements(children) {
|
|
|
2995
2995
|
}
|
|
2996
2996
|
function Notices({ children, className, onHeight, ...props }) {
|
|
2997
2997
|
const stack = React16.useRef(null);
|
|
2998
|
+
const parent = React16.useContext(NoticeStackContext);
|
|
2998
2999
|
const [registry3] = React16.useState(createNoticeRegistry);
|
|
2999
3000
|
const layout = useNoticeStackLayout(registry3);
|
|
3000
3001
|
const drawn = layout.total > 0;
|
|
@@ -3012,6 +3013,7 @@ function Notices({ children, className, onHeight, ...props }) {
|
|
|
3012
3013
|
onHeight(0);
|
|
3013
3014
|
};
|
|
3014
3015
|
}, [onHeight, drawn]);
|
|
3016
|
+
if (parent) return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, { children });
|
|
3015
3017
|
if (!holdsElements(children)) return null;
|
|
3016
3018
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3017
3019
|
"div",
|
|
@@ -3025,10 +3027,21 @@ function Notices({ children, className, onHeight, ...props }) {
|
|
|
3025
3027
|
className: cn("flex flex-col items-stretch gap-2 empty:hidden", className),
|
|
3026
3028
|
...props,
|
|
3027
3029
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(NoticeStackContext.Provider, { value: registry3, children: [
|
|
3028
|
-
layout.folded > 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3030
|
+
layout.folded > 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3031
|
+
Button,
|
|
3032
|
+
{
|
|
3033
|
+
type: "button",
|
|
3034
|
+
"data-slot": "notices-more",
|
|
3035
|
+
variant: "plain",
|
|
3036
|
+
size: "sm",
|
|
3037
|
+
className: "order-first self-end rounded-full px-2 py-0.5",
|
|
3038
|
+
onClick: () => registry3.expand(),
|
|
3039
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Text, { variant: "caption", tone: "secondary", children: [
|
|
3040
|
+
layout.folded,
|
|
3041
|
+
" more"
|
|
3042
|
+
] })
|
|
3043
|
+
}
|
|
3044
|
+
) : null,
|
|
3032
3045
|
children
|
|
3033
3046
|
] })
|
|
3034
3047
|
}
|
|
@@ -5730,13 +5743,13 @@ function TableFilterTokens({ columns, state, onChange }) {
|
|
|
5730
5743
|
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RemovableTag, { "data-table-filter-token": column.key, className: "shrink-0", removeLabel: `Remove the ${name} filter`, onRemove: () => onChange(setValues(state, column.key, [])), children: `${name}: ${labels.join(", ")}` }, column.key);
|
|
5731
5744
|
}) });
|
|
5732
5745
|
}
|
|
5733
|
-
function TableFilterBar({ columns, rows, state, onChange, shown, label }) {
|
|
5746
|
+
function TableFilterBar({ columns, rows, state, onChange, shown, label, noun }) {
|
|
5734
5747
|
const searchable = columns.some((c) => c.search);
|
|
5735
5748
|
const active = filterActive(state);
|
|
5736
5749
|
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { "data-slot": "data-table-filter-bar", className: "flex h-table-filter-bar shrink-0 items-center gap-2 border-b border-separator px-3", children: [
|
|
5737
5750
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex min-w-0 flex-1 items-center gap-1.5 overflow-hidden", children: [
|
|
5738
5751
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(TableFilterTokens, { columns, state, onChange }),
|
|
5739
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text, { tone: "secondary", className: "shrink-0 tabular-nums", "data-table-filter-count": shown, children: active ? `${shown} of ${rows.length}` : `${rows.length}` })
|
|
5752
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text, { tone: "secondary", className: "shrink-0 tabular-nums", "data-table-filter-count": shown, children: `${active ? `${shown} of ${rows.length}` : `${rows.length}`}${noun ? ` ${rows.length === 1 ? noun[0] : noun[1]}` : ""}` })
|
|
5740
5753
|
] }),
|
|
5741
5754
|
searchable ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
5742
5755
|
SearchField,
|
|
@@ -5849,6 +5862,7 @@ function DataTable({
|
|
|
5849
5862
|
onFilterStateChange,
|
|
5850
5863
|
defaultFilter,
|
|
5851
5864
|
filterBar = true,
|
|
5865
|
+
noun,
|
|
5852
5866
|
className,
|
|
5853
5867
|
"aria-label": ariaLabel,
|
|
5854
5868
|
columns: allColumns,
|
|
@@ -6039,7 +6053,7 @@ function DataTable({
|
|
|
6039
6053
|
}
|
|
6040
6054
|
};
|
|
6041
6055
|
const contextItems = menuRow !== null && rowContextMenu ? rowContextMenu(menuRow) ?? null : null;
|
|
6042
|
-
const bar = filterable && filterBar && givenRows.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TableFilterBar, { columns: allColumns, rows: givenRows, state: filter, onChange: setFilter, shown: rows.length, label: ariaLabel.toLowerCase() }) : null;
|
|
6056
|
+
const bar = filterable && filterBar && givenRows.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TableFilterBar, { columns: allColumns, rows: givenRows, state: filter, onChange: setFilter, shown: rows.length, label: ariaLabel.toLowerCase(), noun }) : null;
|
|
6043
6057
|
const framed = (body) => bar ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
6044
6058
|
"div",
|
|
6045
6059
|
{
|