@vegastack/design 0.7.7 → 0.7.9
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.9",
|
|
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": {
|
|
@@ -102,8 +102,8 @@ A component's name undersells it. Before composing something by hand, check this
|
|
|
102
102
|
| `SearchableSelect` | The Select-shaped search picker, with `clearable`. `multiple` for several values; `remote` plus `useAsyncSearch` hands search and paging to your server. |
|
|
103
103
|
| `Item` | A link tile with `render={<a />}`; `ItemGroup` gives a set of items list semantics. |
|
|
104
104
|
| `DialogContent` · `SheetContent` | `size`: `sm · default · lg · xl` (a side sheet). Never a width class. |
|
|
105
|
-
| `DataList` | Per-column `mobile` (`merge` · `visible` · `hidden`) and `
|
|
106
|
-
| `DataList` paging and rows | `loadMore` for keyset paging, `getRowHref` for rows that are links, `sections` + `getRowSection` for collapsible groups, and `rowActionsColumn` for a per-row menu.
|
|
105
|
+
| `DataList` | Per-column `mobile` (`merge` · `visible` · `hidden`), `minWidth`, and `mergedRender` so a merged value keeps its context (`4 to review`), `mergedLayout="line"` for one compact meta line. `DataGrid` adds editing, multi-key sort and a column picker; `Table` is static markup. |
|
|
106
|
+
| `DataList` paging and rows | `loadMore` for keyset paging, `getRowHref` for rows that are links, `rowProps` for `data-*` and a `highlighted` new row, `sections` + `getRowSection` for collapsible groups, and `rowActionsColumn` for a per-row menu. |
|
|
107
107
|
| `LoadMore` · `useAsyncSearch` | The Load more footer of a keyset list (keeps its width while loading, "Try again", an end caption) · the server-search engine: debounce, dropped stale responses, cursor paging. |
|
|
108
108
|
| `SortableList` | `layout="grid"` reorders tiles as well as rows. |
|
|
109
109
|
| `FilterBar` / `FilterBuilder` | `FilterBar` is a flat chip row with search, and `FilterBarFacet` is a "Status: Open" facet on `SearchableSelect` (single or `multiple`, local or `remote`); `FilterBuilder` (the `filter-bar-managed` item) edits a nested and/or tree over your field vocabulary. All controlled. |
|
|
@@ -112,14 +112,14 @@ A component's name undersells it. Before composing something by hand, check this
|
|
|
112
112
|
| `ActionBar` | The docked bar for bulk selection ("5 selected"), unsaved changes and batch progress. |
|
|
113
113
|
| `TruncatedText` · `IconText` · `TableCellText` | Overflow detection, hover and keyboard reveal, and tap-to-toggle on touch. |
|
|
114
114
|
| `RelativeTime` | `mode="ago"` ("3 minutes ago") or `mode="day"` ("Yesterday"). |
|
|
115
|
-
| `EditableCell` · `AutoSaveInput` · `useInlineEdit` | Click-to-edit in a table · a field that saves as you type, with its status · the hook `EditableCell` is built on.
|
|
115
|
+
| `EditableCell` · `AutoSaveInput` · `useInlineEdit` | Click-to-edit in a table (`wrap` + `flush` for a page title) · a field that saves as you type, with its status · the hook `EditableCell` is built on. |
|
|
116
116
|
| `AttachmentGroup` · `Dropzone` · `useFileDrop` | A file list with per-file state · a drop target · the drop and paste engine. |
|
|
117
117
|
| `PageHeader` | Title, description, `breadcrumb`, a back link (`backHref`) and `actions`. |
|
|
118
118
|
| `MultiStepForm` · `Stepper` · `Questionnaire` · `Tabs` | A form in steps · progress display (`navigable` on request) · one question at a time · peer regions. |
|
|
119
119
|
| `NativeSelect` | The platform `<select>`, so a touch device opens its own picker. |
|
|
120
|
-
| `Board` | A column's `lockedReason` explains why it cannot take a card.
|
|
121
|
-
| `AudioPlayer` | `mediaRef` to drive playback, a transcript button and a waveform; `docked` pins it to the bottom of a scroll column, `onOpenChange` adds its close button,
|
|
122
|
-
| `Tabs` | `TabsList variant="line"` and `Tabs orientation="vertical"`.
|
|
120
|
+
| `Board` | A column's `lockedReason` explains why it cannot take a card; `itemLinkRender` is a template, the card's `href` wins. |
|
|
121
|
+
| `AudioPlayer` | `mediaRef` to drive playback, a transcript button and a waveform; `docked` pins it to the bottom of a scroll column, `onOpenChange` adds its close button, `actionsRef` seeks it, and `onSourceExpired` renews an expired signed URL once. |
|
|
122
|
+
| `Tabs` | `TabsList variant="line"` and `Tabs orientation="vertical"`; route tabs draw a `nav` from `tabsListVariants` and `tabsTriggerVariants`, which need no `data-orientation`. |
|
|
123
123
|
| `MessageScroller` | `defaultScrollPosition` (`start` · `end` · `last-anchor`), `scrollToMessage` from `useMessageScroller()`, and `useMessageScrollerVisibility()`. |
|
|
124
124
|
|
|
125
125
|
### Which component for X
|
|
@@ -214,7 +214,8 @@ import { cn, proseClassName } from "@vegastack/design";
|
|
|
214
214
|
`MarkdownView` and `TextEdit` both wear it, so they render identical typography. It is expressed as
|
|
215
215
|
descendant rules (`[&_h1]:…`), which means an element-level class on a child **loses** to it
|
|
216
216
|
(specificity (0,1,0) against (0,1,1)) — restyle by composing `prose` (the per-element record), never
|
|
217
|
-
by setting a class on the rendered element.
|
|
217
|
+
by setting a class on the rendered element. Under the page's own headings, `MarkdownView headingOffset={n}` moves every
|
|
218
|
+
heading down `n` levels (capped at h6) so the outline never skips back up.
|
|
218
219
|
|
|
219
220
|
`muted`, `accent` and `secondary` share one value in this base, and all three are kept: name the one
|
|
220
221
|
whose ROLE you mean, so a consumer can retune one without moving the others.
|