@vegastack/design 0.7.19 → 0.7.20
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vegastack/design",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.20",
|
|
4
4
|
"description": "VegaStack design system — cn utility, icon runtime, Tailwind v4 preset, and the vegastack-design CLI (tokens ship separately as @vegastack/design-tokens)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -85,10 +85,10 @@ link` (upstream's set, verbatim). `destructive` is a soft tint, not a solid red
|
|
|
85
85
|
filters" wired to the FilterBar's `onClear`) — never hand-roll empty markup.
|
|
86
86
|
- **List toolbars are one recipe** — `FilterBar`: search (~320px) left; right, the Filters (n)
|
|
87
87
|
toggle, then views as `Tabs` (default variant, `TabsList size="sm"`, optional leading icons), then
|
|
88
|
-
the layout switch
|
|
88
|
+
the layout switch (`ViewToggle`), furthest right. Filters are `FilterBarFacet` /
|
|
89
89
|
`DateRangeFilter` chips (compact, rounded-md, tinted when set) on the toggled row; people facets
|
|
90
|
-
take `itemToSecondaryLabel={(p) => p.email}`. Use Tabs for scope/views,
|
|
91
|
-
List
|
|
90
|
+
take `itemToSecondaryLabel={(p) => p.email}`. Use Tabs for scope/views, `ViewToggle` for
|
|
91
|
+
Grid | List | Board. Tables are `DataList` with `sortable` columns (`compare`, `sortFirst`,
|
|
92
92
|
`sortMode="client"`) and `rowActions` (the ⋯ column, always last); row links are never underlined.
|
|
93
93
|
- **`alert`** for an in-content notice — `variant` is `default · destructive · success · warning ·
|
|
94
94
|
info`, each an ink on the `card` surface with a required icon; **`announcement-banner`** only for
|
|
@@ -169,6 +169,14 @@ A component's name undersells it. Before composing something by hand, check this
|
|
|
169
169
|
for its processing state (progress, or an error with its reason and Retry inline). The body is
|
|
170
170
|
default `Tabs` stretched full width (`TabsList className="w-full"`) with `useTabsSwipe` on the
|
|
171
171
|
panels, and no cards around the panels.
|
|
172
|
+
- **A list page with a grid, list or board view** → one `DataList` with `view` + `onViewChange`
|
|
173
|
+
(it mounts `ViewToggle` in the `FilterBar` `view` slot and remembers the view for the session) and
|
|
174
|
+
`views` for the ones the page allows. The grid renders a `MediaCard` per row (whole card is the
|
|
175
|
+
link, ⋯ on hover/focus/touch) with `sections` as headings; `view="board"` makes `sections` Board
|
|
176
|
+
lanes with `onMove` and a per-section `loading` / `loadMore` / `emptyState`. Record images are a
|
|
177
|
+
column `thumbnail` + `thumbnailFallback` (the app mark) — never a hand-rolled card grid, card or
|
|
178
|
+
`<img>`. A count needing attention is `<Badge variant="warning"><TriangleAlert />n</Badge>`, and
|
|
179
|
+
groups in a ⋯ menu are split by `{ type: "separator" }` entries.
|
|
172
180
|
- **A list that pages by cursor** → `DataList` `loadMore` (or `LoadMore` under your own list), with
|
|
173
181
|
`useAsyncSearch` when the search runs on the server.
|
|
174
182
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<!-- GENERATED — do not hand-edit. Regenerated from the design system's component contract,
|
|
4
4
|
which is the authority for membership and counts. -->
|
|
5
5
|
|
|
6
|
-
**
|
|
6
|
+
**121 components**, plus 467 animated-icon items, 13 hooks (`use-animation-replay`, `use-announcer`, `use-async-search`, `use-drag-reorder`, `use-file-drop`, `use-inline-edit`, `use-list-nav`, `use-media-query`, `use-mobile`, `use-modal-inert`, `use-overflow`, `use-platform`, `use-tabs-swipe`), 10 starter blocks (`app-shell-01`, `board-01`, `command-search-01`, `list-page-01`, `login-01`, `notifications-01`, `review-split-01`, `settings-01`, `settings-02`, `status-pages-01`), 68 chart blocks across 7 families, and 3 data libs (`date-time`, `geo-data`, `drag-item`) — 682 registry items in total.
|
|
7
7
|
|
|
8
8
|
Install any of them with `shadcn add @vegastack/<name>`. Animated icons install as
|
|
9
9
|
`@vegastack/icon-<name>`; the bare name is reserved for components, so a component whose name
|
|
@@ -85,8 +85,11 @@ starts with `icon-` is a component and never an icon.
|
|
|
85
85
|
- **`filter-bar`** — The two-row toolbar above a list or table — search (~320px) left; a Filters (n) toggle, scope Tabs and the view switch right; compact rounded-md filter chips (FilterBarFacet, DateRangeFilter with presets) on a toggled row 12px below that scrolls sideways on a phone.
|
|
86
86
|
- **`filter-bar-managed`** — The controlled nested and/or filter builder — host-injected field grammar (vocabulary + per-type value editors), depth and condition caps, focus-managed removal, and a removable FilterChip summary.
|
|
87
87
|
- **`load-more`** — The shared Load more footer for keyset lists — an outline button that keeps its width while loading, an error line with Try again, and an optional end caption.
|
|
88
|
+
- **`media-card`** — A record as a card — an image, the title, a meta line, a badge and a ⋯ menu — where the whole card is one link.
|
|
88
89
|
- **`property-list`** — Record-facts rows: an icon+label column beside a value column, as an accessible definition list.
|
|
89
90
|
- **`sortable-list`** — Reorderable rows or tiles on ItemGroup/Item via use-drag-reorder — pointer drag with drop indicators, keyboard move mode, a lossless row menu, locked rows, inline actions, a grid layout, and server-refusable moves. Controlled; the host owns the order.
|
|
91
|
+
- **`thumbnail`** — A small rounded, cover-fit image, 32 or 48px, with a fallback for records that have no image.
|
|
92
|
+
- **`view-toggle`** — The Grid | List | Board icon switch for a list page, labels hidden on a phone.
|
|
90
93
|
|
|
91
94
|
## Overlay
|
|
92
95
|
|