@ai-matrx/design-system 0.1.0 → 0.2.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,63 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.0 — 2026-08-29
4
+
5
+ The associations-W4 growth wave (ruling C18: the faces' chrome comes from
6
+ growing this package — never vendored twins) plus the small-package register
7
+ rows that ride design-system (S16–S21). Every component is a verbatim
8
+ behavior port from matrx-frontend with only its coupling seams inverted.
9
+
10
+ New components (origin file in matrx-frontend):
11
+
12
+ - `Input`, `EnterInput`, `BasicInput`, `InputWithPrefix` — `components/ui/input.tsx`.
13
+ The host's `MatrxVariant` became the structural `InputVariant` union. The
14
+ original file's `CopyInput`/`FancyInput`/`DeleteInput` are deliberately NOT
15
+ absorbed (C8): they carry a `motion/react` dependency plain-Input consumers
16
+ must not pay for.
17
+ - `Popover`, `PopoverTrigger`, `PopoverAnchor`, `PopoverContent` —
18
+ `components/ui/popover.tsx`. The host's `useNestedPortalContainer` hook
19
+ became the injected `PortalContainerProvider` / `usePortalContainer` seam;
20
+ the explicit `container` prop keeps top priority.
21
+ - `Sheet` family (+ `sheetVariants`) — `components/ui/sheet.tsx`. The host
22
+ dialog module's `DialogContentPrimitive` is inlined as a private equivalent;
23
+ `RadixDialogModalProvider`/`useRadixDialogModal` ported verbatim from
24
+ `components/ui/radix-dialog-modal-context.tsx`; `treeContainsComponent`
25
+ stays the one `@ai-matrx/kit/react-tree` implementation (new peer).
26
+ - `Skeleton` — `components/ui/skeleton.tsx`.
27
+ - `EditableLabel` (S16) — `components/official/item/EditableLabel.tsx`, with
28
+ its prop types carried along instead of the host item-system `types.ts`.
29
+ - `SegmentedControl` (S17) — `components/ui/segmented-control.tsx`.
30
+ - `ScoreRing` + `scoreRingColorClasses` / `scoreAccentBgClasses` /
31
+ `DEFAULT_SCORE_THRESHOLDS` (S18) — `components/official/ScoreRing.tsx`.
32
+ The score→color thresholds are the product and port unchanged.
33
+ - `BottomSheet` family + `TabbedBottomSheet` (S19) —
34
+ `components/official/bottom-sheet/`. `vaul` is a sanctioned real dependency
35
+ (see FEATURE.md); the host drawer wrappers it needed are inlined privately.
36
+ - `OverflowToolbar` (S20) — `components/official/toolbar/OverflowToolbar.tsx`.
37
+ `LucideIcon` became the structural `ToolbarIcon`; the host Tooltip and
38
+ ItemMenu became the injected `renderTooltip` / `renderOverflowMenu` seams.
39
+ - `useScrollFade` (S21) — `components/official/scroll-fade/useScrollFade.ts`.
40
+
41
+ All icons the originals drew through lucide-react / @radix-ui/react-icons are
42
+ shipped as package-inlined SVGs of the same glyphs (policy C19 — no
43
+ icon-library dependency, ever).
44
+
45
+ Packaging (2026-08-29 authoring rules):
46
+
47
+ - Dual ESM + CJS output with matching `.d.ts`/`.d.cts`; the packed-tarball
48
+ canary now imports AND requires the public surface.
49
+ - The `"use client"` boundary is stamped via the tsup banner (treeshake off so
50
+ it survives) and asserted on both built entries from the packed tarball.
51
+
52
+ New dependencies: `@radix-ui/react-dialog`, `@radix-ui/react-popover`,
53
+ `@radix-ui/react-visually-hidden`, `vaul`; new peer: `@ai-matrx/kit` (>=0.5.1).
54
+
55
+ ## 0.1.1 — 2026-08-22
56
+
57
+ - Preserved the package-level `"use client"` boundary in the built ESM entry so
58
+ Next.js consumers classify the bundled Radix/React primitives correctly.
59
+ - Added a packed-tarball assertion for that boundary.
60
+
3
61
  ## 0.1.0 — 2026-08-22
4
62
 
5
63
  - Added Button, Badge, Label, Separator, and `cn` as the first shared semantic UI foundation.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @ai-matrx/design-system
2
2
 
3
- The small, semantic UI foundation shared by AI Matrx React applications. Version 0.1 contains the first primitives whose behavior and variants are identical across Vite and Next.js hosts: Button, Badge, Label, Separator, and the `cn` utility.
3
+ The small, semantic UI foundation shared by AI Matrx React applications primitives whose behavior and variants are identical across Vite and Next.js hosts. Version 0.2 ships Button, Badge, Label, Separator, the Input family, Popover, Sheet, Skeleton, EditableLabel, SegmentedControl, ScoreRing, BottomSheet + TabbedBottomSheet, OverflowToolbar, the `useScrollFade` hook, and the `cn` utility.
4
4
 
5
5
  ```bash
6
6
  pnpm add @ai-matrx/design-system
@@ -13,7 +13,9 @@ import { Badge, Button } from "@ai-matrx/design-system";
13
13
  <Badge variant="success">Ready</Badge>
14
14
  ```
15
15
 
16
- The package intentionally does not ship product colors. Hosts define the normal Tailwind semantic tokens (`primary`, `background`, `border`, `muted`, `success`, and `warning`), so one component follows each product's theme without forking behavior.
16
+ The package intentionally does not ship product colors. Hosts define the normal Tailwind semantic tokens (`primary`, `background`, `border`, `muted`, `success`, and `warning`), so one component follows each product's theme without forking behavior. A few ported components additionally reference host-owned CSS contracts and degrade gracefully without them: the glass tokens/utilities used by the BottomSheet family, the `.matrx-scroll-fade` styling for `useScrollFade`, and the `shadow-input` utility.
17
+
18
+ Host-shaped systems are injected, never imported: wrap subtrees in `PortalContainerProvider` to point nested Popover portals at a dialog or popout body, and hand `OverflowToolbar` your menu and tooltip systems through its `renderOverflowMenu` / `renderTooltip` props. `@ai-matrx/kit` (>= 0.5.1) is a peer dependency.
17
19
 
18
20
  Tailwind CSS v4 ignores `node_modules` by default. Registry consumers must register the package build beside their Tailwind import:
19
21